Пример #1
0
    /**

     * fix the 32K issue, by migrating /files directory structure to an uid tree structure based.

     * @param $workspace got the site(s) the manager wants to upgrade

     */

    public function upgradeCasesDirectoryStructure ($workspace)

    {

        define('PATH_DOCUMENT',  PATH_DATA . 'sites/' . $workspace . '/' . 'files/');

        $doclevel = explode('/', PATH_DOCUMENT);

        $length = sizeof(PATH_DOCUMENT);

        $filesDir = $doclevel[$length - 1];



        if (is_dir(PATH_DOCUMENT) && is_writable($filesDir)) {

            CLI::logging(CLI::error("Error:" . PATH_DOCUMENT . " is not writable... please check the su permissions.\n"));

            return;

        }



        $directory = array();

        $blackHoleDir = G::getBlackHoleDir();

        $directory = glob(PATH_DOCUMENT . "*", GLOB_ONLYDIR);

        $dirslength = sizeof($directory);



        if (! @chdir(PATH_DOCUMENT)) {

            CLI::logging(CLI::error("Cannot use Document directory. The upgrade must be done as root.\n"));

            return;

        }



        //Start migration

        for ($index = 0; $index < $dirslength; $index++) {

            $depthdirlevel = explode('/', $directory[$index]);

            $lastlength = sizeof($depthdirlevel);

            $UIdDir = $depthdirlevel[$lastlength - 1];

            $lenDir = strlen($UIdDir);



            if ($lenDir == 32 && $UIdDir != $blackHoleDir) {

                $len = count(scandir($UIdDir));

                if ($len > 2) {

                    //lenght = 2, because the function check . and .. dir links

                    $newDiretory = G::getPathFromUIDPlain($UIdDir);

                    CLI::logging("Migrating $UIdDir to $newDiretory\n");

                    G::mk_dir($newDiretory, 0777);

                    //echo `cp -R $UIdDir/* $newDiretory/`;



                    if (G::recursive_copy($UIdDir, $newDiretory)) {

                        CLI::logging("Removing $UIdDir...\n");

                        G::rm_dir($UIdDir);

                        rmdir($UIdDir);//remove the diretory itself, G::rm_dir cannot do it

                    } else {

                        CLI::logging(CLI::error("Error: Failure at coping from $UIdDir...\n"));

                    }

                } else {

                    CLI::logging("$UIdDir is empty, removing it\n");

                    rmdir($UIdDir);//remove the diretory itself

                }

            }

        }



        //Start '0' directory migration

        $black = PATH_DOCUMENT . $blackHoleDir . '/';

        if (is_dir($black)) {

            $newpattern = array();

            $file = glob($black . '*.*');//files only

            $dirlen = count($file);



            for ($index = 0; $index < $dirlen; $index++) {

                $levelfile = explode('/', $file[$index]);

                $lastlevel = sizeof($levelfile);

                $goalFile = $levelfile[$lastlevel - 1];

                $newpattern = G::getPathFromFileUIDPlain($blackHoleDir, $goalFile);

                CLI::logging("Migrating $blackHoleDir file: $goalFile\n");

                G::mk_dir($blackHoleDir . PATH_SEP . $newpattern[0], 0777);

                //echo `cp -R $black$goalFile $black$newpattern[0]/$newpattern[1]`;



                if (copy($black . $goalFile, $black . $newpattern[0] . '/' . $newpattern[1])) {

                    unlink($file[$index]);

                } else {

                    CLI::logging(CLI::error("Error: Failure at copy $file[$index] files...\n"));

                }

            }

        }



        //Set value of 2 to the directory structure version.

        $this->initPropel(true);

        G::LoadClass("configuration");

        $conf = new Configurations();

        if (!$conf->exists("ENVIRONMENT_SETTINGS")) {

            $conf->aConfig = array ("format" => '@userName (@firstName @lastName)',

                                "dateFormat" => 'd/m/Y',

                                "startCaseHideProcessInf" => false,

                                "casesListDateFormat" => 'Y-m-d H:i:s',

                                "casesListRowNumber" => 25,

                                "casesListRefreshTime" => 120 );

            $conf->saveConfig( 'ENVIRONMENT_SETTINGS', '' );

        }

        $conf->setDirectoryStructureVer(2);

        CLI::logging(CLI::info("Version Directory Structure is 2 now.\n"));

    }
