コード例 #1
0
    function eZMail()
    {
        $this->Mail = new ezpMail();

        $this->ReceiverElements = array();
        $this->From = false;
        $this->CcElements = array();
        $this->BccElements = array();
        $this->ReplyTo = false;
        $this->Subject = false;
        $this->BodyText = false;
        $this->ExtraHeaders = array();
        $this->TextCodec = false;
        $this->MessageID = false;

        // Sets some default values
        $version = eZPublishSDK::version();

        $this->MIMEVersion = '1.0';
        $this->ContentType = array( 'type' => 'text/plain',
                                    'charset' => $this->usedCharset(),
                                    'transfer-encoding' => '8bit',
                                    'disposition' => 'inline',
                                    'boundary' => false );
        $this->UserAgent = "eZ Publish, Version $version";

        $ini = eZINI::instance();

        if ( $ini->hasVariable( 'MailSettings', 'ContentType' ) )
            $this->setContentType( $ini->variable( 'MailSettings', 'ContentType' ) );
    }
コード例 #2
0
     /**
     * Constructor
     * For more info see {@link eZXMLInputHandler::eZXMLInputHandler()}
     *
     * @param string $xmlData
     * @param string $aliasedType
     * @param eZContentObjectAttribute $contentObjectAttribute
     */
    function eZOEXMLInput( &$xmlData, $aliasedType, $contentObjectAttribute )
    {
        $this->eZXMLInputHandler( $xmlData, $aliasedType, $contentObjectAttribute );

        $contentIni = eZINI::instance( 'content.ini' );
        if ( $contentIni->hasVariable( 'header', 'UseStrictHeaderRule' ) === true )
        {
            if ( $contentIni->variable( 'header', 'UseStrictHeaderRule' ) === 'true' )
                $this->IsStrictHeader = true;
        }

        $this->eZPublishVersion = eZPublishSDK::majorVersion() + eZPublishSDK::minorVersion() * 0.1;

        $ezxmlIni = eZINI::instance( 'ezxml.ini' );
        if ( $ezxmlIni->hasVariable( 'InputSettings', 'AllowMultipleSpaces' ) === true )
        {
            $allowMultipleSpaces = $ezxmlIni->variable( 'InputSettings', 'AllowMultipleSpaces' );
            $this->allowMultipleSpaces = $allowMultipleSpaces === 'true' ? true : false;
        }
        if ( $ezxmlIni->hasVariable( 'InputSettings', 'AllowNumericEntities' ) )
        {
            $allowNumericEntities = $ezxmlIni->variable( 'InputSettings', 'AllowNumericEntities' );
            $this->allowNumericEntities = $allowNumericEntities === 'true' ? true : false;
        }
    }
コード例 #3
0
ファイル: sysinfomodule.php プロジェクト: gggeek/ggsysinfo
 protected static function initialize($force = false)
 {
     if (self::$initialized && !$force) {
         return;
     }
     // starting with version 4.1, this is available in the Setup|System Info page
     if (version_compare('4.1', eZPublishSDK::version()) <= 0) {
         self::$view_groups['PHP']['php']['hidden'] = true;
     }
     $ini = eZINI::instance('file.ini');
     $h = $ini->variable('ClusteringSettings', 'FileHandler');
     if (in_array($h, array('ezfs', 'eZFSFileHandler', 'eZFS2FileHandler'))) {
         self::$view_groups['eZPublish']['cachestats']['disabled'] = false;
         self::$view_groups['eZPublish']['cachesearch']['disabled'] = false;
         self::$view_groups['eZPublish']['storagestats']['disabled'] = false;
     }
     if (in_array($h, array('eZDFSFileHandler'))) {
         self::$view_groups['eZPublish']['cachestats']['disabled'] = false;
         self::$view_groups['eZPublish']['storagestats']['disabled'] = false;
     }
     /*if ( isset( $GLOBALS['_PHPA'] ) )
       {
          self::$view_groups['PHP']['phpaccelerator'];
       }
       else if ( extension_loaded( 'Turck MMCache' ) )
       {
           $operatorValue = 'mmcache';
       }*/
     if (extension_loaded('eAccelerator')) {
         self::$view_groups['PHP']['eaccelerator']['disabled'] = false;
     }
     if (extension_loaded('apc')) {
         self::$view_groups['PHP']['apc']['disabled'] = false;
     }
     if (function_exists('accelerator_get_status') || function_exists('opcache_get_status')) {
         self::$view_groups['PHP']['acceleratorplus']['disabled'] = false;
     }
     /*else if ( extension_loaded( 'Zend Performance Suite' ) )
       {
           $operatorValue = 'performancesuite';
       }*/
     if (extension_loaded('xcache')) {
         self::$view_groups['PHP']['xcache']['disabled'] = false;
     }
     if (extension_loaded('wincache')) {
         self::$view_groups['PHP']['wincache']['disabled'] = false;
     }
     $db = eZDB::instance();
     if ($db->databaseName() == 'mysql') {
         self::$view_groups['QA']['databaseqa']['disabled'] = false;
         /// @todo is this the correct way to check?
         if (function_exists('mysqli_get_client_stats')) {
             self::$view_groups['PHP']['mysqli']['disabled'] = false;
         }
     }
     self::$initialized = true;
 }
コード例 #4
0
 /**
  * Abstract method to initialize a template and eventually takes advantage of new 4.3 TPL API
  * @return eZTemplate
  */
 public static function templateInit()
 {
     $tpl = null;
     if (eZPublishSDK::majorVersion() >= 4 && eZPublishSDK::minorVersion() < 3) {
         include_once 'kernel/common/template.php';
         $tpl = templateInit();
     } else {
         $tpl = eZTemplate::factory();
     }
     return $tpl;
 }
コード例 #5
0
ファイル: ezsnmpdinfohandler.php プロジェクト: gggeek/ezsnmpd
 function get($oid)
 {
     $internaloid = preg_replace('/\\.0$/', '', $oid);
     switch ($internaloid) {
         case '3.1':
             return array('oid' => $oid, 'type' => eZSNMPd::TYPE_STRING, 'value' => eZPublishSDK::version());
         case '3.2':
             return array('oid' => $oid, 'type' => eZSNMPd::TYPE_STRING, 'value' => eZSNMPd::VERSION);
         case '3.3':
             return array('oid' => $oid, 'type' => eZSNMPd::TYPE_STRING, 'value' => $GLOBALS['eZCurrentAccess']['name']);
     }
     return self::NO_SUCH_OID;
     // oid not managed
 }
