Просмотр исходного кода

todo test - force table acl by ldap group id ?

a.binder 8 лет назад
Родитель
Сommit
ec5c82de95

+ 46 - 0
SE/bash_Route_Users_Task_syncGroup.php

@@ -0,0 +1,46 @@
+<?php
+/**
+ * 2017-08-16 by a.binder - sync group get name to use in default group A_CLASSIFIED/A_ADM_COMPANY in instalation task
+ * index.php?_route=Users&_task=syncGroup&idGroup=$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];
+	$idGroup = $_SERVER["argv"][2];
+}
+
+else {
+	die("\n The second argument should be server domain - e.g. biuro.biall-net.pl and third idGroup e.g. 3 \n");
+}
+
+Lib::loadClass('Router');
+			$usrStorageDB = UserStorageFactory::getStorage('DB');
+			$usrStorageLdap = UserStorageFactory::getStorage('MacOSX');
+			$forceSync = 1;
+Router::getRoute('Users')->syncGroup($idGroup,$usrStorageDB,$usrStorageLdap,$forceSync);
+
+die(".EOF - OK\n");
+
+?>

+ 50 - 0
SE/bash_force_classified_table_by_GroupID.php

@@ -0,0 +1,50 @@
+<?php
+/**
+ * 2017-08-16 by a.binder - force A_CLASSIFIED/A_ADM_COMPANY by GroupID - use for single table
+ * 
+ *
+ */
+
+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');
+Lib::loadClass('UsersLdapHelper');
+
+
+if (isset($_SERVER["argv"][3])) {
+	$_SERVER['SERVER_NAME'] = $_SERVER["argv"][1];
+	$groupID = $_SERVER["argv"][2];
+	$Table = $_SERVER["argv"][3];
+}
+
+else {
+	die("\n The second argument should be server domain - e.g. biuro.biall-net.pl and third idGroup e.g. 3,  and last should be table name e.g. CRM_PROCES \n");
+}
+
+$groupsNetwork=UsersLdapHelper::getGroupsByID($groupID);
+$groupsNetwork=$groupsNetwork[1]->cn;
+	foreach ($groupsNetwork as $vGroup) {
+		echo "Will try to update table ".$Table." set A_CLASSIFIED='".$vGroup->appleUID;."', A_ADM_COMPANY='".$vGroup->appleUID;."' ; ";
+	}
+
+print_r($groupsNetwork);
+
+die(".EOF - OK\n");
+
+?>

+ 16 - 2
SE/superedit-INSTALL_SES_PROCESY_A.php

@@ -1565,6 +1565,10 @@ function INSTALL_GETCOMMANDS_SE($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNA
   
   $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/');
+  $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/bash_Route_Users_Task_syncGroup.php || echo PASSED';
+  $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_Route_Users_Task_syncGroup.php','/Library/Server/Web/Data/Sites/Default/SE/');
+  $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/bash_force_classified_table_by_GroupID.php || echo PASSED';
+  $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_force_classified_table_by_GroupID.php','/Library/Server/Web/Data/Sites/Default/SE/');
 
 
 
@@ -2047,8 +2051,10 @@ database=\"SES_USERS2\"
 
  $cmd[]['rsh']=' echo " update CRM_LISTA_ZASOBOW set \\`DESC\\`=\''.$SERVER_ADDRESS.'\' where \\`DESC\\`=\'biuro.biall-net.pl\' and \\`TYPE\\`=\'SERWER\' and ID=1 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //poprawa danych z referencyjnej bazy BIALL-NET
  $cmd[]['rsh']=' echo " update CRM_LISTA_ZASOBOW set \\`DESC\\`=\''.$REMOTE_FOLDER_ROOT.'\' where \\`DESC\\`=\'SES_USERS2\' and \\`TYPE\\`=\'BAZA_DANYCH\' and ID=2 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //poprawa danych z referencyjnej bazy BIALL-NET
- $cmd[]['rsh']=' echo " insert ignore into CRM_LISTA_ZASOBOW (ID, \\`DESC\\`, \\`TYPE\\`) VALUES(2, \'BAZA_DANYCH\', \'BAZA_DANYCH\') " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; // create Zasob ID=2 if missing
- $cmd[]['rsh']=' echo " insert ignore into CRM_LISTA_ZASOBOW (\\`PARENT_ID\\`, \\`DESC\\`, \\`TYPE\\`,\\`A_STATUS\\`) VALUES(0, \''.$REMOTE_FOLDER_ROOT.'\', \'PODMIOT\',\'NORMAL\') " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; // create default group for process data
+ $cmd[]['rsh']=' echo " insert ignore into CRM_LISTA_ZASOBOW (\\`ID\\`, \\`DESC\\`, \\`TYPE\\`) VALUES(2, \'BAZA_DANYCH\', \'BAZA_DANYCH\') " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; // create Zasob ID=2 if missing
+
+ $cmd[]['rsh']=' echo " insert ignore into CRM_LISTA_ZASOBOW (\\`ID\\`,\\`PARENT_ID\\`, \\`DESC\\`, \\`TYPE\\`,\\`A_STATUS\\`) VALUES(3,0, \''.$REMOTE_FOLDER_ROOT.'\', \'PODMIOT\',\'NORMAL\') " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; // create default group for process data
+ $cmd[]['rsh']='php /Library/Server/Web/Data/Sites/Default/SE/bash_Route_Users_Task_syncGroup.php '.$SERVER_ADDRESS.' 3';
 
 
 
@@ -2088,7 +2094,12 @@ $cmd[]['rsh']=' echo " insert into CRM_AUTH_PROFILE (ID_ZASOB, REMOTE_TABLE,REMO
                           left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_DIRECTORY.'\'
                           where cz.\\`TYPE\\`=\'PODMIOT\' and cz.\\`DESC\\`=\''.$REMOTE_FOLDER_ROOT.'\' limit 1 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap domyslna grupa
 
+ //TODO zamienic wyzej na akcje skryptem
+ 
+ $cmd[]['rsh']='php /Library/Server/Web/Data/Sites/Default/SE/bash_force_classified_table_by_GroupID.php '.$SERVER_ADDRESS.' 3 CRM_PROCES';
+ $cmd[]['rsh']='php /Library/Server/Web/Data/Sites/Default/SE/bash_force_classified_table_by_GroupID.php '.$SERVER_ADDRESS.' 3 CRM_LISTA_ZASOBOW';
 
+ 
 $cmd[]['rsh']='php /Library/Server/Web/Data/Sites/Default/SE/bash_Route_Users_Task_syncUser.php '.$SERVER_ADDRESS.' '.$ADMIN_USERNAME_L1;
 
 
@@ -2427,6 +2438,9 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
 				$skipPhpFiles[] = 'Request.php';
 				$skipPhpFiles[] = 'BiAuditGenerate.php';
 				$skipPhpFiles[] = 'bash_Route_Users_Task_syncUser.php';
+				$skipPhpFiles[] = 'bash_Route_Users_Task_syncGroup.php';
+				$skipPhpFiles[] = 'bash_force_classified_table_by_GroupID.php';
+
 
 				$skipFilesSgencoder = (!empty($skipPhpFiles)) ? ' -x ' . implode(' -x ', $skipPhpFiles) : '';