Пример #2
0
 /**
  * Extract the structure version value from serializated table field and check it.
  * @return true if the version is bigger than 1
  */
 public function gotDirectoryStructureVer2()
 {
     G::LoadClass("configuration");
     $configuration = new Configurations();
     if (defined('SYS_SYS') && $configuration->exists("ENVIRONMENT_SETTINGS")) {
         return $configuration->getDirectoryStructureVer() > 1;
     }
     return false;
 }
 public function __construct($flagActivatePlugins = true)
 {
     G::LoadClass('serverConfiguration');
     $oServerConf =& serverConf::getSingleton();
     $oServerConf->setProperty('LOGIN_NO_WS', true);
     //to do: this files probably needs to be in core, since they are GPL2
     //include_once (PATH_PLUGINS . 'enterprise' . PATH_SEP . 'classes' . PATH_SEP . 'class.license.lib.php');
     //include_once (PATH_PLUGINS . 'enterprise' . PATH_SEP . 'classes' . PATH_SEP . 'class.license.app.php');
     require_once PATH_CORE . 'classes' . PATH_SEP . 'class.license.lib.php';
     require_once PATH_CORE . 'classes' . PATH_SEP . 'class.license.app.php';
     //searching .dat files in workspace folder
     $server_array = $_SERVER;
     $licfile = glob(PATH_DATA_SITE . "*.dat");
     if (count($licfile) > 0 && is_file($licfile[0])) {
         $oServerConf->setProperty('ACTIVE_LICENSE', array(SYS_SYS => ""));
     }
     $activeLicenseSetting = $oServerConf->getProperty('ACTIVE_LICENSE');
     if (isset($activeLicenseSetting[SYS_SYS]) && file_exists($activeLicenseSetting[SYS_SYS])) {
         $licenseFile = $activeLicenseSetting[SYS_SYS];
     } else {
         $activeLicense = $this->getActiveLicense();
         $oServerConf->setProperty('ACTIVE_LICENSE', array(SYS_SYS => $activeLicense['LICENSE_PATH']));
         $licenseFile = $activeLicense['LICENSE_PATH'];
     }
     $application = new license_application($licenseFile, false, true, false, true);
     $application->set_server_vars($server_array);
     $application->DATE_STRING = 'Y-m-d H:i:s';
     $results = $application->validate();
     $validStatus = array('OK', 'EXPIRED', 'TMINUS');
     $this->result = $results['RESULT'];
     $this->features = array();
     $this->licensedfeatures = array();
     $this->licensedfeaturesList = array();
     if (in_array($this->result, $validStatus)) {
         $this->serial = "3ptta7Xko2prrptrZnSd356aqmPXvMrayNPFj6CLdaR1pWtrW6qPw9jV0OHjxrDGu8LVxtmSm9nP5kR23HRpdZWccpeui+bKkK°DoqCt2Kqgpq6Vg37s";
         $info['FIRST_NAME'] = $results['DATA']['FIRST_NAME'];
         $info['LAST_NAME'] = $results['DATA']['LAST_NAME'];
         $info['DOMAIN_WORKSPACE'] = $results['DATA']['DOMAIN_WORKSPACE'];
         $this->date = $results['DATE'];
         $this->info = $info;
         $this->type = $results['DATA']['TYPE'];
         $this->plan = isset($results['DATA']['PLAN']) ? $results['DATA']['PLAN'] : "";
         $this->id = $results['ID'];
         $this->expireIn = $this->getExpireIn();
         $this->features = $this->result != 'TMINUS' ? isset($results['DATA']['CUSTOMER_PLUGIN']) ? $results['DATA']['CUSTOMER_PLUGIN'] : $this->getActiveFeatures() : array();
         $this->licensedfeatures = $this->result != 'TMINUS' ? isset($results['DATA']['CUSTOMER_LICENSED_FEATURES']) ? $results['DATA']['CUSTOMER_LICENSED_FEATURES'] : array() : array();
         $this->licensedfeaturesList = isset($results['DATA']['LICENSED_FEATURES_LIST']) ? $results['DATA']['LICENSED_FEATURES_LIST'] : null;
         $this->status = $this->getCurrentLicenseStatus();
         if (isset($results['LIC'])) {
             $resultsRegister = $results['LIC'];
             $this->server = $results['LIC']['SRV'];
             $this->file = $results['LIC']['FILE'];
             $this->workspace = isset($results['LIC']['WORKSPACE']) ? $results['LIC']['WORKSPACE'] : 'pmLicenseSrv';
             $this->licenseSerial = isset($results['LIC']['SERIAL']) ? $results['LIC']['SERIAL'] : '';
             $this->supportStartDate = isset($results['DATA']['SUPPORT_START_DATE']) ? $results['DATA']['SUPPORT_START_DATE'] : '';
             $this->supportEndDate = isset($results['DATA']['SUPPORT_END_DATE']) ? $results['DATA']['SUPPORT_END_DATE'] : '';
             $this->supportStartDate = date("Y-m-d H:i:s", strtotime($this->supportStartDate));
             $this->supportEndDate = date("Y-m-d H:i:s", strtotime($this->supportEndDate));
             G::LoadClass("configuration");
             $conf = new Configurations();
             if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) {
                 $this->supportStartDate = $conf->getSystemDate($this->supportStartDate);
                 $this->supportEndDate = $conf->getSystemDate($this->supportEndDate);
             } else {
                 $this->supportStartDate = G::getformatedDate($this->supportStartDate, 'M d, yyyy', SYS_LANG);
                 $this->supportEndDate = G::getformatedDate($this->supportEndDate, 'M d, yyyy', SYS_LANG);
             }
         } else {
             $resultsRegister = array();
             $resultsRegister['ID'] = $results['DATA']['DOMAIN_WORKSPACE'];
             $this->server = null;
             $this->file = null;
         }
         $resultsRegister['date'] = $results['DATE'];
         $resultsRegister['info'] = $info;
         $resultsRegister['type'] = $results['DATA']['TYPE'];
         if ($oServerConf->getProperty('LICENSE_INFO')) {
             $licInfoA = $oServerConf->getProperty('LICENSE_INFO');
         } else {
             $licInfoA = array();
         }
         $licInfoA[SYS_SYS] = $resultsRegister;
         $oServerConf->setProperty('LICENSE_INFO', $licInfoA);
     }
     if ($flagActivatePlugins) {
         $this->activateFeatures();
     }
 }
