Pārlūkot izejas kodu

fix user is always not synced in install

a.binder 8 gadi atpakaļ
vecāks
revīzija
81af7c860a

+ 46 - 0
SE/bash_Route_Users_Task_syncUser.php

@@ -0,0 +1,46 @@
+<?php
+/**
+ * 2017-08-16 by a.binder - bug first user is always not synced
+ * index.php?_route=Users&_task=syncUser&usrLogin=$argv[2]
+ *
+ */
+
+ini_set('max_execution_time', 300);
+ini_set('memory_limit', '512M');
+
+define('DS', DIRECTORY_SEPARATOR);
+define('APP_PATH_ROOT', dirname(__FILE__));
+define('APP_PATH_WWW', dirname(__FILE__));
+define('APP_PATH_CONFIG', APP_PATH_ROOT . DS . 'config');
+
+// set ini to log errors into error log file
+ini_set('display_startup_errors', '0');
+ini_set('log_errors', '1');
+ini_set('error_log', '/var/log/apache2/error_log');// TODO: php.ini ?
+
+require_once APP_PATH_ROOT . DS . 'se-lib' . DS . 'Lib.php';
+Lib::loadClass('V');
+Lib::loadClass('Config');
+Lib::loadClass('DB');
+Lib::loadClass('User');
+Lib::loadClass('UserStorageFactory');
+
+
+if (isset($_SERVER["argv"][2])) {
+	$_SERVER['SERVER_NAME'] = $_SERVER["argv"][1];
+	$usrLogin = $_SERVER["argv"][2];
+}
+
+else {
+	die("\n The second argument should be server domain - e.g. biuro.biall-net.pl and third usrLogin e.g. jan.kowalski \n");
+}
+
+Lib::loadClass('Router');
+			$usrStorageDB = UserStorageFactory::getStorage('DB');
+			$usrStorageLdap = UserStorageFactory::getStorage('MacOSX');
+			$forceSync = 1;
+Router::getRoute('Users')->syncUser($usrLogin,$usrStorageDB,$usrStorageLdap,$forceSync);
+
+die(".EOF - OK\n");
+
+?>

+ 2 - 2
SE/se-lib/Route/Users.php

@@ -874,14 +874,14 @@ class Route_Users extends RouteBase {
 		UI::dol();
 	}
 
-	public function syncUser($userName, $usrStorageDB, $usrStorageLdap) {
+	public function syncUser($userName, $usrStorageDB, $usrStorageLdap,$forceSync=null) {
 		if (empty($userName)) throw new Exception("Empty user login");
 		if (!$usrStorageDB) throw new Exception("Error storage DB not exists");
 		if (!$usrStorageLdap) throw new Exception("Error storage Ldap not exists");
 
 		$synUsers = new SyncUsers($usrStorageDB, $usrStorageLdap);
 
-		if ('1' == V::get('_runSync', '', $_POST)) {
+		if ('1' == V::get('_runSync', '', $_POST) or $forceSync) {
 			$synced = $synUsers->syncUser($userName);
 			if (!$synced) {
 				UI::alert('danger', "Nie udało się zsynchronizować uprawnień użytkownika {$userName}.");

+ 6 - 0
SE/superedit-INSTALL_SES_PROCESY_A.php

@@ -1562,6 +1562,9 @@ function INSTALL_GETCOMMANDS_SE($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNA
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/wfs-qgis.php','/Library/Server/Web/Data/Sites/Default/SE/');
   $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/wfs.php || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/wfs.php','/Library/Server/Web/Data/Sites/Default/SE/');
+  
+  $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/bash_Route_Users_Task_syncUser.php || echo PASSED';
+  $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_Route_Users_Task_syncUser.php','/Library/Server/Web/Data/Sites/Default/SE/');
 
 
 
@@ -2074,6 +2077,8 @@ database=\"SES_USERS2\"
                           left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_L1.'\'
                           where cz.\\`DESC\\` like \'KONTAKTY_view\' and cz.\\`TYPE\\`=\'TABELA\' limit 1 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
 
+$cmd[]['rsh']='php /Library/Server/Web/Data/Sites/Default/SE/bash_Route_Users_Task_syncUser.php '.$SERVER_ADDRESS.' '.$ADMIN_USERNAME_L1;
+
 
  /* @2014-03-10 these has been moved to create config_base_structure_dump.sql option - WYKONAJ_REFERENCYJNA_BAZE_DANYCH
  $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'SYNC_ZASOBY_STRUCTURES_FROM_CONFIG\'); " '.$SERVER_ADDRESS.' FILTR'; //todo pare razy trzaba powtarzac bo sa bledy
@@ -2409,6 +2414,7 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
 				$skipPhpFiles[] = 'UI.php';
 				$skipPhpFiles[] = 'Request.php';
 				$skipPhpFiles[] = 'BiAuditGenerate.php';
+				$skipPhpFiles[] = 'bash_Route_Users_Task_syncUser.php';
 
 				$skipFilesSgencoder = (!empty($skipPhpFiles)) ? ' -x ' . implode(' -x ', $skipPhpFiles) : '';