"{$nodeId}.DarkWeb.fr"
,"repo" => "private"
,"url"=> "https://{$nodeId}.DarkWeb.fr/private/"
,"title" => "Géré ce noeud"
,"path" => "/var/node/{$nodeId}/www-node/private"
,'passwd' => "/var/www/darkweb.fr/auth/htpasswd"
,'htaccess' => "/var/node/{$nodeId}/www-node/private/.htaccess"
,'htaccess_form' => "/var/node/{$nodeId}/www-node/private/.htaccess"
,'authFormProvider' =>
preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ?
str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] )
: null
,'authName' =>
preg_match( "/.*AuthName (.*)\r/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ?
str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] )
: null
);
$dirsRepoSsh=@scandir( "/diskSsh0/repos-subversion" );
if ( is_array( $dirsRepoSsh ) ) foreach( $dirsRepoSsh as $repos ) {
if ( $repos == "." || $repos == ".." ) continue;
$repositorys[]= array(
"domain" => "hidden.{$nodeId}.darkweb.fr"
,"repo" => $repos
,"path" => "/diskSsh0/repos-subversion/$repos"
,'passwd' => "/diskSsh0/repos-subversion/$repos/.passwd"
,'htaccess' => "/diskSsh0/repos-subversion/$repos/.htaccess"
,'htaccess_form' => "/diskSsh0/repos-subversion/$repos/.htaccess_form"
,'htaccess_basic' => "/diskSsh0/repos-subversion/$repos/.htaccess_basic"
,'authFormProvider' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess_form" ) &&
preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess_form" ),$found ) ?
str_replace('"','',$found[1] )
: null
,'authBasicProvider' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess_basic" ) &&
preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess_basic" ),$found ) ?
str_replace('"','',$found[1] )
: null
,'authName' => is_file( "/diskSsh0/repos-subversion/$repos/.htaccess" ) &&
preg_match( "/.*AuthName (.*)/" ,file_get_contents( "/diskSsh0/repos-subversion/$repos/.htaccess" ),$found ) ?
str_replace('"','',$found[1] )
: null
);
}
foreach( scandir( "/var/svn" ) as $domain ) {
if ( $domain == "." || $domain == ".." ) continue;
if ( $domain == "darkweb.fr" && is_dir("/var/node/{$nodeId}/svn") ) foreach( scandir( "/var/node/{$nodeId}/svn" ) as $repos ) {
if ( $repos == "." || $repos == ".." ) continue;
foreach( scandir( "/var/node/{$nodeId}/svn/{$repos}" ) as $reposOfSubDomain ) {
if ( $reposOfSubDomain == "." || $reposOfSubDomain == ".." ) continue;
if ( is_dir( "/var/node/{$nodeId}/svn/{$repos}/$reposOfSubDomain/db" ) ) {
$repository=array(
// "domain" => $repos=='darkaisse-svn' ? "$repos.$domain" : "$reposOfSubDomain.$repos.$domain"
"domain" => "{$nodeId}.{$domain}"
,"repo" => "{$repos}/{$reposOfSubDomain}/svn"
,"path" => "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}"
,"v_domain" => "{$nodeId}.{$domain}"
,"v_repos" => $repos
,"v_reposOfSubDomain" => $reposOfSubDomain
);
if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.passwd" ) )
$repository['passwd']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.passwd";
if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess" ) ) {
$repository['htaccess']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess";
$found=array();
if ( preg_match( "/.*AuthName (.*)/" ,file_get_contents( $repository['htaccess'] ),$found ) )
$repository['authName']=str_replace('"','',$found[1] );
}
if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_form" ) ) {
$repository['htaccess_form']="/var/svn/$domain/$repos/$reposOfSubDomain/.htaccess_form";
$found=array();
if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,@file_get_contents( $repository['htaccess_form'] ),$found ) )
$repository['authFormProvider']=str_replace('"','',$found[1] );
}
if ( is_file( "/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_basic" ) ) {
$repository['htaccess_basic']="/var/node/{$nodeId}/svn/{$repos}/{$reposOfSubDomain}/.htaccess_basic";
$found=array();
if ( preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_basic'] ),$found ) )
$repository['authBasicProvider']=str_replace('"','',$found[1] );
}
$repositorys[]=$repository;
}
}
}
if ( $domain == "darkweb.fr" && $nodeId!="TOQqeE6CWEWDumM4AUBkCC02F5Oou0TktIAL01I4wA3" ) continue;
if ( $domain == "darkweb.fr" ) $domain="{$nodeId}.DarkWeb.fr";
if ( is_dir( "/var/svn/$domain" ) ) foreach( scandir( "/var/svn/$domain" ) as $repos ) {
if ( $repos == "." || $repos == ".." ) continue;
if ( is_dir( "/var/svn/$domain/$repos/db" ) ) {
$repository=array(
"domain" => $domain
,"repo" => $repos
,"path" => "/var/svn/$domain/$repos"
,"v_domain" => $domain
,"v_repos" => $repos
);
if ( is_file( "/var/svn/$domain/$repos/.passwd" ) )
$repository['passwd']="/var/svn/$domain/$repos/.passwd";
if ( is_file( "/var/svn/$domain/$repos/.htaccess" ) ) {
$repository['htaccess']="/var/svn/$domain/$repos/.htaccess";
$found=array();
if ( preg_match( "/.*AuthName (.*)/" ,file_get_contents( $repository['htaccess'] ),$found ) )
$repository['authName']=str_replace('"','',$found[1] );
}
if ( is_file( "/var/svn/$domain/$repos/.htaccess_form" ) ) {
$repository['htaccess_form']="/var/svn/$domain/$repos/.htaccess_form";
$found=array();
if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_form'] ),$found ) )
$repository['authFormProvider']=str_replace('"','',$found[1] );
}
if ( is_file( "/var/svn/$domain/$repos/.htaccess_basic" ) ) {
$repository['htaccess_basic']="/var/svn/$domain/$repos/.htaccess_basic";
$found=array();
if ( preg_match( "/.*AuthBasicProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_basic'] ),$found ) )
$repository['authBasicProvider']=str_replace('"','',$found[1] );
}
$repositorys[]=$repository;
}
}
}
return $repositorys;
}
// \darkauth\db\Repositorys::NodeScanSvn( $searchUser ,$allRepositorys );
function NodeScanSvn( string $searchUser ,array $allRepositorys ) : array {
$formRepositorys = array();
$basicRepositorys = array();
if ( in_array( $searchUser ,array(
'alexandra'
,'chapuis'
) ) ) {
$formRepositorys=$allRepositorys;
$basicRepositorys=$allRepositorys;
/*
foreach( $allRepositorys as $repository ) {
if ( in_array( $repository[ 'path' ] , array(
'/diskSsh0/repos-subversion/Films'
,'/diskSsh0/repos-subversion/Musiques'
,'/diskSsh0/repos-subversion/Series'
,'/diskSsh0/repos-subversion/Windows-app'
,'/diskSsh0/repos-subversion/Windows-app-iso'
,'/diskSsh0/repos-subversion/Windows-iso'
,'/diskSsh0/repos-subversion/Windows-jeux'
,'/diskSsh0/repos-subversion/Windows-jeux-iso'
,'/var/svn/darkweb.fr/company/EI-Jeannot-Alexandra'
,'/var/svn/darkweb.fr/company/EI-Chapuis-Nicolas'
,'/var/svn/darkweb.fr/user/JeannotAlexandra'
,'/var/svn/darkweb.fr/user/ChapuisNicolas'
,'/var/svn/ajoffice.fr/EI-Guillaume-Sylvain'
,'/var/svn/arcelec.fr/Mr-Teneba-Olivier'
,'/var/svn/el-bahja.fr/EI-Debabeche-Fouad'
,'/var/svn/el-bahja.fr/EI-Debabeche-Abdel-Kader'
) ) ) {
$formRepositorys[]=$repository;
$basicRepositorys[]=$repository;
}
}
//*/
} else {
$authFormProviders = array();
$authBasicProviders = array();
//$userPassword = null;
foreach( $allRepositorys as $repository ) {
if ( isset( $repository['passwd'] ) && \darkauth\db\Users::searchUserInPasswd( $repository['passwd'] ,$searchUser ) ) {
//if ( is_null( $userPassword ) ) $userPassword = searchUserPassInPasswd( $repository['passwd'] ,$searchUser );
if ( isset( $repository['authFormProvider'] ) ) {
foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider )
if ( ! in_array( $authFormProvider ,$authFormProviders ) ) {
$authFormProviders[]=$authFormProvider;
//echo "Form:".$repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL;
}
}
if ( isset( $repository['authFormProvider'] ) ) {
foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider )
if ( ! in_array( $authFormProvider ,$authBasicProviders ) ) {
$authBasicProviders[]=$authFormProvider;
//echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL;
}
}
}
//else
// echo "no found[$searchUser] in ".$repository['path']."
\n";
}
foreach( $allRepositorys as $repository ) {
if ( isset( $repository['authFormProvider'] ) ) {
foreach( $authFormProviders as $authFormProvider ) {
if ( in_array( $authFormProvider ,explode(' ', $repository['authFormProvider'] ) ) ) {
$formRepositorys[]=$repository;
//echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL;
break;
}
}
}//else
// echo "NO PROVIDER:".$repository['path']." cause ".$authFormProvider."
".\PHP_EOL;
if ( isset( $repository['authBasicProvider'] ) ) {
foreach( $authBasicProviders as $authBasicProvider ) {
if ( in_array( $authBasicProvider ,explode(' ', $repository['authBasicProvider'] ) ) ) {
//$repository['userLOG1'] = $searchUser;
//$repository['userPASS'] = $userPassword;
$basicRepositorys[]=$repository;
//echo $repository['v_repos']." cause ".$authBasicProvider."
".\PHP_EOL;
break;
}
}
}
}
}
return array( $formRepositorys ,$basicRepositorys );
}
// \darkauth\db\Repositorys::siteWebScanAllSvn( $searchUser ,$allRepositorys );
function siteWebScanAllSvn( ) : array {
$repositorys = array();
$found=array();
$domain="ajoffice.fr";
$repositorys[]= array(
"domain" => "$domain"
,"repo" => "private"
,"url"=> "https://www.ajoffice.fr/private/"
,"title" => "Zone de la cheffe."
,"path" => "/var/bakuba/ajoffice/www/private"
,'passwd' => "/var/www/darkweb.fr/auth/htpasswd"
,'htaccess' => "/var/bakuba/ajoffice/www/private/.htaccess"
,'htaccess_form' => "/var/bakuba/ajoffice/www/private/.htaccess"
,'authFormProvider' =>
preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ?
str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] )
: null
,'authName' =>
preg_match( "/.*AuthName (.*)\r/" ,file_get_contents( "/var/bakuba/ajoffice/www/private/.htaccess" ),$found ) ?
str_replace( array( '"','\r', '\n' ) ,'' ,$found[1] )
: null
);
foreach( scandir( "/var/svn/$domain" ) as $repos ) {
if ( $repos == "." || $repos == ".." ) continue;
if ( is_dir( "/var/svn/$domain/$repos/db" ) ) {
$repository=array(
"domain" => $domain
,"repo" => $repos
,"path" => "/var/svn/$domain/$repos"
,"v_domain" => $domain
,"v_repos" => $repos
);
if ( is_file( "/var/svn/$domain/$repos/.passwd" ) )
$repository['passwd']="/var/svn/$domain/$repos/.passwd";
if ( is_file( "/var/svn/$domain/$repos/.htaccess" ) ) {
$repository['htaccess']="/var/svn/$domain/$repos/.htaccess";
$found=array();
if ( preg_match( "/.*AuthName [\"]?(.*)[\"]?/" ,file_get_contents( $repository['htaccess'] ),$found ) )
$repository['authName']=str_replace(array( '"','\r', '\n' ),'',$found[1] );
}
if ( is_file( "/var/svn/$domain/$repos/.htaccess_form" ) ) {
$repository['htaccess_form']="/var/svn/$domain/$repos/.htaccess_form";
$found=array();
if ( preg_match( "/.*AuthFormProvider [\"]?dwfrPassFile[\"]? (.*)/" ,file_get_contents( $repository['htaccess_form'] ),$found ) )
$repository['authFormProvider']=str_replace(array( '"','\r', '\n' ),'',$found[1] );
}
//echo "For :".$repository["authName"]."
".\PHP_EOL;
$repository["url"]="https://"."www.".$repository["domain"]."/svn-clients/".$repository["repo"]."/form/";
$repository["title"]=$repository["repo"];
$repositorys[]=$repository;
}
}
return $repositorys;
}
// \darkauth\db\Repositorys::siteWebScanSvn( $searchUser ,$allRepositorys );
public static function siteWebScanSvn( string $searchUser ,array $allRepositorys ) : array {
$repositorys = array();
if ( in_array( $searchUser ,array(
'alexandra'
,'chapuis'
) ) ) {
$authProviders = null;
foreach( $allRepositorys as $repository ) {
if ( in_array( $repository[ 'path' ] , array(
"/var/bakuba/ajoffice/www/private"
) ) )
$repositorys[]=$repository;
}
} else {
$authProviders = array();
foreach( $allRepositorys as $repository ) {
if ( isset( $repository['passwd'] ) && searchUserInPasswd( $repository['passwd'] ,$searchUser ) ) {
if ( isset( $repository['authFormProvider'] ) ) {
foreach( explode( ' ' ,$repository['authFormProvider'] ) as $authFormProvider )
if ( ! in_array( $authFormProvider ,$authProviders ) ) {
$authProviders[]=$authFormProvider;
//echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL;
}
}
}
//else
// echo "no found[$searchUser] in ".$repository['path']."
\n";
}
}
foreach( $allRepositorys as $repository ) {
if ( isset( $repository['authFormProvider'] ) ) {
if ( is_null( $authProviders ) ) $repositorys[]=$repository;
else foreach( $authProviders as $authFormProvider ) {
if ( in_array( $authFormProvider ,explode(' ', $repository['authFormProvider'] ) ) ) {
$repositorys[]=$repository;
//echo $repository['v_repos']." cause ".$authFormProvider."
".\PHP_EOL;
break;
}
}
}
}
return $repositorys;
}
}