Пример #4
0
 private function _default()
 {
     require_once PATH_THIRDPARTY . 'smarty/libs/Smarty.class.php';
     // put full path to Smarty.class.php
     global $G_ENABLE_BLANK_SKIN;
     //menu
     global $G_PUBLISH;
     global $G_MAIN_MENU;
     global $G_SUB_MENU;
     global $G_MENU_SELECTED;
     global $G_SUB_MENU_SELECTED;
     global $G_ID_MENU_SELECTED;
     global $G_ID_SUB_MENU_SELECTED;
     G::verifyPath(PATH_SMARTY_C, true);
     G::verifyPath(PATH_SMARTY_CACHE, true);
     $smarty = new Smarty();
     $oHeadPublisher =& headPublisher::getSingleton();
     $smarty->compile_dir = PATH_SMARTY_C;
     $smarty->cache_dir = PATH_SMARTY_CACHE;
     $smarty->config_dir = PATH_THIRDPARTY . 'smarty/configs';
     //To setup en extJS Theme for this Skin
     G::LoadClass('serverConfiguration');
     $oServerConf =& serverConf::getSingleton();
     $extSkin = $oServerConf->getProperty("extSkin");
     if (!$extSkin) {
         $extSkin = array();
     }
     $extSkin[SYS_SKIN] = "xtheme-gray";
     $oServerConf->setProperty("extSkin", $extSkin);
     //End of extJS Theme setup
     if (isset($G_ENABLE_BLANK_SKIN) && $G_ENABLE_BLANK_SKIN) {
         $smarty->template_dir = $this->layoutFileBlank['dirname'];
         $smarty->force_compile = $this->forceTemplateCompile;
         $smarty->display($layoutFileBlank['basename']);
     } else {
         $smarty->template_dir = $this->layoutFile['dirname'];
         $meta = null;
         $header = null;
         if (preg_match("/^.*\\(.*MSIE (\\d+)\\..+\\).*\$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)) {
             $ie = intval($arrayMatch[1]);
             if ($ie == 10) {
                 $ie = 8;
                 $meta = "<meta http-equiv=\"X-UA-Compatible\" content=\"IE={$ie}\" />";
             }
         }
         if (isset($oHeadPublisher)) {
             if (defined('SYS_SYS')) {
                 $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : '';
             }
             $header = $oHeadPublisher->printHeader();
             $header .= $oHeadPublisher->getExtJsStylesheets($this->cssFileName);
         }
         $smarty->assign("meta", $meta);
         $smarty->assign("header", $header);
         $footer = '';
         if (strpos($_SERVER['REQUEST_URI'], '/login/login') !== false) {
             $freeOfChargeText = "";
             if (!defined('SKIP_FREE_OF_CHARGE_TEXT')) {
                 $freeOfChargeText = "Supplied free of charge with no support, certification, warranty, <br>maintenance nor indemnity by Colosa and its Certified Partners.";
             }
             if (class_exists('pmLicenseManager')) {
                 $freeOfChargeText = "";
             }
             $fileFooter = PATH_SKINS . SYS_SKIN . PATH_SEP . 'footer.html';
             if (file_exists($fileFooter)) {
                 $footer .= file_get_contents($fileFooter);
             } else {
                 $fileFooter = PATH_SKIN_ENGINE . SYS_SKIN . PATH_SEP . 'footer.html';
                 if (file_exists($fileFooter)) {
                     $footer .= file_get_contents($fileFooter);
                 } else {
                     $fileFooter = PATH_CUSTOM_SKINS . SYS_SKIN . PATH_SEP . 'footer.html';
                     if (file_exists($fileFooter)) {
                         $footer .= file_get_contents($fileFooter);
                     } else {
                         $footer .= "<br />Copyright &copy; 2003-" . date('Y') . " <a href=\"http://www.colosa.com\" alt=\"Colosa, Inc.\" target=\"_blank\">Colosa, Inc.</a> All rights reserved.<br /> {$freeOfChargeText} " . "<br><br/><a href=\"http://www.processmaker.com\" alt=\"Powered by ProcessMaker - Open Source Workflow & Business Process Management (BPM) Management Software\" title=\"Powered by ProcessMaker\" target=\"_blank\"></a>";
                     }
                 }
             }
         }
         $oMenu = new Menu();
         $menus = $oMenu->generateArrayForTemplate($G_MAIN_MENU, 'SelectedMenu', 'mainMenu', $G_MENU_SELECTED, $G_ID_MENU_SELECTED);
         $smarty->assign('menus', $menus);
         $oSubMenu = new Menu();
         $subMenus = $oSubMenu->generateArrayForTemplate($G_SUB_MENU, 'selectedSubMenu', 'subMenu', $G_SUB_MENU_SELECTED, $G_ID_SUB_MENU_SELECTED);
         $smarty->assign('subMenus', $subMenus);
         if (!defined('NO_DISPLAY_USERNAME')) {
             define('NO_DISPLAY_USERNAME', 0);
         }
         if (NO_DISPLAY_USERNAME == 0) {
             $switch_interface = isset($_SESSION['user_experience']) && $_SESSION['user_experience'] == 'SWITCHABLE';
             $smarty->assign('user_logged', isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '');
             $smarty->assign('tracker', SYS_COLLECTION == 'tracker' ? $G_PUBLISH->Parts[0]['File'] != 'tracker/login' ? true : '' : '');
             $smarty->assign('switch_interface', $switch_interface);
             $smarty->assign('switch_interface_label', G::LoadTranslation('ID_SWITCH_INTERFACE'));
             $smarty->assign('rolename', isset($_SESSION['USR_ROLENAME']) ? $_SESSION['USR_ROLENAME'] . '' : '');
             $smarty->assign('pipe', isset($_SESSION['USR_USERNAME']) ? ' | ' : '');
             $smarty->assign('logout', G::LoadTranslation('ID_LOGOUT'));
             $smarty->assign('workspace', defined('SYS_SYS') ? SYS_SYS : '');
             $uws = isset($_SESSION['USR_ROLENAME']) && $_SESSION['USR_ROLENAME'] != '' ? strtolower(G::LoadTranslation('ID_WORKSPACE_USING')) : G::LoadTranslation('ID_WORKSPACE_USING');
             $smarty->assign('workspace_label', $uws);
             G::LoadClass("configuration");
             $conf = new Configurations();
             if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) {
                 $smarty->assign('udate', $conf->getSystemDate(date('Y-m-d')));
             } else {
                 $smarty->assign('udate', G::getformatedDate(date('Y-m-d'), 'M d, yyyy', SYS_LANG));
             }
             $name = $conf->userNameFormat(isset($_SESSION['USR_USERNAME']) ? $_SESSION['USR_USERNAME'] : '', isset($_SESSION['USR_FULLNAME']) ? htmlentities($_SESSION['USR_FULLNAME'], ENT_QUOTES, 'UTF-8') : '');
             $smarty->assign('user', $name);
         }
         if (class_exists('pmLicenseManager')) {
             $pmLicenseManagerO =& pmLicenseManager::getSingleton();
             $expireIn = $pmLicenseManagerO->getExpireIn();
             $expireInLabel = $pmLicenseManagerO->getExpireInLabel();
             //if($expireIn<=30){
             if ($expireInLabel != "") {
                 $smarty->assign('msgVer', '<label class="textBlack">' . $expireInLabel . '</label>&nbsp;&nbsp;');
             }
             //}
         }
         if (defined('SYS_SYS')) {
             $logout = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login';
         } else {
             $logout = '/sys/' . SYS_LANG . '/' . SYS_SKIN . '/login/login';
         }
         $smarty->assign('linklogout', $logout);
         $smarty->assign('footer', $footer);
         $smarty->assign('tpl_menu', PATH_TEMPLATE . 'menu.html');
         $smarty->assign('tpl_submenu', PATH_TEMPLATE . 'submenu.html');
         G::LoadClass('replacementLogo');
         $oLogoR = new replacementLogo();
         if (defined("SYS_SYS")) {
             $aFotoSelect = $oLogoR->getNameLogo(isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : '');
             if (is_array($aFotoSelect)) {
                 $sFotoSelect = trim($aFotoSelect['DEFAULT_LOGO_NAME']);
                 $sWspaceSelect = trim($aFotoSelect['WORKSPACE_LOGO_NAME']);
             }
         }
         if (class_exists('PMPluginRegistry')) {
             $oPluginRegistry =& PMPluginRegistry::getSingleton();
             if (isset($sFotoSelect) && $sFotoSelect != '' && !strcmp($sWspaceSelect, SYS_SYS)) {
                 $sCompanyLogo = $oPluginRegistry->getCompanyLogo($sFotoSelect);
                 $sCompanyLogo = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/showLogoFile.php?id=" . base64_encode($sCompanyLogo);
             } else {
                 $sCompanyLogo = $oPluginRegistry->getCompanyLogo('/images/processmaker.logo.jpg');
             }
         } else {
             $sCompanyLogo = '/images/processmaker.logo.jpg';
         }
         $smarty->assign('logo_company', $sCompanyLogo);
         $smarty->force_compile = $this->forceTemplateCompile;
         $smarty->display($this->layoutFile['basename']);
     }
 }
