Bladeren bron

fixed run Cron method from cli - auth by token

Piotr Labudda 8 jaren geleden
bovenliggende
commit
6b737ef4a9
4 gewijzigde bestanden met toevoegingen van 15 en 50 verwijderingen
  1. 6 10
      SE/bash_force_classified_table_by_GroupID.php
  2. 2 17
      SE/bash_install_check.php
  3. 2 19
      SE/bash_sync_perms.php
  4. 5 4
      SE/se-lib/Route/Cron.php

+ 6 - 10
SE/bash_force_classified_table_by_GroupID.php

@@ -1,7 +1,7 @@
 <?php
 /**
  * 2017-08-16 by a.binder - force A_CLASSIFIED/A_ADM_COMPANY by GroupID - use for single table
- * 
+ *
  *
  */
 
@@ -32,19 +32,15 @@ if (isset($_SERVER["argv"][3])) {
 	$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);
-	foreach ($groupsNetwork as $vGroup) {
-		echo "Will try to update table ".$Table." set A_CLASSIFIED='".$vGroup->cn."', A_ADM_COMPANY='".$vGroup->cn."' ; ";
-		$query = "update table `".$Table."` set `A_CLASSIFIED`='".$vGroup->cn."', `A_ADM_COMPANY`='".$vGroup->cn."' ";
-		DB::getPDO()->query($query);
-	}
-
-//print_r($groupsNetwork);
+$cronTaskName = 'forceTablePerms';
+$keyToken = 'bash_force_table_perms';
+$token = Router::getRoute('Cron')->generateCliAuthToken($keyToken, $cronTaskName, 300 * 10);
+$output = Router::getRoute('Cron')->executeCurlTastByToken($cronTaskName, $keyToken, $token, [ 'idGroup' => $groupID, 'table' => $Table ]);
+echo "DBG: output -----------------------\n{$output}\nEOF output---------------------------------\n";
 
 die(".EOF - OK\n");
 

+ 2 - 17
SE/bash_install_check.php