コード例 #6
0
 function setParameters( $parameters = array() )
 {
     $timestamp = time();
     if ( isset( $_SERVER['HOSTNAME'] ) )
         $host = $_SERVER['HOSTNAME'];
     else if ( isset( $_SERVER['HTTP_HOST'] ) )
         $host = $_SERVER['HTTP_HOST'];
     else
         $host = 'localhost';
     $packaging = array( 'timestamp' => $timestamp,
                         'host' => $host,
                         'packager' => false );
     $ezpublishVersion = eZPublishSDK::version( true );
     $ezpublishNamedVersion = eZPublishSDK::version( false, false, true );
     $ezpublish = array( 'version' => $ezpublishVersion,
                         'named-version' => $ezpublishNamedVersion );
     $defaults = array( 'name' => false,
                        'development' => eZPackage::DEVELOPMENT,
                        'summary' => false,
                        'description' => false,
                        'vendor' => false,
                        'vendor-dir' => false,
                        'priority' => false,
                        'type' => false,
                        'extension' => false,
                        'install_type' => 'install',
                        'ezpublish' => $ezpublish,
                        'maintainers' => array(),
                        'packaging' => $packaging,
                        'source' => false,
                        'documents' => array(),
                        'groups' => array(),
                        'changelog' => array(),
                        'file-list' => array(),
                        'simple-file-list' => array(),
                        'version-number' => false,
                        'release-number' => false,
                        'release-timestamp' => false,
                        'licence' => false,
                        'state' => false,
                        'dependencies' => array( 'provides' => array(),
                                                 'requires' => array(),
                                                 'obsoletes' => array(),
                                                 'conflicts' => array() ),
                        'install' => array(),
                        'uninstall' => array() );
     $this->PolicyCache = array();
     $this->InstallData = array();
     $this->Parameters = array_merge( $defaults, $parameters );
 }
コード例 #7
0
 protected static function initialize()
 {
     // starting with version 4.1, this is available in the Setup|System Info page
     if (version_compare('4.1', eZPublishSDK::version()) <= 0 && !count(ezSysinfoClusterManager::clusterNodes())) {
         self::$view_groups['php']['hidden'] = true;
     }
     /*if ( isset( $GLOBALS['_PHPA'] ) )
       {
          self::$view_groups['PHP']['phpaccelerator'];
       }
       else if ( extension_loaded( 'Turck MMCache' ) )
       {
           $operatorValue = 'mmcache';
       }*/
     if (extension_loaded('eAccelerator')) {
         self::$view_groups['eaccelerator']['disabled'] = false;
     }
     if (extension_loaded('apc')) {
         self::$view_groups['apc']['disabled'] = false;
     }
     if (function_exists('accelerator_get_status') || function_exists('opcache_get_status')) {
         self::$view_groups['acceleratorplus']['disabled'] = false;
     }
     /*else if ( extension_loaded( 'Zend Performance Suite' ) )
       {
           $operatorValue = 'performancesuite';
       }*/
     if (extension_loaded('xcache')) {
         self::$view_groups['xcache']['disabled'] = false;
     }
     if (extension_loaded('wincache')) {
         self::$view_groups['wincache']['disabled'] = false;
     }
     $db = eZDB::instance();
     if ($db->databaseName() == 'mysql') {
         /// @todo is this the correct way to check?
         if (function_exists('mysqli_get_client_stats')) {
             self::$view_groups['mysqli']['disabled'] = false;
         }
     }
     // a bit hackish
     if (count(ezSysinfoClusterManager::clusterNodes()) && !ezSysinfoClusterManager::isClusterSlaveRequest()) {
         foreach (self::$view_groups as &$viewDefinition) {
             if (@$viewDefinition['cluster_mode'] != '') {
                 $viewDefinition['script'] = $viewDefinition['cluster_mode'];
             }
         }
     }
 }
コード例 #8
0
 function eZStepSiteTypes($tpl, $http, $ini, &$persistenceList)
 {
     $ini = eZINI::instance('package.ini');
     $indexURL = trim($ini->variable('RepositorySettings', 'RemotePackagesIndexURL'));
     if ($indexURL === '') {
         $indexURL = trim($ini->variable('RepositorySettings', 'RemotePackagesIndexURLBase'));
         if (substr($indexURL, -1, 1) !== '/') {
             $indexURL .= '/';
         }
         $indexURL .= eZPublishSDK::version(false, false, false) . '/' . eZPublishSDK::version() . '/';
     }
     $this->IndexURL = $indexURL;
     if (substr($this->IndexURL, -1, 1) == '/') {
         $this->XMLIndexURL = $this->IndexURL . 'index.xml';
     } else {
         $this->XMLIndexURL = $this->IndexURL . '/index.xml';
     }
     $this->eZStepInstaller($tpl, $http, $ini, $persistenceList, 'site_types', 'Site types');
 }
コード例 #9
0
 function __construct()
 {
     $this->ReceiverElements = array();
     $this->MobileElements = array();
     $this->From = false;
     $this->CcElements = array();
     $this->BccElements = array();
     $this->ReplyTo = false;
     $this->Subject = false;
     $this->BodyText = false;
     $this->ExtraHeaders = array();
     $this->TextCodec = false;
     $this->MessageID = false;
     $this->Date = false;
     // Sets some default values
     $version = eZPublishSDK::version();
     $this->MIMEVersion = '1.0';
     $this->ContentType = array('type' => 'text/plain', 'charset' => eZTextCodec::internalCharset(), 'transfer-encoding' => '8bit', 'disposition' => 'inline', 'boundary' => false);
     $this->UserAgent = "eZ publish, Version {$version}";
     $ini = eZINI::instance();
     // HACK! Ignore system content type
     //if ( $ini->hasVariable( 'MailSettings', 'ContentType' ) )
     //    $this->setContentType( $ini->variable( 'MailSettings', 'ContentType' ) );
     if (!defined('EZ_MAIL_LINE_SEPARATOR')) {
         $ini = eZINI::instance('site.ini');
         $ending = $ini->variable('MailSettings', 'HeaderLineEnding');
         if ($ending == 'auto') {
             $sys = eZSys::instance();
             // For windows we use \r\n which is the endline defined in RFC 2045
             if ($sys->osType() == 'win32') {
                 $separator = "\r\n";
             } else {
                 $separator = "\n";
             }
         } else {
             $separator = urldecode($ending);
         }
         define('EZ_MAIL_LINE_SEPARATOR', $separator);
     }
 }
コード例 #10
0
ファイル: ezxmlschema.php プロジェクト: nfrp/ezpublish
 function eZXMLSchema()
 {
     $ini = eZINI::instance('content.ini');
     // Get inline custom tags list
     $this->Schema['custom']['isInline'] = $ini->variable('CustomTagSettings', 'IsInline');
     if (!is_array($this->Schema['custom']['isInline'])) {
         $this->Schema['custom']['isInline'] = array();
     }
     $this->Schema['custom']['tagList'] = $ini->variable('CustomTagSettings', 'AvailableCustomTags');
     if (!is_array($this->Schema['custom']['tagList'])) {
         $this->Schema['custom']['tagList'] = array();
     }
     $eZPublishVersion = eZPublishSDK::majorVersion() + eZPublishSDK::minorVersion() * 0.1;
     // Get all tags available classes list
     foreach (array_keys($this->Schema) as $tagName) {
         if ($ini->hasVariable($tagName, 'AvailableClasses')) {
             $avail = $ini->variable($tagName, 'AvailableClasses');
             if (is_array($avail) && count($avail)) {
                 $this->Schema[$tagName]['classesList'] = $avail;
             } else {
                 $this->Schema[$tagName]['classesList'] = array();
             }
         } else {
             $this->Schema[$tagName]['classesList'] = array();
         }
     }
     // Fix for empty paragraphs setting
     $allowEmptyParagraph = $ini->variable('paragraph', 'AllowEmpty');
     $this->Schema['paragraph']['childrenRequired'] = $allowEmptyParagraph == 'true' ? false : true;
     // Get all tags custom attributes list
     $ini = eZINI::instance('content.ini');
     foreach (array_keys($this->Schema) as $tagName) {
         if ($tagName == 'custom') {
             // Custom attributes of custom tags
             foreach ($this->Schema['custom']['tagList'] as $customTagName) {
                 if ($ini->hasVariable($customTagName, 'CustomAttributes')) {
                     $avail = $ini->variable($customTagName, 'CustomAttributes');
                     if (is_array($avail) && count($avail)) {
                         $this->Schema['custom']['customAttributes'][$customTagName] = $avail;
                     } else {
                         $this->Schema['custom']['customAttributes'][$customTagName] = array();
                     }
                 } else {
                     $this->Schema['custom']['customAttributes'][$customTagName] = array();
                 }
             }
         } else {
             // Custom attributes of regular tags
             if ($ini->hasVariable($tagName, 'CustomAttributes')) {
                 $avail = $ini->variable($tagName, 'CustomAttributes');
                 if (is_array($avail) && count($avail)) {
                     $this->Schema[$tagName]['customAttributes'] = $avail;
                 } else {
                     $this->Schema[$tagName]['customAttributes'] = array();
                 }
             } else {
                 $this->Schema[$tagName]['customAttributes'] = array();
             }
         }
     }
 }
