menu(); SE_Layout::dol(); } private function menu() { $serversList = $this->fetchActiveLicences(); ?>
menu($args['licence_id']);// TODO: GO BACK BTN try { $appLicenceInfo = $this->_fetchAppLicenceInfo($args['licence_id']); } catch (Exception $e) { $this->_endWithException($e); } //$this->generateApp($args['licence_id']); ?>

Generowanie aplikacji dla licencji ID; ?>

Licencja dla domen: domains); ?>

Katalog z zakodowanymi plikami: installFolderName; ?>

installFolderGitExists) : ?>
Katalog istnieje i zawiera już repozytorium git:
- aktualizuj werjsę (git reset --hard, git pull, set SE/VERSION)
- encode files
send files:
					ssh server@biuro.galeriaprzymorze.eu 'rm -rf ~/se.encrypted.upgrade/SE'
					# scp -r SE server@biuro.galeriaprzymorze.eu:~/se.encrypted.upgrade/
					rsync --archive --verbose --update --times --compress --one-file-system --omit-dir-times --no-g --no-perms SE/ server@biuro.galeriaprzymorze.eu:~/se.encrypted.upgrade/SE/
					ssh server@biuro.galeriaprzymorze.eu 'ln -s /Library/Server/Web/Data/Sites/Default/SE/config ~/se.encrypted.upgrade/SE/config'
					ssh server@biuro.galeriaprzymorze.eu 'ln -s ~/se.encrypted.upgrade/SE /Library/Server/Web/Data/Sites/Default/se.encrypted.upgrade'
					https://biuro.galeriaprzymorze.eu/se.encrypted.upgrade/
				
'; echo '

' . "Generowanie..." . '

'; echo '
'; try { $this->generateApp($appLicenceInfo); } catch (Exception $e) { echo '
';// .container/ scroll $this->_endWithException($e); } echo '';// .container ?>
Gotowe Aplikacja znajduje się w katalogu installFolderName; ?>
menu($args['licence_id']);// TODO: GO BACK BTN try { $appLicenceInfo = $this->_fetchAppLicenceInfo($args['licence_id']); $this->_gitResetHard($appLicenceInfo); } catch (Exception $e) { $this->_endWithException($e); } SE_Layout::dol(); } public function _gitResetHard($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[] = "cd {$installPath} && git reset --hard"; $cmds[] = "cd {$installPath} && git pull"; $cmds[] = "cd {$installPath} && echo `git show-ref --head|head -1|head -c 8` > SE/VERSION "; foreach ($cmds as $cmd) { $out = ''; $ret = ''; exec($cmd, $out, $ret); echo'
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->_fetchAppLicenceInfo($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[] = ''; $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 _fetchAppLicenceInfo($idLicence) { $idLicence = intval($idLicence); if (empty($idLicence)) throw new Exception("Nie wybrano serwera/licencji."); //DBG::_(true, true, 'idLicence', $idLicence, __CLASS__, __FUNCTION__, __LINE__); $appLicenceInfo = new stdClass(); $appLicenceInfo->ID = $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 _endWithException($e) { ?>
getMessage(); ?>

Wróć do menu