@@ -47,24 +47,9 @@ else {
 Lib::loadClass('Router');
 Router::getRoute('Config')->reinstall();
 $cronTaskName = 'checkInstall';
-$keyToken = 'bach_install_check';
+$keyToken = 'bash_install_check';
 $token = Router::getRoute('Cron')->generateCliAuthToken($keyToken, $cronTaskName, 300 * 10);
-$baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE";
-if ('biuro.biall-net.pl' == $_SERVER['SERVER_NAME']) $baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE/version-git";
-
-//file_get_contents("https://{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task=sendNotify");
-function runUrlTask($url) {
-	$ch = curl_init();
-	curl_setopt($ch, CURLOPT_VERBOSE, true);
-	curl_setopt($ch, CURLOPT_URL, $url);
-	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-	$return = curl_exec($ch);
-	curl_close($ch);
-	return $return;
-}
-$string = runUrlTask("{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task={$cronTaskName}}");
+$string = Router::getRoute('Cron')->executeCurlTastByToken($cronTaskName, $keyToken, $token);
 echo "DBG: string -----------------------\n{$string}\nEOF string---------------------------------\n";
 
 {

+ 2 - 19
SE/bash_sync_perms.php

@@ -469,24 +469,7 @@ class SyncPerms {
 		$keyToken = 'bach_sync_perms';
 		$token = Router::getRoute('Cron')->generateCliAuthToken($keyToken, $cronTaskName, 300 * 10);
 		echo "DBG: token = '{$token}'" . "\n";
-
-		$baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE";
-		if ('biuro.biall-net.pl' == $_SERVER['SERVER_NAME']) $baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE/version-git";
-
-		//file_get_contents("https://{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task=sendNotify");
-
-		function runUrlTask($url) {
-		  $ch = curl_init();
-		  curl_setopt($ch, CURLOPT_VERBOSE, true);
-		  curl_setopt($ch, CURLOPT_URL, $url);
-		  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-		  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-		  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-		  $return = curl_exec($ch);
-		  curl_close($ch);
-		  return $return;
-		}
-		$string = runUrlTask("{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task={$cronTaskName}");
+		$string = Router::getRoute('Cron')->executeCurlTastByToken($cronTaskName, $keyToken, $token);
 		echo "DBG: string -----------------------\n{$string}\nEOF string---------------------------------\n";
 	}
 
@@ -1927,7 +1910,7 @@ class SyncPermsCustomTables {
 
 	}
 
-	private function _getRequiredPermsExtByRecord($record) {
+	public function _getRequiredPermsExtByRecord($record) {
 		// TODO: need to check if user is correct in field L_APPOITMENT_USER
 		$requirePermsExt = array();
 		if (!$record->L_APPOITMENT_USER && !$record->A_ADM_COMPANY) {// no owner, no write group

+ 5 - 4
SE/se-lib/Route/Cron.php

@@ -72,7 +72,7 @@ class Route_Cron extends RouteBase {
 		if (!$createDateTimestamp) throw new HttpException("Unauthorized - token not found #5-" . __LINE__, 401);
 		DBG::_('DBG_CRON', '>1', 'rawToken', array('createDateTimestamp'=>$createDateTimestamp, 'ttl'=>$ttl, 'cur'=>time()), __CLASS__, __FUNCTION__, __LINE__);
 		if ($createDateTimestamp + $ttl < time()) {
-			// TODO: remove record from table?
+			// TODO: remove record from table - one time action?
 			throw new HttpException("Unauthorized - token expired #6-" . __LINE__, 401);
 		}
 
@@ -84,11 +84,13 @@ class Route_Cron extends RouteBase {
 		$_SESSION['ADM_ID'] = 9999999999;
 		DBG::_('DBG_CRON', '>1', 'rawToken', array('createDateTimestamp'=>$createDateTimestamp, 'ttl'=>$ttl, 'cur'=>time()), __CLASS__, __FUNCTION__, __LINE__);
 		$this->runTask($task);
+		exit;
 	}
 
 	public function executeCurlTastByToken($cronTaskName, $keyToken, $token, $args = []) { // @require $_SERVER['SERVER_NAME']
 		$baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE";
 		if ('biuro.biall-net.pl' == $_SERVER['SERVER_NAME']) $baseUrl = "https://{$_SERVER['SERVER_NAME']}/SE/version-git";
+		// if ('biuro.biall-net.pl' == $_SERVER['SERVER_NAME']) $baseUrl = "https://{$_SERVER['SERVER_NAME']}/dev-pl/se-master"; // DBG
 
 		//file_get_contents("https://{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task=sendNotify");
 		$url = "{$baseUrl}/index.php?_route=Cron&_key={$keyToken}&_token={$token}&_task={$cronTaskName}";
@@ -203,7 +205,6 @@ class Route_Cron extends RouteBase {
 		echo "\n.EOF\n";
 	}
 
-
 	/* @usage - inside cli script with args:
 	 *		 $cronTaskName = 'forceTablePerms';
 	 *		 $keyToken = 'bash_force_table_perms';
@@ -219,8 +220,8 @@ class Route_Cron extends RouteBase {
 		$groupsNetwork = UsersLdapHelper::getGroupsByID($idGroup);
 		if (empty($groupsNetwork)) throw new Exception("Group {$idGroup} not found");
 		foreach ($groupsNetwork as $vGroup) {
-			echo "Will try to update table ".$table." set A_CLASSIFIED='".$vGroup->cn."', A_ADM_COMPANY='".$vGroup->cn."' ;" . "\n";
-			// DB::getPDO()->execSql("update table `{$table}` set `A_CLASSIFIED`='{$vGroup->cn}', `A_ADM_COMPANY`='{$vGroup->cn}' ");
+			echo "Will try to update table {$table} set A_CLASSIFIED='{$vGroup->cn}', A_ADM_COMPANY='{$vGroup->cn}' ;" . "\n";
+			DB::getPDO()->execSql("update table `{$table}` set `A_CLASSIFIED`='{$vGroup->cn}', `A_ADM_COMPANY`='{$vGroup->cn}' ");
 		}
 		echo "DONE";
 	}