コード例 #11
0
ファイル: index.php プロジェクト: legende91/ez
 $meta = $ini->variable('SiteSettings', 'MetaDataArray');
 if (!isset($meta['description'])) {
     $metaDescription = "";
     if (isset($moduleResult['path']) and is_array($moduleResult['path'])) {
         foreach ($moduleResult['path'] as $pathPart) {
             if (isset($pathPart['text'])) {
                 $metaDescription .= $pathPart['text'] . " ";
             }
         }
     }
     $meta['description'] = $metaDescription;
 }
 $site['uri'] = $oldURI;
 $site['redirect'] = false;
 $site['meta'] = $meta;
 $site['version'] = eZPublishSDK::version();
 $site['page_title'] = $module->title();
 $tpl->setVariable("site", $site);
 if ($ini->variable('DebugSettings', 'DisplayDebugWarnings') == 'enabled') {
     // Make sure any errors or warnings are reported
     if (isset($GLOBALS['eZDebugError']) and $GLOBALS['eZDebugError']) {
         eZAppendWarningItem(array('error' => array('type' => 'error', 'number' => 1, 'count' => $GLOBALS['eZDebugErrorCount']), 'identifier' => 'ezdebug-first-error', 'text' => ezpI18n::tr('index.php', 'Some errors occurred, see debug for more information.')));
     }
     if (isset($GLOBALS['eZDebugWarning']) and $GLOBALS['eZDebugWarning']) {
         eZAppendWarningItem(array('error' => array('type' => 'warning', 'number' => 1, 'count' => $GLOBALS['eZDebugWarningCount']), 'identifier' => 'ezdebug-first-warning', 'text' => ezpI18n::tr('index.php', 'Some general warnings occured, see debug for more information.')));
     }
 }
 if ($userObjectRequired) {
     $currentUser = eZUser::currentUser();
     $tpl->setVariable("current_user", $currentUser);
     $tpl->setVariable("anonymous_user_id", $ini->variable('UserSettings', 'AnonymousUserID'));
コード例 #12
0
ファイル: frame.php プロジェクト: gggeek/ggwebservices
 $method = '';
 if ($protocol == 'ezjscore') {
     $uri = "ezjscore/call";
 } elseif ($protocol == 'soap') {
     $wsINI = eZINI::instance('soap.ini');
     $uri = "webservices/wsdl";
 } else {
     if ($protocol == 'rest v1') {
         $uri = "api/ezp/v1";
         $restv1 = in_array('ezprestapiprovider', eZExtension::activeExtensions());
         $method = '/';
     } else {
         if ($protocol == 'rest v2') {
             $uri = "api/ezp/v2";
             $ver = eZPublishSDK::majorVersion();
             $restv2 = $ver >= 2012 & eZPublishSDK::minorVersion() >= 9 || $ver >= 5 && $ver < 2011;
             $method = '/';
         } else {
             $uri = "webservices/execute/{$protocol}";
         }
     }
 }
 eZURI::transformURI($uri, false, 'full');
 if ($protocol == 'rest v2' || $protocol == 'rest v1') {
     // for now, manually remove siteaccess name if found in url
     $sa = $GLOBALS['eZCurrentAccess']['name'];
     $uri = str_replace("/{$sa}/", "/", $uri);
 }
 /// @todo disable link if ezjscore not active, enable rest v1 and rest v2 ...
 if ($protocol == 'ezjscore' && in_array('ezjscore', eZExtension::activeExtensions()) || $protocol != 'ezjscore' && $protocol != 'rest v1' && $protocol != 'rest v2' && $wsINI->variable('GeneralSettings', 'Enable' . strtoupper($protocol)) == 'true' || $protocol == 'rest v1' && $restv1 || $protocol == 'rest v2' && $restv2) {
     $url = parse_url($uri);
コード例 #13
0
 /**
  * Note: this list will be "untrue" when some other php code has called eZPerfLogger::recordVale(),
  * as there will be more variables available. Shall we add 'custom' or '*' here?
  */
 public static function supportedVariables()
 {
     $out = array('execution_time' => 'float (seconds, rounded to 1msec)', 'mem_usage' => 'int (bytes, rounded to 1000)', 'output_size' => 'int (bytes)');
     /// @todo fix to run from eZ5 context
     if (eZPerfLoggerDebug::isDebugEnabled()) {
         $out['db_queries'] = 'int';
         $out['accumulators/*'] = 'float (seconds, rounded to 1msec)';
         $out['accumulators/*/count'] = 'int (number of times operation executed)';
     }
     if (extension_loaded('xhprof')) {
         $out['xhkprof_runs'] = 'string (csv list of identifiers)';
     }
     if (isset($_SERVER['UNIQUE_ID'])) {
         $out['unique_id'] = 'string (unique per-request identifier)';
     }
     /// @todo also take into account CP version numbers
     if (version_compare('4.7.0', eZPublishSDK::version()) >= 0) {
         $out['content/nodeid'] = 'int';
     }
     $out['_server/*'] = 'string (depending on the specific variable)';
     return $out;
 }
コード例 #14
0
 function generateRegistration($mailTpl, $comments)
 {
     $databaseMap = eZSetupDatabaseMap();
     $databaseInfo = $this->PersistenceList['database_info'];
     $databaseInfo['info'] = $databaseMap[$databaseInfo['type']];
     $regionalInfo = $this->PersistenceList['regional_info'];
     if (!isset($regionalInfo['languages'])) {
         $regionalInfo['languages'] = array();
     }
     //        $demoData = $this->PersistenceList['demo_data'];
     $emailInfo = $this->PersistenceList['email_info'];
     $siteTemplates = array();
     $siteType = $this->chosenSiteType();
     /* $typeFunctionality = eZSetupFunctionality( $siteType['identifier'] );
        $additionalPackages = array();
        if ( isset( $this->PersistenceList['additional_packages'] ) )
            $additionalPackages = $this->PersistenceList['additional_packages'];
        $extraFunctionality = array_merge( $additionalPackages,
                                           $typeFunctionality['required'] );
        $extraFunctionality = array_unique( $extraFunctionality );*/
     $url = $siteType['url'];
     if (!preg_match("#^[a-zA-Z0-9]+://(.*)\$#", $url)) {
         $url = 'http://' . $url;
     }
     $currentURL = $url;
     $adminURL = $url;
     if ($siteType['access_type'] == 'url') {
         $url .= '/' . $siteType['access_type_value'];
         $adminURL .= '/' . $siteType['admin_access_type_value'];
     } else {
         if ($siteType['access_type'] == 'hostname') {
             $url = eZHTTPTool::createRedirectURL('http://' . $siteType['access_type_value']);
             $adminURL = eZHTTPTool::createRedirectURL('http://' . $siteType['admin_access_type_value']);
         } else {
             if ($siteType['access_type'] == 'port') {
                 $url = eZHTTPTool::createRedirectURL($currentURL, array('override_port' => $siteType['access_type_value']));
                 $adminURL = eZHTTPTool::createRedirectURL($currentURL, array('override_port' => $siteType['admin_access_type_value']));
             }
         }
     }
     $siteType['url'] = $url;
     $siteType['admin_url'] = $adminURL;
     //$siteType['extra_functionality'] = $extraFunctionality;
     $testsRun = $this->PersistenceList['tests_run'];
     $imageMagickProgram = $this->PersistenceList['imagemagick_program'];
     $imageGDExtension = $this->PersistenceList['imagegd_extension'];
     $phpVersion = $this->PersistenceList['phpversion'];
     $webserverInfo = false;
     if (function_exists('apache_get_version')) {
         $webserverInfo = array('version' => apache_get_version());
     }
     $systemInfo = new eZSysInfo();
     $systemInfo->scan();
     $optionalTests = eZSetupOptionalTests();
     $testTable = eZSetupTestTable();
     $runResult = eZSetupRunTests($optionalTests, 'eZSetup:init:send_registration', $this->PersistenceList);
     $testResults = $runResult['results'];
     $testResult = $runResult['result'];
     $successCount = $runResult['success_count'];
     $persistenceData = $runResult['persistence_list'];
     // Send e-mail
     $mailTpl->setVariable('comments', $comments);
     $mailTpl->setVariable('database_info', $databaseInfo);
     $mailTpl->setVariable('regional_info', $regionalInfo);
     //        $mailTpl->setVariable( 'demo_data', $demoData );
     $mailTpl->setVariable('email_info', $emailInfo);
     $mailTpl->setVariable('site_type', $siteType);
     $mailTpl->setVariable('tests_run', $testsRun);
     $mailTpl->setVariable('imagemagick_program', $imageMagickProgram);
     $mailTpl->setVariable('imagegd_extension', $imageGDExtension);
     $mailTpl->setVariable('phpversion', $phpVersion);
     $mailTpl->setVariable('webserver', $webserverInfo);
     $mailTpl->setVariable('system', $systemInfo);
     $mailTpl->setVariable('os', array('name' => php_uname()));
     $mailTpl->setVariable('optional_tests', $testResults);
     $mailTpl->setVariable("version", array("text" => eZPublishSDK::version(), "major" => eZPublishSDK::majorVersion(), "minor" => eZPublishSDK::minorVersion(), "release" => eZPublishSDK::release()));
     return $mailTpl->fetch('design:setup/registration_email.tpl');
 }
コード例 #15
0
 static function databaseVersion( $withRelease = true )
 {
     $db = eZDB::instance();
     $rows = $db->arrayQuery( "SELECT value as version FROM ezsite_data WHERE name='ezpublish-version'" );
     $version = false;
     if ( count( $rows ) > 0 )
     {
         $version = $rows[0]['version'];
         if ( $withRelease )
         {
             $release = eZPublishSDK::databaseRelease();
             $version .= '-' . $release;
         }
     }
     return $version;
 }
コード例 #16
0
ファイル: inichecker.php プロジェクト: gggeek/ggsysinfo
 static function checkFileNames()
 {
     self::initialize();
     $ini = eZINI::instance('site.ini');
     $activesiteaccesses = $ini->variable('SiteAccessSettings', 'AvailableSiteAccessList');
     // $i => $name
     // checks:
     $warnings = array();
     // look for files named .ini.append, .ini.php
     foreach (self::$userinis as $file) {
         if (preg_match('/\\.ini(\\.append|\\.php)$/', $file)) {
             $warnings[] = array("File has deprecated filename extension", $file, null, '');
         }
     }
     // look for extension/xxx/siteaccess/yyy/zzz files, with yyy siteaccess not existing
     foreach (self::$userinis as $file) {
         if (preg_match('#/siteaccess/([^/]+)/.+#', $file, $matches)) {
             if ($matches[1] != 'setup' && $matches[1] != 'admin' && !in_array($matches[1], $activesiteaccesses)) {
                 $warnings[] = array("File is for an inactive siteaccess {$matches[1]}", $file, null, '');
             }
         }
     }
     // starting with version 4.4, it is not necessary to have exactly one .ini
     // file (and optionally many .ini.append.php)
     if (version_compare('4.4', eZPublishSDK::version()) <= 0) {
         // .ini files in extensions that have same name as std files, no .ini (master) file for new ones
         $newinis = array();
         $changedinis = array();
         foreach (self::$userinis as $file) {
             $ini = preg_replace('/\\.append$/', '', preg_replace('/\\.php/', '', basename($file)));
             if (in_array($ini, self::$originalinis)) {
                 $changedinis[$ini][] = $file;
             } else {
                 $newinis[$ini][] = $file;
             }
         }
         foreach ($changedinis as $ini) {
             foreach ($ini as $file) {
                 if (preg_match('#\\.ini$#', $file)) {
                     $warnings[] = array("File should be renamed to .ini.append.php", $file, null, '');
                 }
             }
         }
         foreach ($newinis as $ininame => $inis) {
             $orig = 0;
             foreach ($inis as $file) {
                 if (preg_match('#\\.ini$#', $file)) {
                     $orig++;
                 }
             }
             if ($orig != 1) {
                 if ($orig == 0) {
                     $warnings[] = array("There should be one {$ininame} file with a .ini extension. Found: " . implode($inis, ', '), '', null, '');
                 } else {
                     $warnings[] = array("There should be only one {$ininame} file with a .ini extension. Found: " . implode($inis, ', '), '', null, '');
                 }
             }
         }
     }
     return $warnings;
 }
コード例 #17
0
ファイル: about.php プロジェクト: jordanmanning/ezpublish
  Returns array with replacements
*/
function strReplaceByArray($searches = array(), $subjects = array())
{
    $retArray = array();
    foreach ($subjects as $key => $subject) {
        if (is_array($subject)) {
            $retArray[$key] = strReplaceByArray($searches, $subject);
        } else {
            $retArray[$key] = str_replace(array_keys($searches), $searches, $subject);
        }
    }
    return $retArray;
}
$ezinfo = eZPublishSDK::version(true);
$whatIsEzPublish = 'eZ Publish is a professional PHP application framework with advanced
CMS (content management system) functionality. As a CMS its most notable
featureis its revolutionary, fully customizable and extendable content
model. Thisis also what makes eZ Publish suitable as a platform for
general PHP  development,allowing you to rapidly create professional
web-based applications.

Standard CMS functionality (such as news publishing, e-commerce and
forums) are already implemented and ready to use. Standalone libraries
can be used for cross-platform database-independent browser-neutral
PHP projects. Because eZ Publish is a web-based application, it can
be accessed from anywhere you have an internet connection.';
$license = 'This copy of eZ Publish is distributed under the terms and conditions of
the GNU General Public License (GPL). Briefly summarized, the GPL gives
you the right to use, modify and share this copy of eZ Publish. If you
コード例 #18
0
ファイル: ezsetup.php プロジェクト: legende91/ez
    }
}
$done = false;
$result = null;
while (!$done && $step != null) {
    // Some common variables for all steps
    $tpl->setVariable("script", eZSys::serverVariable('PHP_SELF'));
    $siteBasics = $GLOBALS['eZSiteBasics'];
    $useIndex = $siteBasics['validity-check-required'];
    if ($useIndex) {
        $script = eZSys::wwwDir() . eZSys::indexFileName();
    } else {
        $script = eZSys::indexFile() . "/setup/{$partName}";
    }
    $tpl->setVariable('script', $script);
    $tpl->setVariable("version", array("text" => eZPublishSDK::version(), "major" => eZPublishSDK::majorVersion(), "minor" => eZPublishSDK::minorVersion(), "release" => eZPublishSDK::release(), "alias" => eZPublishSDK::alias()));
    if ($persistenceList === null) {
        $persistenceList = eZSetupFetchPersistenceList();
    }
    $tpl->setVariable('persistence_list', $persistenceList);
    // Try to include the relevant file
    $includeFile = $baseDir . 'steps/ezstep_' . $step['file'] . '.php';
    $stepClass = false;
    if (file_exists($includeFile)) {
        include_once $includeFile;
        $className = 'eZStep' . $step['class'];
        if ($step == $currentStep) {
            $stepInstaller = $previousStepClass;
        } else {
            $stepInstaller = new $className($tpl, $http, $ini, $persistenceList);
        }
コード例 #19
0
 function fetchDatabaseRelease()
 {
     return array('result' => eZPublishSDK::databaseRelease());
 }
コード例 #20
0
    /**
     * @param \eZTemplate $mailTpl
     * @param array $userData
     *
     * @return array|null|string
     */
    function generateRegistration( eZTemplate $mailTpl, array $userData )
    {
        $databaseMap = eZSetupDatabaseMap();
        $databaseInfo = $this->PersistenceList['database_info'];
        $databaseInfo['info'] = $databaseMap[$databaseInfo['type']];
        $regionalInfo = $this->PersistenceList['regional_info'];
        if ( !isset( $regionalInfo['languages'] ) )
            $regionalInfo['languages'] = array();

        $emailInfo = $this->PersistenceList['email_info'];

        $siteType = $this->chosenSiteType();


        $url = $siteType['url'];
        if ( !preg_match( "#^[a-zA-Z0-9]+://(.*)$#", $url ) )
        {
            $url = 'http://' . $url;
        }
        $currentURL = $url;
        $adminURL = $url;
        if ( $siteType['access_type'] == 'url' )
        {
            $url .= '/' . $siteType['access_type_value'];
            $adminURL .= '/' . $siteType['admin_access_type_value'];
        }
        else if ( $siteType['access_type'] == 'hostname' )
        {
            $url = eZHTTPTool::createRedirectURL( 'http://' . $siteType['access_type_value'] );
            $adminURL = eZHTTPTool::createRedirectURL( 'http://' . $siteType['admin_access_type_value'] );
        }
        else if ( $siteType['access_type'] == 'port' )
        {
            $url = eZHTTPTool::createRedirectURL( $currentURL, array( 'override_port' => $siteType['access_type_value'] ) );
            $adminURL = eZHTTPTool::createRedirectURL( $currentURL, array( 'override_port' => $siteType['admin_access_type_value'] ) );
        }
        $siteType['url'] = $url;
        $siteType['admin_url'] = $adminURL;


        $testsRun = $this->PersistenceList['tests_run'];
        $imageMagickProgram = $this->PersistenceList['imagemagick_program'];
        $imageGDExtension = $this->PersistenceList['imagegd_extension'];
        $phpVersion = $this->PersistenceList['phpversion'];
        $phpVersion['sapi'] = PHP_SAPI;

        $webserverInfo = false;
        if ( function_exists( 'apache_get_version' ) )
        {
            $webserverInfo = array( 'version' => apache_get_version() );
        }
        else if ( !empty( $_SERVER['SERVER_SOFTWARE'] ) )
        {
            $webserverInfo = array( 'version' => $_SERVER['SERVER_SOFTWARE'] );
        }

        $systemInfo = new eZSysInfo();
        $systemInfo->scan();

        $optionalTests = eZSetupOptionalTests();
        $runResult = eZSetupRunTests( $optionalTests, 'eZSetup:init:send_registration', $this->PersistenceList );
        $testResults = $runResult['results'];

        // Generate email body e-mail
        $mailTpl->setVariable( 'user_data', $userData );
        $mailTpl->setVariable( 'database_info', $databaseInfo );
        $mailTpl->setVariable( 'regional_info', $regionalInfo );
        $mailTpl->setVariable( 'email_info', $emailInfo );
        $mailTpl->setVariable( 'site_type', $siteType );
        $mailTpl->setVariable( 'tests_run', $testsRun );
        $mailTpl->setVariable( 'imagemagick_program', $imageMagickProgram );
        $mailTpl->setVariable( 'imagegd_extension', $imageGDExtension );
        $mailTpl->setVariable( 'phpversion', $phpVersion );
        $mailTpl->setVariable( 'webserver', $webserverInfo );
        $mailTpl->setVariable( 'system', $systemInfo );
        $mailTpl->setVariable( 'os', array( 'name' => php_uname() ) );
        $mailTpl->setVariable( 'optional_tests', $testResults );
        $mailTpl->setVariable( "version", array( "text" => eZPublishSDK::version(),
                                                 "major" => eZPublishSDK::majorVersion(),
                                                 "minor" => eZPublishSDK::minorVersion(),
                                                 "release" => eZPublishSDK::release() ) );

        return $mailTpl->fetch( 'design:setup/registration_email.tpl' );
    }
コード例 #21
0
        $script->shutdown(1);
    }
    $params = array('use_defaults' => false, 'server' => $dbHost, 'user' => $dbUser, 'socket' => $dbSocket, 'password' => $dbPassword, 'database' => $dbName);
    $db = eZDB::instance($dbType, $params, true);
    if (!$db->isConnected()) {
        $str = "Failed to connect to database: {$dbType}://{$dbUser}@{$dbHost}";
        $cli->error($str);
        $script->shutdown(1);
    }
    eZDB::setInstance($db);
    // Only continue if the database is using the same version as the PHP code
    $rows = $db->arrayQuery("SELECT * FROM ezsite_data WHERE name = 'ezpublish-version'");
    if (count($rows) > 0) {
        $version = $rows[0]['value'];
        if (version_compare($version, eZPublishSDK::version()) != 0) {
            $cli->error("Version '{$version}' in database '{$dbName}' is different from the running version " . eZPublishSDK::version());
            $script->shutdown(1);
        }
    }
}
$script->setUser($userLogin, $userPassword);
$script->initialize();
$alreadyCreated = false;
$createdPackages = array();
foreach ($commandList as $commandItem) {
    $command = $commandItem['command'];
    if ($command == 'list') {
        $fetchParameters = array();
        if ($repositoryID) {
            $fetchParameters['repository_id'] = $repositoryID;
            $cli->output("The list of packages in the repository " . $cli->stylize('dir', $fetchParameters['repository_id']) . ":");
コード例 #22
0
function templateOperatorDownload($tpl, &$persistentData, $stepData)
{
    $singleOperator = $persistentData['single-operator'];
    $useInput = $persistentData['use-input'];
    $useOutput = $persistentData['use-output'];
    $parameterCheck = $persistentData['parameter-check'];
    $useInput = true;
    $useOutput = false;
    $parameterCheck = 2;
    $operatorName = $persistentData['name'];
    $className = $persistentData['class-name'];
    if (!$className) {
        $fullClassName = 'Template' . strtoupper($operatorName[0]) . substr($operatorName, 1) . 'Operator';
    } else {
        $fullClassName = $className;
    }
    $filename = strtolower($fullClassName) . '.php';
    $description = $persistentData['description'];
    $creator = $persistentData['creator-name'];
    $example = $persistentData['example-code'];
    $brief = '';
    $full = '';
    $lines = explode("\n", $description);
    if (count($lines) > 0) {
        $brief = $lines[0];
        $full = implode("\n", array_slice($lines, 1));
    }
    $tpl->setVariable('full_class_name', $fullClassName);
    $tpl->setVariable('class_name', $className);
    $tpl->setVariable('file_name', $filename);
    $tpl->setVariable('operator_name', $operatorName);
    $tpl->setVariable('example_code', $example);
    $tpl->setVariable('creator_name', $creator);
    $tpl->setVariable('description_brief', $brief);
    $tpl->setVariable('description_full', $full);
    $tpl->setVariable('single_operator', $singleOperator);
    $tpl->setVariable('use_input', $useInput);
    $tpl->setVariable('use_output', $useOutput);
    $tpl->setVariable('parameter_check', $parameterCheck);
    $content = $tpl->fetch('design:setup/templateoperator_code.tpl');
    $contentLength = strlen($content);
    $mimeType = 'application/octet-stream';
    $version = eZPublishSDK::version();
    header("Pragma: ");
    header("Cache-Control: ");
    header("Content-Length: {$contentLength}");
    header("Content-Type: {$mimeType}");
    header("X-Powered-By: eZ Publish {$version}");
    header("Content-Disposition: attachment; filename={$filename}");
    header("Content-Transfer-Encoding: binary");
    ob_end_clean();
    print $content;
    fflush();
    eZExecution::cleanExit();
}
コード例 #23
0
ファイル: sysinfotools.php プロジェクト: gggeek/ggsysinfo
 /**
  * Wrapper method to initialize a template and eventually takes advantage of new 4.3 TPL API
  * @return eZTemplate
  */
 public static function eZTemplateFactory()
 {
     if (eZPublishSDK::majorVersion() == 4 && eZPublishSDK::minorVersion() < 3) {
         include_once 'kernel/common/template.php';
         return templateInit();
     } else {
         return eZTemplate::factory();
     }
 }
コード例 #24
0
ファイル: operationlist.php プロジェクト: gggeek/ggsysinfo
                                    $view = array_merge( array( 'params' => array(), 'functions' => array(), 'unordered_params' => array(), 'single_post_actions' => array(), 'post_actions' => array(), 'post_action_parameters' => array() ), $view );
                                    $operationList[$viewname . '_' . $modulename] = $view;
                                    $operationList[$viewname . '_' . $modulename]['name'] = $viewname;
                                    $operationList[$viewname . '_' . $modulename]['module'] = $modulename;
                                    $operationList[$viewname . '_' . $modulename]['extension'] = $extension;
                                    // merge all post parameters stuff
                                    $post_params = array_merge( $view['post_actions'], array_keys( $view['single_post_actions'] ) );
                                    foreach( $view['post_action_parameters'] as $key => $params )
                                    {
                                        $post_params = array_merge( $post_params, array_keys( $params ) );
                                    }
                                    sort( $post_params );
                                    $operationList[$viewname . '_' . $modulename]['post_params'] = array_unique( $post_params );
                                }*/
            }
        }
    }
    ksort($operationList);
}
$title = 'List of available operations';
if ($Params['modulename'] != '') {
    $title .= ' in module "' . $Params['modulename'] . '"';
    $extra_path = $Params['modulename'];
}
$ezgeshi_available = sysInfoTools::ezgeshiAvailable();
$tpl->setVariable('title', $title);
$tpl->setVariable('operationlist', $operationList);
$tpl->setVariable('sdkversion', eZPublishSDK::version());
$tpl->setVariable('ezgeshi_available', $ezgeshi_available);
$tpl->setVariable('source_available', sysInfoTools::sourceCodeAvailable(eZPublishSDK::version()));
コード例 #25
0
 function eZXMLInputParser($validateErrorLevel = self::ERROR_NONE, $detectErrorLevel = self::ERROR_NONE, $parseLineBreaks = false, $removeDefaultAttrs = false)
 {
     // Back-compatibility fixes:
     if ($detectErrorLevel === self::SHOW_SCHEMA_ERRORS) {
         $detectErrorLevel = self::ERROR_SCHEMA;
     } elseif ($detectErrorLevel === self::SHOW_ALL_ERRORS) {
         $detectErrorLevel = self::ERROR_ALL;
     }
     if ($validateErrorLevel === false) {
         $validateErrorLevel = self::ERROR_NONE;
     } elseif ($validateErrorLevel === true) {
         $validateErrorLevel = $detectErrorLevel;
     }
     $this->ValidateErrorLevel = $validateErrorLevel;
     $this->DetectErrorLevel = $detectErrorLevel;
     $this->RemoveDefaultAttrs = $removeDefaultAttrs;
     $this->ParseLineBreaks = $parseLineBreaks;
     $this->XMLSchema = eZXMLSchema::instance();
     $this->eZPublishVersion = eZPublishSDK::majorVersion() + eZPublishSDK::minorVersion() * 0.1;
     $ini = eZINI::instance('ezxml.ini');
     if ($ini->hasVariable('InputSettings', 'TrimSpaces')) {
         $trimSpaces = $ini->variable('InputSettings', 'TrimSpaces');
         $this->TrimSpaces = $trimSpaces == 'true' ? true : false;
     }
     if ($ini->hasVariable('InputSettings', 'AllowMultipleSpaces')) {
         $allowMultipleSpaces = $ini->variable('InputSettings', 'AllowMultipleSpaces');
         $this->AllowMultipleSpaces = $allowMultipleSpaces == 'true' ? true : false;
     }
     if ($ini->hasVariable('InputSettings', 'AllowNumericEntities')) {
         $allowNumericEntities = $ini->variable('InputSettings', 'AllowNumericEntities');
         $this->AllowNumericEntities = $allowNumericEntities == 'true' ? true : false;
     }
     $contentIni = eZINI::instance('content.ini');
     $useStrictHeaderRule = $contentIni->variable('header', 'UseStrictHeaderRule');
     $this->StrictHeaders = $useStrictHeaderRule == 'true' ? true : false;
 }