Пример #5
0
 /**
  * fix the 32K issue, by migrating /files directory structure to an uid tree structure based.
  * @param $workspace got the site(s) the manager wants to upgrade
  */
 public function upgradeCasesDirectoryStructure($workspace)
 {
     define('PATH_DOCUMENT', PATH_DATA . 'sites/' . $workspace . '/' . 'files/');
     $doclevel = explode('/', PATH_DOCUMENT);
     $length = sizeof(PATH_DOCUMENT);
     $filesDir = $doclevel[$length - 1];
     if (is_dir(PATH_DOCUMENT) && is_writable($filesDir)) {
         CLI::logging(CLI::error("Error:" . PATH_DOCUMENT . " is not writable... please check the su permissions.\n"));
         return;
     }
     $directory = array();
     $blackHoleDir = G::getBlackHoleDir();
     $directory = glob(PATH_DOCUMENT . "*", GLOB_ONLYDIR);
     $dirslength = sizeof($directory);
     if (!@chdir(PATH_DOCUMENT)) {
         CLI::logging(CLI::error("Cannot use Document directory. The upgrade must be done as root.\n"));
         return;
     }
     //Start migration
     for ($index = 0; $index < $dirslength; $index++) {
         $depthdirlevel = explode('/', $directory[$index]);
         $lastlength = sizeof($depthdirlevel);
         $UIdDir = $depthdirlevel[$lastlength - 1];
         $lenDir = strlen($UIdDir);
         if ($lenDir == 32 && $UIdDir != $blackHoleDir) {
             $len = count(scandir($UIdDir));
             if ($len > 2) {
                 //lenght = 2, because the function check . and .. dir links
                 $newDiretory = G::getPathFromUIDPlain($UIdDir);
                 CLI::logging("Migrating {$UIdDir} to {$newDiretory}\n");
                 G::mk_dir($newDiretory);
                 //echo `cp -R $UIdDir/* $newDiretory/`;
                 if (G::recursive_copy($UIdDir, $newDiretory)) {
                     CLI::logging("Removing {$UIdDir}...\n");
                     G::rm_dir($UIdDir);
                     rmdir($UIdDir);
                     //remove the diretory itself, G::rm_dir cannot do it
                 } else {
                     CLI::logging(CLI::error("Error: Failure at coping from {$UIdDir}...\n"));
                 }
             } else {
                 CLI::logging("{$UIdDir} is empty, removing it\n");
                 rmdir($UIdDir);
                 //remove the diretory itself
             }
         }
     }
     //Start '0' directory migration
     $black = PATH_DOCUMENT . $blackHoleDir . '/';
     if (is_dir($black)) {
         $newpattern = array();
         $file = glob($black . '*.*');
         //files only
         $dirlen = count($file);
         for ($index = 0; $index < $dirlen; $index++) {
             $levelfile = explode('/', $file[$index]);
             $lastlevel = sizeof($levelfile);
             $goalFile = $levelfile[$lastlevel - 1];
             $newpattern = G::getPathFromFileUIDPlain($blackHoleDir, $goalFile);
             CLI::logging("Migrating {$blackHoleDir} file: {$goalFile}\n");
             G::mk_dir($blackHoleDir . '/' . $newpattern[0]);
             //echo `cp -R $black$goalFile $black$newpattern[0]/$newpattern[1]`;
             if (copy($black . $goalFile, $black . $newpattern[0] . '/' . $newpattern[1])) {
                 unlink($file[$index]);
             } else {
                 CLI::logging(CLI::error("Error: Failure at copy {$file[$index]} files...\n"));
             }
         }
     }
     //Set value of 2 to the directory structure version.
     $this->initPropel(true);
     G::LoadClass("configuration");
     $conf = new Configurations();
     if ($conf->exists("ENVIRONMENT_SETTINGS")) {
         $conf->setDirectoryStructureVer(2);
         CLI::logging(CLI::info("Version Directory Structure is 2 now.\n"));
     } else {
         CLI::logging(CLI::error("Error: found at try to use ENVIRONMENT_SETTINGS row.\n"));
         return;
     }
 }
