Joomla 1.5 Белый экран после переноса.

Тема в разделе "Перенос Joomla на хостинг и проблемы с хостингом", создана пользователем Koss-Tess, 29.07.2011.

  1. Koss-Tess
    Offline

    Koss-Tess Недавно здесь

    Регистрация:
    24.07.2010
    Сообщения:
    17
    Симпатии:
    0
    Пол:
    Мужской
    Добрый день дорогие форумчане!
    Моя проблема в том что после переноса на хостинг сайт не отображается, показывает пустой белый лист.
    Пытался найти решение проблемы своими силами, не получилось.
    Вот собственно ошибка:
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /www/vyazemsk/users/vyazemsk-magazin/www/htdocs/administrator/components/com_virtuemart/classes/ps_module.php on line 262

    Файл ps_module.php:
    Код (CODE):
    1. <?php
    2. if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
    3. /**
    4. *
    5. * @version $Id: ps_module.php 3457 2011-06-07 20:03:23Z zanardi $
    6. * @package VirtueMart
    7. * @subpackage classes
    8. * @copyright Copyright (C) 2004-2007 soeren - All rights reserved.
    9. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
    10. * VirtueMart is free software. This version may have been modified pursuant
    11. * to the GNU General Public License, and as distributed it includes or
    12. * is derivative of works licensed under the GNU General Public License or
    13. * other free or open source software licenses.
    14. * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
    15. *
    16. * http://virtuemart.net
    17. */
    18. /**
    19.  * VirtueMart "Core Module" Management
    20.  *
    21.  */
    22. class vm_ps_module {
    23.  
    24.  
    25.     /**
    26.      * Validates the Input Parameters onBeforeModuleAdd
    27.      *
    28.      * @param array $d
    29.      * @return boolean
    30.      */
    31.     function validate_add(&$d) {
    32.         global $db, $vmLogger, $VM_LANG;
    33.  
    34.         if ( empty($d[ 'module_name' ] )) {
    35.             $vmLogger->err ( $VM_LANG->_('VM_MODULE_ERR_NAME') );
    36.             return False;
    37.         }
    38.         else {
    39.             $q = "SELECT count(*) as rowcnt from #__{vm}_module where module_name='" . $db->getEscaped( $d[ 'module_name' ] ) . "'";
    40.             $db->query($q);
    41.             $db->next_record();
    42.             if ($db->f("rowcnt") > 0) {
    43.                 $vmLogger->err( $VM_LANG->_('VM_MODULE_ERR_EXISTS') );
    44.                 return False;
    45.             }
    46.         }
    47.  
    48.         if ( empty($d[ 'module_perms' ]) ) {
    49.             $vmLogger->err( $VM_LANG->_('VM_MODULE_ERR_PERMS') );
    50.             return false;
    51.         }
    52.         if (empty( $d[ 'list_order' ] ) ) {
    53.             $d[ 'list_order' ] = "99";
    54.         }
    55.         return True;
    56.     }
    57.  
    58.  
    59.     /**
    60.      * Validates the Input Parameters onBeforeModuleUpdate
    61.      *
    62.      * @param array $d
    63.      * @return boolean
    64.      */
    65.     function validate_update(&$d) {
    66.         global $vmLogger, $VM_LANG;
    67.        
    68.  
    69.         if ( empty($d[ 'module_name' ] )) {
    70.             $vmLogger->err ( $VM_LANG->_('VM_MODULE_ERR_NAME') );
    71.             return False;
    72.         }
    73.         else {
    74.             $db = new ps_DB();
    75.             $q = "SELECT COUNT(*) AS rowcnt FROM #__{vm}_module WHERE module_name='" . $db->getEscaped( $d[ 'module_name' ] ) . "' AND module_id <> ".(int)$d['module_id'];
    76.             $db->query($q);
    77.             $db->next_record();
    78.             if ($db->f("rowcnt") > 0) {
    79.                 $vmLogger->err( $VM_LANG->_('VM_MODULE_ERR_EXISTS') );
    80.                 return False;
    81.             }
    82.         }
    83.  
    84.         if ( empty($d[ 'module_perms' ]) ) {
    85.             $vmLogger->err( $VM_LANG->_('VM_MODULE_ERR_PERMS') );
    86.             return false;
    87.         }
    88.         if (empty( $d[ 'list_order' ] ) ) {
    89.             $d[ 'list_order' ] = "99";
    90.         }
    91.         return True;
    92.     }
    93.    
    94.    
    95.     /**
    96.      * Validates the Input Parameters onBeforeModuleDelete
    97.      *
    98.      * @param array $d
    99.      * @return boolean
    100.      */
    101.     function validate_delete($module_id) {
    102.         global $db, $vmLogger, $VM_LANG;
    103.  
    104.         if (empty($module_id)) {
    105.             $vmLogger->err( $VM_LANG->_('VM_MODULE_ERR_DELETE_SELECT') );
    106.             return False;
    107.         }
    108.  
    109.         $db->query( 'SELECT module_name FROM #__{vm}_module WHERE module_id='.(int)$module_id );
    110.         $db->next_record();
    111.         $name = $db->f("module_name");
    112.         if( $this->is_core( $name ) ) {
    113.             $vmLogger->err( str_replace('{name}',$name,$VM_LANG->_('VM_MODULE_ERR_DELETE_CORE')) );
    114.             return false;
    115.         }
    116.         return True;
    117.  
    118.     }
    119.  
    120.     /**
    121.      * Adds a new module into the core module register
    122.      *
    123.      * @param array $d
    124.      * @return boolean
    125.      */
    126.     function add(&$d) {
    127.         global $db, $VM_LANG;
    128.  
    129.         $timestamp = time();
    130.  
    131.         if (!$this->validate_add($d)) {
    132.             $d[ 'error' ] = $this->error;
    133.             return False;
    134.         }
    135.         if( is_array( $d[ 'module_perms' ] )) {        
    136.             $d[ 'module_perms' ] = implode( ',', $d[ 'module_perms' ] );
    137.         }
    138.         $fields = array( 'module_name' => vmGet( $d, 'module_name' ),
    139.                         'module_perms' => vmGet( $d, 'module_perms' ),
    140.                         'module_description' => vmGet( $d, 'module_description' ),
    141.                         'module_publish' => vmGet( $d, 'module_publish'),
    142.                         'list_order' => vmRequest::getInt('list_order')
    143.                     );
    144.            
    145.         $db->buildQuery( 'INSERT',  '#__{vm}_module', $fields );
    146.  
    147.         if( $db->query() !== false ) {
    148.             $_REQUEST['module_id'] = $db->last_insert_id();
    149.             $GLOBALS['vmLogger']->info( $VM_LANG->_('VM_MODULE_ADDED') );
    150.             return True;
    151.         }
    152.         return false;
    153.  
    154.     }
    155.  
    156.     /**
    157.      * Updates information about a core module
    158.      *
    159.      * @param array $d
    160.      * @return boolean
    161.      */
    162.     function update(&$d) {
    163.         global $db, $VM_LANG;
    164.  
    165.         $timestamp = time();
    166.  
    167.         if (!$this->validate_update($d)) {
    168.             $d[ 'error' ] = $this->error;
    169.             return False;
    170.         }
    171.         if( is_array( $d[ 'module_perms' ] )) {        
    172.             $d[ 'module_perms' ] = implode( ',', $d[ 'module_perms' ] );
    173.         }
    174.        
    175.         $fields = array( 'module_name' => vmGet( $d, 'module_name' ),
    176.                         'module_perms' => vmGet( $d, 'module_perms' ),
    177.                         'module_description' => vmGet( $d, 'module_description' ),
    178.                         'module_publish' => vmGet( $d, 'module_publish'),
    179.                         'list_order' => vmRequest::getInt('list_order')
    180.                     );
    181.            
    182.         $db->buildQuery( 'UPDATE',  '#__{vm}_module', $fields, ' WHERE module_id='.intval( $d[ 'module_id' ] ) );
    183.  
    184.         if( $db->query() !== false ) {
    185.             $GLOBALS['vmLogger']->info( $VM_LANG->_('VM_MODULE_UPDATED') );
    186.             return True;
    187.         }
    188.  
    189.         return false;
    190.     }
    191.  
    192.     /**
    193.     * Controller for Deleting Records.
    194.     */
    195.     function delete(&$d) {
    196.  
    197.         $record_id = $d["module_id"];
    198.  
    199.         if( is_array( $record_id)) {
    200.             foreach( $record_id as $record) {
    201.                 if( !$this->delete_record( $record, $d ))
    202.                 return false;
    203.             }
    204.             return true;
    205.         }
    206.         else {
    207.             return $this->delete_record( $record_id, $d );
    208.         }
    209.     }
    210.     /**
    211.     * Deletes one Record.
    212.     */
    213.     function delete_record( $record_id, &$d ) {
    214.  
    215.         global $db;
    216.  
    217.         if (!$this->validate_delete($record_id)) {
    218.             $d[ 'error' ]=$this->error;
    219.             return False;
    220.         }
    221.  
    222.         $q = 'DELETE from #__{vm}_function WHERE module_id='.(int)$record_id;
    223.         $db->query($q);
    224.  
    225.         $q = 'DELETE FROM #__{vm}_module WHERE module_id='.(int)$record_id;
    226.         $db->query($q);
    227.         return true;
    228.  
    229.     }
    230.    
    231.     function update_permissions( &$d ) {
    232.         $db = new ps_DB;
    233.         $i = 0;
    234.         foreach( $d['module_perms'] as $module ) {
    235.             $modules = implode(',', array_keys($module) );
    236.             $module_id=(int)$d['module_id'][$i];
    237.             $db->buildQuery('UPDATE', '#__{vm}_module', array('module_perms' => $modules ), 'WHERE module_id='.$module_id );
    238.             $db->query();
    239.             $i++;
    240.         }
    241.         return true;
    242.     }
    243.    
    244.     function is_core( $module ) {
    245.         return( $module == "shop" || $module == "vendor" || $module == "product" || $module == "store" || $module == "order" || $module == "admin"
    246.         || $module == "checkout" || $module == "account" );
    247.  
    248.     }
    249.     /**
    250.      * Returns the permissions for a module
    251.      *
    252.      * @param string $basename
    253.      * @return mixed
    254.      */
    255.     function get_dir( $basename ) {
    256.         $datab = new ps_DB;
    257.  
    258.         $results = array();
    259.        
    260.         // check if valid module passed
    261.         $modules = array();
    262.         foreach ( $this->get_modules()->record as $module ) {
    263.             $modules[] = $module->module_name;
    264.         }
    265.         if (! in_array( $basename, $modules ) ) {
    266.             return false;
    267.         }
    268.        
    269.         $q = "SELECT module_perms FROM #__{vm}_module where module_name='$basename'";
    270.         $datab->query($q);
    271.         if ($datab->next_record()) {
    272.             $results[ 'perms' ] = $datab->f("module_perms");
    273.             return $results;
    274.         } else {
    275.             return false;
    276.         }
    277.     }
    278.    
    279.     function get_modules( $order_by='module_name' ) {
    280.         switch ($order_by) {
    281.             case'module_name':
    282.             case'module_id':
    283.             case'list_order':
    284.                 break;
    285.             default:
    286.                 $order_by = 'module_name';
    287.         }
    288.         $db = new ps_DB();
    289.         $db->query('SELECT module_id, module_name FROM #__{vm}_module ORDER BY '.$order_by);
    290.         return $db;
    291.     }
    292.     /**
    293.      * This function returns a drop down list of all available core modules in VirtueMart
    294.      * @since 1.1.0
    295.      * @param string $list_name
    296.      * @param mixed $module
    297.      * @param boolean $multiple
    298.      * @return string
    299.      */
    300.     function list_modules( $list_name, $module='', $multiple=false ) {
    301.         $db = ps_module::get_modules();
    302.         $array = array();
    303.         while( $db->next_record() ) {
    304.             $array[$db->f('module_name')] = $db->f('module_name');
    305.         }
    306.         if( $multiple ) {
    307.             return ps_html::selectList( $list_name, $module, $array, 4, 'multiple="multiple"' );
    308.         } else {
    309.             return ps_html::selectList( $list_name, $module, $array );
    310.         }
    311.     }
    312.     /**
    313.      * Lists all available files from the /classes directory
    314.      *
    315.      * @param string $name
    316.      * @param string $preselected
    317.      * @return string
    318.      */
    319.     function list_classes( $name, $preselected ) {
    320.         global $mosConfig_absolute_path;
    321.         $classes = vmReadDirectory( CLASSPATH, '\.php$', false, true );
    322.         $array = array();
    323.         foreach ($classes as $class ) {
    324.             if( is_dir( $class ) || $class[0] == '.' ) continue;
    325.             $classname = basename( $class, '.php' );
    326.             if( $classname != 'ps_main' && $classname != 'ps_ini' ) {
    327.                 $array[$classname] = $classname;
    328.             }
    329.         }
    330.         return ps_html::selectList( $name, $preselected, $array, 1, '', 'id="'.$name.'"' );
    331.     }
    332.    
    333.     function checkModulePermissions( $calledPage ) {
    334.  
    335.         global $page, $VM_LANG, $error_type, $vmLogger, $perm;
    336.  
    337.         // "shop.browse" => module: shop, page: browse
    338.         $my_page= explode ( '.', $page );
    339.         if( empty( $my_page[1] )) {
    340.             return false;
    341.         }
    342.         $modulename = $my_page[0];
    343.         $pagename = $my_page[1];
    344.  
    345.  
    346.         $dir_list = $this->get_dir($modulename);
    347.  
    348.         if ($dir_list) {
    349.  
    350.             // Load MODULE-specific CLASS-FILES
    351.             include_class( $modulename );
    352.  
    353.             if ($perm->check( $dir_list[ 'perms' ]) ) {
    354.  
    355.                 // comment out by JK since page existence should not be responsibility of module permission
    356.                 // the code will enable user pages with different name from VM core
    357.                 //~ if ( !file_exists(PAGEPATH.$modulename.".".$pagename.".php") ) {
    358.                     //~ define( '_VM_PAGE_NOT_FOUND', 1 );
    359.                     //~ $error = $VM_LANG->_('PHPSHOP_PAGE_404_1');
    360.                     //~ $error .= ' '.$VM_LANG->_('PHPSHOP_PAGE_404_2') ;
    361.                     //~ $error .= ' "'.$modulename.".".$pagename.'.php"';
    362.                     //~ $vmLogger->err( $error );
    363.                     //~ return false;
    364.                 //~ }
    365.                 return true;
    366.             }
    367.             else {
    368.                 define( '_VM_PAGE_NOT_AUTH', 1 );
    369.                 $vmLogger->err( $VM_LANG->_('PHPSHOP_MOD_NO_AUTH') );
    370.                 return false;
    371.             }
    372.         }
    373.         else {
    374.             $error = $VM_LANG->_('PHPSHOP_MOD_NOT_REG');
    375.             $error .= '"'.$modulename .'" '. $VM_LANG->_('PHPSHOP_MOD_ISNO_REG');
    376.             $vmLogger->err( $error );
    377.             return false;
    378.         }
    379.  
    380.     }
    381.  
    382. }
    383. // Check if there is an extended class in the Themes and if it is allowed to use them
    384. // If the class is called outside Virtuemart, we have to make sure to load the settings
    385. // Thomas Kahl - Feb. 2009
    386. if (!defined('VM_ALLOW_EXTENDED_CLASSES') && file_exists(dirname(__FILE__).'/../virtuemart.cfg.php')) {
    387.     include_once(dirname(__FILE__).'/../virtuemart.cfg.php');
    388. }
    389. // If settings are loaded, extended Classes are allowed and the class exisits...
    390. if (defined('VM_ALLOW_EXTENDED_CLASSES') && defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES && file_exists(VM_THEMEPATH.'user_class/'.basename(__FILE__))) {
    391.     // Load the theme-user_class as extended
    392.     include_once(VM_THEMEPATH.'user_class/'.basename(__FILE__));
    393. } else {
    394.     // Otherwise we have to use the original classname to extend the core-class
    395.     class ps_module extends vm_ps_module {}
    396. }
    397. ?>


    Очень надеюсь что мне помогут!
    А ещё в админке не впускает в этот компонент - пишет этуже ошибку.
     
    Последнее редактирование: 30.07.2011
  2.  
  3. alex0603
    Offline

    alex0603 специалист

    Регистрация:
    25.11.2007
    Сообщения:
    417
    Симпатии:
    39
    Пол:
    Мужской
    Так а вы после переноса на хостинг изменяли конфигурационный файлы виртуя? уверен что нет
     
  4. Koss-Tess
    Offline

    Koss-Tess Недавно здесь

    Регистрация:
    24.07.2010
    Сообщения:
    17
    Симпатии:
    0
    Пол:
    Мужской
    Хм, а меня никто не предупреждал ранее))))
    Спасибо, поменял. Но ошибка всеровно на месте!
     
  5. Koss-Tess
    Offline

    Koss-Tess Недавно здесь

    Регистрация:
    24.07.2010
    Сообщения:
    17
    Симпатии:
    0
    Пол:
    Мужской
    Всем спасибо.
    Проблема связана с устаревшим PHP на хостинге.
     
  6. Offline

    Grinko Недавно здесь

    Регистрация:
    30.10.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    В итоге как решить ошибку, обратиться к хостеру?
     
  7. Павел Joofaq
    Offline

    Павел Joofaq Модератор

    Регистрация:
    23.03.2011
    Сообщения:
    346
    Симпатии:
    42
    Пол:
    Мужской
    Обратитесь к хостингу и спросите, смогут ли они перенести Ваш сайт на новый сервер, где стоит более свежая версия PHP. Если они не помогут, то переходите к другому хостеру.
     
  8. Offline

    Grinko Недавно здесь

    Регистрация:
    30.10.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо.
     

Поделиться этой страницей

Загрузка...