コード例 #26
0
 /**
  * Execution point for controller actions
  */
 public function run()
 {
     ob_start();
     $this->requestInit();
     // send header information
     foreach (eZHTTPHeader::headerOverrideArray($this->uri) + array('Expires' => 'Mon, 26 Jul 1997 05:00:00 GMT', 'Last-Modified' => gmdate('D, d M Y H:i:s') . ' GMT', 'Cache-Control' => 'no-cache, must-revalidate', 'Pragma' => 'no-cache', 'X-Powered-By' => 'eZ Publish', 'Content-Type' => 'text/html; charset=' . $this->httpCharset, 'Served-by' => $_SERVER["SERVER_NAME"], 'Content-language' => $this->languageCode) as $key => $value) {
         header($key . ': ' . $value);
     }
     try {
         $moduleResult = $this->dispatchLoop();
     } catch (Exception $e) {
         $this->shutdown();
         throw $e;
     }
     $ini = eZINI::instance();
     /**
      * Ouput an is_logged_in cookie when users are logged in for use by http cache solutions.
      *
      * @deprecated As of 4.5, since 4.4 added lazy session support (init on use)
      */
     if ($ini->variable("SiteAccessSettings", "CheckValidity") !== 'true') {
         $currentUser = eZUser::currentUser();
         $wwwDir = eZSys::wwwDir();
         // On host based site accesses this can be empty, causing the cookie to be set for the current dir,
         // but we want it to be set for the whole eZ publish site
         $cookiePath = $wwwDir != '' ? $wwwDir : '/';
         if ($currentUser->isLoggedIn()) {
             // Only set the cookie if it doesnt exist. This way we are not constantly sending the set request in the headers.
             if (!isset($_COOKIE['is_logged_in']) || $_COOKIE['is_logged_in'] !== 'true') {
                 setcookie('is_logged_in', 'true', 0, $cookiePath);
             }
         } else {
             if (isset($_COOKIE['is_logged_in'])) {
                 setcookie('is_logged_in', false, 0, $cookiePath);
             }
         }
     }
     if ($this->module->exitStatus() == eZModule::STATUS_REDIRECT) {
         $this->redirect();
     }
     // Store the last URI for access history for login redirection
     // Only if user has session and only if there was no error or no redirects happen
     if (eZSession::hasStarted() && $this->module->exitStatus() == eZModule::STATUS_OK) {
         $currentURI = $this->completeRequestedURI;
         if (strlen($currentURI) > 0 && $currentURI[0] !== '/') {
             $currentURI = '/' . $currentURI;
         }
         $lastAccessedURI = "";
         $lastAccessedViewURI = "";
         $http = eZHTTPTool::instance();
         // Fetched stored session variables
         if ($http->hasSessionVariable("LastAccessesURI")) {
             $lastAccessedViewURI = $http->sessionVariable("LastAccessesURI");
         }
         if ($http->hasSessionVariable("LastAccessedModifyingURI")) {
             $lastAccessedURI = $http->sessionVariable("LastAccessedModifyingURI");
         }
         // Update last accessed view page
         if ($currentURI != $lastAccessedViewURI && !in_array($this->module->uiContextName(), array('edit', 'administration', 'browse', 'authentication'))) {
             $http->setSessionVariable("LastAccessesURI", $currentURI);
         }
         // Update last accessed non-view page
         if ($currentURI != $lastAccessedURI) {
             $http->setSessionVariable("LastAccessedModifyingURI", $currentURI);
         }
     }
     eZDebug::addTimingPoint("Module end '" . $this->module->attribute('name') . "'");
     if (!is_array($moduleResult)) {
         eZDebug::writeError('Module did not return proper result: ' . $this->module->attribute('name'), 'index.php');
         $moduleResult = array();
         $moduleResult['content'] = false;
     }
     if (!isset($moduleResult['ui_context'])) {
         $moduleResult['ui_context'] = $this->module->uiContextName();
     }
     $moduleResult['ui_component'] = $this->module->uiComponentName();
     $moduleResult['is_mobile_device'] = $this->mobileDeviceDetect->isMobileDevice();
     $moduleResult['mobile_device_alias'] = $this->mobileDeviceDetect->getUserAgentAlias();
     $templateResult = null;
     eZDebug::setUseExternalCSS($this->siteBasics['external-css']);
     if ($this->siteBasics['show-page-layout']) {
         $tpl = eZTemplate::factory();
         if ($tpl->hasVariable('node')) {
             $tpl->unsetVariable('node');
         }
         if (!isset($moduleResult['path'])) {
             $moduleResult['path'] = false;
         }
         $moduleResult['uri'] = eZSys::requestURI();
         $tpl->setVariable("module_result", $moduleResult);
         $meta = $ini->variable('SiteSettings', 'MetaDataArray');
         if (!isset($meta['description'])) {
             $metaDescription = "";
             if (isset($moduleResult['path']) && is_array($moduleResult['path'])) {
                 foreach ($moduleResult['path'] as $pathPart) {
                     if (isset($pathPart['text'])) {
                         $metaDescription .= $pathPart['text'] . " ";
                     }
                 }
             }
             $meta['description'] = $metaDescription;
         }
         $this->site['uri'] = $this->oldURI;
         $this->site['redirect'] = false;
         $this->site['meta'] = $meta;
         $this->site['version'] = eZPublishSDK::version();
         $this->site['page_title'] = $this->module->title();
         $tpl->setVariable("site", $this->site);
         if ($ini->variable('DebugSettings', 'DisplayDebugWarnings') === 'enabled') {
             // Make sure any errors or warnings are reported
             if (isset($GLOBALS['eZDebugError']) && $GLOBALS['eZDebugError']) {
                 eZAppendWarningItem(array('error' => array('type' => 'error', 'number' => 1, 'count' => $GLOBALS['eZDebugErrorCount']), 'identifier' => 'ezdebug-first-error', 'text' => ezpI18n::tr('index.php', 'Some errors occurred, see debug for more information.')));
             }
             if (isset($GLOBALS['eZDebugWarning']) && $GLOBALS['eZDebugWarning']) {
                 eZAppendWarningItem(array('error' => array('type' => 'warning', 'number' => 1, 'count' => $GLOBALS['eZDebugWarningCount']), 'identifier' => 'ezdebug-first-warning', 'text' => ezpI18n::tr('index.php', 'Some general warnings occured, see debug for more information.')));
             }
         }
         if ($this->siteBasics['user-object-required']) {
             $currentUser = eZUser::currentUser();
             $tpl->setVariable("current_user", $currentUser);
             $tpl->setVariable("anonymous_user_id", $ini->variable('UserSettings', 'AnonymousUserID'));
         } else {
             $tpl->setVariable("current_user", false);
             $tpl->setVariable("anonymous_user_id", false);
         }
         $tpl->setVariable("access_type", $this->access);
         $tpl->setVariable('warning_list', !empty($this->warningList) ? $this->warningList : false);
         $resource = "design:";
         if (is_string($this->siteBasics['show-page-layout'])) {
             if (strpos($this->siteBasics['show-page-layout'], ":") !== false) {
                 $resource = "";
             }
         } else {
             $this->siteBasics['show-page-layout'] = "pagelayout.tpl";
         }
         // Set the navigation part
         // Check for navigation part settings
         $navigationPartString = 'ezcontentnavigationpart';
         if (isset($moduleResult['navigation_part'])) {
             $navigationPartString = $moduleResult['navigation_part'];
             // Fetch the navigation part
         }
         $navigationPart = eZNavigationPart::fetchPartByIdentifier($navigationPartString);
         $tpl->setVariable('navigation_part', $navigationPart);
         $tpl->setVariable('uri_string', $this->uri->uriString());
         if (isset($moduleResult['requested_uri_string'])) {
             $tpl->setVariable('requested_uri_string', $moduleResult['requested_uri_string']);
         } else {
             $tpl->setVariable('requested_uri_string', $this->actualRequestedURI);
         }
         // Set UI context and component
         $tpl->setVariable('ui_context', $moduleResult['ui_context']);
         $tpl->setVariable('ui_component', $moduleResult['ui_component']);
         $templateResult = $tpl->fetch($resource . $this->siteBasics['show-page-layout']);
     } else {
         $templateResult = $moduleResult['content'];
     }
     eZDebug::addTimingPoint("Script end");
     $content = trim(ob_get_clean());
     ob_start();
     eZDB::checkTransactionCounter();
     eZDisplayResult($templateResult);
     $content .= ob_get_clean();
     $this->shutdown();
     return new ezpKernelResult($content);
 }