Пример #6
0
<?php

require_once PATH_CORE . 'classes' . PATH_SEP . 'class.pmLicenseManager.php';
require_once PATH_CORE . "classes" . PATH_SEP . "model" . PATH_SEP . "AddonsStore.php";
require_once PATH_CORE . "classes" . PATH_SEP . "class.enterpriseUtils.php";
AddonsStore::checkLicenseStore();
$licenseManager =& pmLicenseManager::getSingleton();
$oHeadPublisher =& headPublisher::getSingleton();
if (isset($licenseManager->date) && is_array($licenseManager->date)) {
    G::LoadClass("configuration");
    $conf = new Configurations();
    if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) {
        $licenseManager->date['START'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['START']));
        $licenseManager->date['END'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['END']));
        $licenseManager->date['START'] = $conf->getSystemDate($licenseManager->date['START']);
        $licenseManager->date['END'] = $conf->getSystemDate($licenseManager->date['END']);
    } else {
        $licenseManager->date['START'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['START']));
        $licenseManager->date['END'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['END']));
        $licenseManager->date['START'] = G::getformatedDate($licenseManager->date['START'], 'M d, yyyy', SYS_LANG);
        $licenseManager->date['END'] = G::getformatedDate($licenseManager->date['END'], 'M d, yyyy', SYS_LANG);
    }
}
if (isset($licenseManager->result) && $licenseManager->result == "OK") {
    $oHeadPublisher->assign("license_start_date", $licenseManager->date["START"]);
    $oHeadPublisher->assign("license_end_date", $licenseManager->expireIn != "NEVER" ? $licenseManager->date["END"] : "NA");
    $oHeadPublisher->assign("license_user", $licenseManager->info["FIRST_NAME"] . " " . $licenseManager->info["LAST_NAME"] . " (" . $licenseManager->info["DOMAIN_WORKSPACE"] . ")");
    $oHeadPublisher->assign("license_span", $licenseManager->expireIn != "NEVER" ? ceil($licenseManager->date["SPAN"] / 60 / 60 / 24) : "~");
    $oHeadPublisher->assign("license_name", $licenseManager->type);
    $oHeadPublisher->assign("license_server", $licenseManager->server);
    $oHeadPublisher->assign("license_expires", $licenseManager->expireIn);
Пример #7
0
 public static function execute()
 {
     //Check if this is the version to apply the patch
     $count = 0;
     $task = new Task();
     if (patch::$isPathchable && method_exists($task, 'getTasGroupVariable')) {
         $con = Propel::getConnection("workflow");
         $stmt = $con->prepareStatement("select TAS_UID from TASK where TAS_ASSIGN_TYPE = 'SELF_SERVICE';");
         $recordSet = $stmt->executeQuery();
         $recordSet->next();
         $aRow = $recordSet->getRow();
         while ($aRow) {
             $tasUid = $aRow['TAS_UID'];
             $conUser = Propel::getConnection("workflow");
             $stmtUser = $conUser->prepareStatement("select * from TASK_USER where TAS_UID = '" . $tasUid . "';");
             $recordSetTaskUser = $stmtUser->executeQuery();
             if ($recordSetTaskUser->next()) {
                 echo "Patching uid: " . $tasUid . "\n";
                 //Set the values if they match the pattern
                 $conChange = Propel::getConnection("workflow");
                 $stmtChange = $conChange->prepareStatement("update TASK set TAS_GROUP_VARIABLE = '' where TAS_UID = '" . $tasUid . "';");
                 $recordResult = $stmtChange->executeQuery();
                 $count++;
             }
             $recordSet->next();
             $aRow = $recordSet->getRow();
         }
     }
     //Fix BUG-15394
     G::LoadClass("configuration");
     $conf = new Configurations();
     if (!$conf->exists("HOTFIX")) {
         //HOTFIX, Create empty record
         $conf->aConfig = array();
         $conf->saveConfig("HOTFIX", "");
     }
     $arrayHotfix = $conf->getConfiguration("HOTFIX", "");
     $arrayHotfix = is_array($arrayHotfix) ? $arrayHotfix : array($arrayHotfix);
     $pmVersion = self::pmVersion(System::getVersion()) . "";
     if (($pmVersion == "2.5.2.4" || $pmVersion == "2.8") && !in_array("15394", $arrayHotfix)) {
         $cnn = Propel::getConnection("workflow");
         $stmt = $cnn->prepareStatement("UPDATE USERS_PROPERTIES SET USR_LOGGED_NEXT_TIME = 0");
         $rs = $stmt->executeQuery();
         //HOTFIX, Update record (add 15394)
         $arrayHotfix[] = "15394";
         $conf->aConfig = $arrayHotfix;
         $conf->saveConfig("HOTFIX", "");
     }
     //echo
     echo $count . " records where patched to use SELF_SERVICE feature.\n";
 }