menu(); SE_Layout::dol(); } private function menu() { $serversList = $this->fetchActiveLicences(); ?>
Licencja dla domen: domains); ?>
Katalog z zakodowanymi plikami: installFolderName; ?>
installFolderGitExists) : ?>Test online: https://mainServer; ?>/se.encrypted.upgrade/
cmd: '. $cmd . ': (return:'.$ret.')'."\n";print_r($out);echo''; } } public function encodeSourceAction() { $args = array(); $args['licence_id'] = V::get('licence_id', 0, $_REQUEST, 'int'); SE_Layout::gora(); SE_Layout::menu(); //$this->menu($args['licence_id']);// TODO: GO BACK BTN try { $appLicenceInfo = $this->getAppLicenceInfo($args['licence_id']); $this->_encodeSource($appLicenceInfo); } catch (Exception $e) { $this->_endWithException($e); } SE_Layout::dol(); } public function _encodeSource($appLicenceInfo) { if (empty($appLicenceInfo->ID)) throw new Exception("Nie wybrano serwera/licencji."); if (empty($appLicenceInfo->domains)) throw new Exception("Domains not found"); $installPath = $appLicenceInfo->installPath; if (empty($installPath)) throw new Exception("Install path not found"); $phpVersion = '5.5'; if ('1' == V::get('DBG_ENCODER_HELP', '', $_REQUEST)) {// encoder help $cmd = "cd {$installPath}/SE && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder --help "; $out = ''; $ret = ''; exec($cmd, $out, $ret); echo'
cmd: '. $cmd . ': (return:'.$ret.')'."\n";print_r($out);echo''; exit; } { $phpFiles = array(); $skipPhpFiles = array(); $skipPhpFiles[] = 'bash_sync_perms.php'; $skipPhpFiles[] = '.config.php'; $skipPhpFiles[] = 'se-lib/V.php'; $skipPhpFiles[] = 'se-lib/Lib.php'; $skipPhpFiles[] = 'se-lib/DB.php'; $skipPhpFiles[] = 'se-lib/User.php'; $skipPhpFiles[] = 'se-lib/UserProfile.php'; $skipPhpFiles[] = 'se-lib/Config.php'; $skipPhpFiles[] = 'se-lib/Config/INI.php'; $skipPhpFiles[] = 'se-lib/FoldersConfig.php'; $skipPhpFiles[] = 'se-lib/FileUploader.php'; $skipPhpFiles[] = 'se-lib/Route/Budget.php'; $skipPhpFiles[] = 'se-lib/Route/FixCrmProcesInitIdx.php'; $skipPhpFiles[] = 'se-lib/Route/FixProjectPath.php'; $skipPhpFiles[] = 'se-lib/Route/FixZasobPath.php'; //$skipPhpFiles[] = 'se-lib/Route/Install.php'; $skipPhpFiles[] = 'se-lib/Route/Msgs.php'; $skipPhpFiles[] = 'superedit-DB_PROCEDURES_CREATE.php'; //$skipPhpFiles[] = ''; $skipPhpFiles[] = 'se-lib/DataSourceException.php'; $skipPhpFiles[] = 'se-lib/Core/Pdo.php'; $skipPhpFiles[] = 'se-lib/Router.php'; $skipPhpFiles[] = 'se-lib/HttpException.php'; $skipPhpFiles[] = 'se-lib/DebugExecutionTime.php'; $cmd = "cd {$installPath}/SE && find . -name '*.php' "; $out = ''; $ret = ''; exec($cmd, $out, $ret); echo'
cmd: '. $cmd . ': (return:'.$ret.')'."\n";print_r($out);echo''; if (0 !== $ret) throw new Exception("Error at find php files"); if (empty($out)) throw new Exception("No php files found"); foreach ($out as $phpFilePath) { $phpFilePath = ('./' == substr($phpFilePath, 0, 2))? substr($phpFilePath, 2) : $phpFilePath; if (in_array($phpFilePath, $skipPhpFiles)) continue; if ('schema/' == substr($phpFilePath, 0, 7)) continue; $phpFiles[] = $phpFilePath; } DBG::_(true, true, 'phpFiles', $phpFiles); if (empty($phpFiles)) throw new Exception("No php files to encode"); } { $cmd = "cd {$installPath}/SE && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder --phpversion {$phpVersion} -b- "; foreach ($appLicenceInfo->domains as $domain) { $cmd .= " --domain {$domain} "; } $cmd .= " " . implode(" ", $phpFiles); $out = ''; $ret = ''; exec($cmd, $out, $ret); echo'
cmd: '. $cmd . ': (return:'.$ret.')'."\n";print_r($out);echo''; if (0 !== $ret) throw new Exception("Error at encode files"); if (empty($out)) throw new Exception("No output for encode files command"); } } public function getAppLicenceInfo($idLicence) { $idLicence = intval($idLicence); if (empty($idLicence)) throw new Exception("Nie wybrano serwera/licencji."); //DBG::_(true, true, 'idLicence', $idLicence, __CLASS__, __FUNCTION__, __LINE__); $appLicenceInfo = (object)$this->fetchAppLicenceInfo($idLicence); $appLicenceInfo->domains = $this->fetchDomainsByLicenceId($idLicence); $installRootPath = '/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A'; $appLicenceInfo->installFolderName = "{$idLicence}_upgrade_SE_source_encrypted"; $appLicenceInfo->installPath = "{$installRootPath}/{$appLicenceInfo->installFolderName}"; //DBG::_(true, true, 'appLicenceInfo', $appLicenceInfo, __CLASS__, __FUNCTION__, __LINE__); if (empty($appLicenceInfo->domains)) throw new Exception("Domains not found."); $appLicenceInfo->installFolderExists = file_exists("{$appLicenceInfo->installPath}/SE"); $appLicenceInfo->installFolderGitExists = file_exists("{$appLicenceInfo->installPath}/.git"); return $appLicenceInfo; } public function generateApp($appLicenceInfo) { if (empty($appLicenceInfo->ID)) throw new Exception("Nie wybrano serwera/licencji."); if (empty($appLicenceInfo->domains)) throw new Exception("Domains not found"); $installPath = $appLicenceInfo->installPath; if (empty($installPath)) throw new Exception("Install path not found"); $cmds = array(); $cmds[] = "if [ -d {$installPath} ] ; then rm -rf '{$installPath}'; fi"; $cmds[] = "mkdir {$installPath}"; $cmds[] = "cd {$installPath} && git clone git@biuro.biall-net.pl:plabudda/se.git ."; $cmds[] = "cd {$installPath} && echo `git show-ref --head|head -1|head -c 8` > SE/VERSION "; //echo'
cmds: ';print_r($cmds);echo''; foreach ($cmds as $cmd) { $out = ''; $ret = ''; exec($cmd, $out, $ret); echo'
cmd: '. $cmd . ': (return:'.$ret.')'."\n";print_r($out);echo''; } $this->_encodeSource($appLicenceInfo); // 1763: $exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- // '.INSTALL_SES_PROCESY_A::get_same_domains_for_install($h->SERVER_ADDRESS_SHORT).' // -r *.php // -x superedit-DB_PROCEDURES_CREATE.php // -x INI.php // -x .config_base_structure.php // '; // // INSTALL_SES_PROCESY_A::get_same_domains_for_install($h->SERVER_ADDRESS_SHORT): // $res2=DB::query("select SERVER_ADDRESS_SHORT from SES_PROCESY5_A where SERVER_ADDRESS_IP='".$h->SERVER_ADDRESS_IP."'"); // while($h2=DB::fetch($res2)) { // $domain[]=' --domain '.$h2->SERVER_ADDRESS_SHORT; // ssh server@biuro.galeriaprzymorze.eu: PHP 5.5.20 // ssh server@biuro.biall-net.pl // cd /Users/plabudda/procesy5-install-galeriaprzymorze.eu/ // sudo chown -R server:admin SE/ // /Applications/SourceGuardian.app/Contents/MacOS/sgencoder --phpversion 5.5 -b- --domain galeriaprzymorze.eu -r SE/*.php SE/se-lib/*.php SE/se-lib/*/*.php SE/se-lib/*/*/*.php SE/procesy/*.php SE/odt2xhtml/*.php -x superedit-DB_PROCEDURES_CREATE.php -x INI.php -x .config_base_structure.php } public function fetchActiveLicences() { $activeLic = array(); $db = DB::getDB(); $sql = "select l.`ID` , l.`SERVER_ADDRESS` , l.`SERVER_ADDRESS_SHORT` as domain -- domain for sgencoder , l.`SERVER_ADDRESS_IP` from `SES_PROCESY5_A` l where 1=1 -- TODO: and l.`A_STATUS` in('NORMAL','WAITING') order by l.`ID` DESC "; $res = $db->query($sql); while ($r = $db->fetch($res)) { $activeLic[$r->ID] = $r; } return $activeLic; } public function fetchDomainsByLicenceId($licenceId) { $domains = array(); $db = DB::getDB(); $sql = "select g.`SERVER_ADDRESS_SHORT`, g.`SERVER_ADDRESS` from `SES_PROCESY5_A` g where g.`SERVER_ADDRESS_IP`=(select l.`SERVER_ADDRESS_IP` from `SES_PROCESY5_A` l where l.`ID`='{$licenceId}' -- TODO: and l.`A_STATUS` in('NORMAL','WAITING') ) -- TODO: and g.`A_STATUS` in('NORMAL','WAITING') "; $res = $db->query($sql); while ($r = $db->fetch($res)) { $domains[] = $r->SERVER_ADDRESS_SHORT; if ($r->SERVER_ADDRESS != $r->SERVER_ADDRESS_SHORT) { $domains[] = $r->SERVER_ADDRESS; } } return $domains; } public function fetchMainServerByLicenceId($licenceId) { $mainServer = null; $db = DB::getDB(); $sql = "select g.`SERVER_ADDRESS` from `SES_PROCESY5_A` g where g.`ID`='{$licenceId}' -- TODO: and g.`A_STATUS` in('NORMAL','WAITING') "; $res = $db->query($sql); while ($r = $db->fetch($res)) { $mainServer = $r->SERVER_ADDRESS; } return $mainServer; } public function fetchAppLicenceInfo($licenceId) { $licenceInfo = null; $pdo = DB::getPDO(); $sth = $pdo->prepare(" select g.ID , g.SERVER_ADDRESS as mainServer , g.ADMIN_USERNAME as rootLogin , g.ADMIN_USERNAME_PASSWD as rootPassword from SES_PROCESY5_A g where g.`ID`=:id_licence -- TODO: and g.A_STATUS in('NORMAL','WAITING') "); $sth->bindValue('id_licence', $licenceId, PDO::PARAM_INT); $sth->execute(); $all = $sth->fetchAll(); if (empty($all)) throw new Exception("Brak licencji o nr '{$licenceId}'"); $licenceInfo = reset($all); return $licenceInfo; } public function _endWithException($e) { ?>
Wróć do menu