コード例 #27
0
        $phpAcceleratorInfo = array('name' => $info->phpAccelerator->name, 'url' => $info->phpAccelerator->url, 'enabled' => $info->phpAccelerator->isEnabled, 'version_integer' => $info->phpAccelerator->versionInt, 'version_string' => $info->phpAccelerator->versionString);
    } else {
        $phpAcceleratorInfo = array();
    }
} else {
    $systemInfo = array('cpu_type' => '', 'cpu_speed' => '', 'cpu_count' => '', 'memory_size' => '');
    $phpAcceleratorInfo = array();
}
$webserverInfo = false;
if (function_exists('apache_get_version')) {
    $webserverInfo = array('name' => 'Apache', 'modules' => false, 'version' => apache_get_version());
    if (function_exists('apache_get_modules')) {
        $webserverInfo['modules'] = apache_get_modules();
    }
}
$tpl->setVariable('ezpublish_version', eZPublishSDK::version() . " (" . eZPublishSDK::alias() . ")");
$tpl->setVariable('ezpublish_extensions', eZExtension::activeExtensions());
$tpl->setVariable('php_version', phpversion());
$tpl->setVariable('php_accelerator', $phpAcceleratorInfo);
$tpl->setVariable('webserver_info', $webserverInfo);
$tpl->setVariable('database_info', $db->databaseName());
$tpl->setVariable('database_charset', $db->charset());
$tpl->setVariable('database_object', $db);
$tpl->setVariable('php_loaded_extensions', get_loaded_extensions());
$tpl->setVariable('autoload_functions', spl_autoload_functions());
// Workaround until ezcTemplate
// The new system info class uses properties instead of attributes, so the
// values are not immediately available in the old template engine.
$tpl->setVariable('system_info', $systemInfo);
$phpINI = array();
foreach (array('safe_mode', 'register_globals', 'file_uploads') as $iniName) {
コード例 #28
0
    $tpl->setVariable( "script", eZSys::serverVariable( 'PHP_SELF' ) );

    $siteBasics = $GLOBALS['eZSiteBasics'];
    $useIndex = $siteBasics['validity-check-required'];

    if ( $useIndex )
        $script = eZSys::wwwDir() . eZSys::indexFileName();
    else
        $script = eZSys::indexFile() . "/setup/$partName";
    $tpl->setVariable( 'script', $script );

    $tpl->setVariable( "version", array( "text" => eZPublishSDK::version(),
                                         "major" => eZPublishSDK::majorVersion(),
                                         "minor" => eZPublishSDK::minorVersion(),
                                         "release" => eZPublishSDK::release(),
                                         "alias" => eZPublishSDK::alias() ) );

    if ( $persistenceList === null )
        $persistenceList = eZSetupFetchPersistenceList();
    $tpl->setVariable( 'persistence_list', $persistenceList );

    // Try to include the relevant file
    $includeFile = $baseDir . 'steps/ezstep_'.$step['file'].'.php';
    $stepClass = false;
    if ( file_exists( $includeFile ) )
    {
        include_once( $includeFile );
        $className = 'eZStep'.$step['class'];

        if ( $step == $currentStep ) // if processing post data of current step failed, use same class object.
        {
コード例 #29
0
ファイル: datatype.php プロジェクト: CG77/ezpublish-legacy
function datatypeDownload($tpl, &$persistentData, $stepData)
{
    $datatypeName = $persistentData['name'];
    $classInput = $persistentData['class-input'];
    $descName = $persistentData['desc-name'];
    $className = $persistentData['class-name'];
    $constantName = $persistentData['constant-name'];
    $creator = $persistentData['creator-name'];
    $description = $persistentData['description'];
    $datatypeName = $persistentData['datatype-name'];
    $filename = strtolower($className) . '.php';
    $brief = '';
    $full = '';
    $lines = explode("\n", $description);
    if (count($lines) > 0) {
        $brief = $lines[0];
        $full = implode("\n", array_slice($lines, 1));
    }
    $tpl->setVariable('full_class_name', $className);
    $tpl->setVariable('constant_name', $constantName);
    $tpl->setVariable('datatype_name', $datatypeName);
    $tpl->setVariable('desc_name', $descName);
    $tpl->setVariable('file_name', $filename);
    $tpl->setVariable('creator_name', $creator);
    $tpl->setVariable('description_brief', $brief);
    $tpl->setVariable('description_full', $full);
    $tpl->setVariable('class_input', $classInput);
    $content = $tpl->fetch('design:setup/datatype_code.tpl');
    $contentLength = strlen($content);
    $mimeType = 'application/octet-stream';
    $version = eZPublishSDK::version();
    header("Pragma: ");
    header("Cache-Control: ");
    header("Content-Length: {$contentLength}");
    header("Content-Type: {$mimeType}");
    header("X-Powered-By: eZ Publish {$version}");
    header("Content-Disposition: attachment; filename={$filename}");
    header("Content-Transfer-Encoding: binary");
    ob_end_clean();
    print $content;
    flush();
    eZExecution::cleanExit();
}
コード例 #30
0
ファイル: ezscript.php プロジェクト: nlescure/ezpublish
 function validateVersion()
 {
     $versionValidated = false;
     $ezversion = eZPublishSDK::version();
     if ($this->MinVersion !== false) {
         if ($this->MaxVersion !== false) {
             if (version_compare($this->MinVersion, $ezversion, 'le') && version_compare($this->MaxVersion, $ezversion, 'ge')) {
                 return true;
             }
             return false;
         }
         if (version_compare($this->MinVersion, $ezversion, 'le')) {
             return true;
         }
         return false;
     } else {
         if (version_compare($this->MaxVersion, $ezversion, 'ge')) {
             return true;
         }
         return false;
     }
 }