За последние 24 часа нас посетили 43593 программиста и 1813 роботов. Сейчас ищет 771 программист ...

Parse error: syntax error, unexpected $end in ...

Тема в разделе "Вопросы от блондинок", создана пользователем Cergei, 12 авг 2014.

  1. Cergei

    Cergei Guest

    Приветствую!
    Установил компонент для CMS Joomla. Установка компонента прошла успешно, но при открытии одной из страниц компонента на сайте появляется ошибка:
    Код из файла компонента:
    Код (Text):
    1. <?php
    2. /**
    3.  * @version SVN: $Id$
    4.  * @package    gxjomsocialpoints
    5.  * @subpackage Base
    6.  * @author     EasyJoomla {@link http://www.easy-joomla.org Easy-Joomla.org}
    7.  * @author     Socialables Studios {@link http://www.Socialables.com}
    8.  * @author     Created on 15-Feb-2010
    9.  * @copyright   Copyright (C) 2005 - 2010 Socialables.com All rights reserved.
    10.  * @license     GNU/GPL, see LICENSE.php
    11.  * This version may have been modified pursuant
    12.  * to the GNU General Public License, and as distributed it includes or
    13.  * is derivative of works licensed under the GNU General Public License or
    14.  * other free or open source software licenses.
    15.  */
    16.  
    17. //-- No direct access
    18. defined('_JEXEC') or die('=;)');
    19.  
    20. jimport('joomla.plugin.plugin');
    21.  
    22. /**
    23.  * Example User Plugin
    24.  *
    25.  * @package    gxjomsocialpoints
    26.  * @subpackage  Plugin
    27.  */
    28. class plgGiftExchangeGxJomsocialBank extends JPlugin {
    29.  
    30.     var $_user      = null;
    31.    
    32.     /**
    33.      * Constructor
    34.      *
    35.      * For php4 compatability we must not use the __constructor as a constructor for plugins
    36.      * because func_get_args ( void ) returns a copy of all passed arguments NOT references.
    37.      * This causes problems with cross-referencing necessary for the observer design pattern.
    38.      *
    39.      * @param object $subject The object to observe
    40.      * @param   array  $config  An array that holds the plugin configuration
    41.      * @since 1.5
    42.      */
    43.     function plgGiftExchangeGxJomsocialBank(& $subject, $config)
    44.     {
    45.         parent::__construct($subject, $config);
    46.         $this->_user    =& JFactory::getUser();
    47.     }//function
    48.  
    49.          /**
    50.          * Do something onAfterDispatch
    51.          */
    52.         function onAfterGxTransaction($uid = 0, $flow = 0, $amount = null)
    53.         {
    54.             if (!$uid)$uid = $this->_user->id;
    55.            
    56.             if ($uid > 0)
    57.             {
    58.                 $db = &JFactory::getDBO(); 
    59.                                        
    60.                 if (!$amount)
    61.                 {
    62.                     $query="SELECT ". $db->nameQuote( 'points' ) . " FROM ". $db->nameQuote( '#__community_users' ) . " WHERE ". $db->nameQuote( 'userid' ) . " = " . $uid;
    63.                     $db->setQuery($query);
    64.                     $points = $db->loadResult();
    65.                 }
    66.                 else
    67.                 {
    68.                     $points = $amount;
    69.                 }                  
    70.                     //@todo add open account feature
    71.                     //this is an unneeded routine and will eventually be replaced with an Open account feature
    72.                     $query="SELECT ". $db->nameQuote( 'id' ) . " FROM ". $db->nameQuote( '#__gx_bank' ) . " WHERE ". $db->nameQuote( 'uid' ) . " = " . $uid;
    73.                     $db->setQuery($query);
    74.                     $id = $db->loadResult();
    75.                    
    76.                     $query="SELECT ". $db->nameQuote( 'id' ) . " FROM ". $db->nameQuote( '#__users' ) . " WHERE ". $db->nameQuote( 'id' ) . " = " . $uid;
    77.                     $db->setQuery($query);
    78.                     $exists = $db->loadResult();                   
    79.                    
    80.                     if ($id)
    81.                     {
    82.                         $query="SELECT ". $db->nameQuote( 'balance_changed' ) . " FROM ". $db->nameQuote( '#__gx_bank' ) . " WHERE ". $db->nameQuote( 'uid' ) . " = " . $uid;
    83.                         $db->setQuery($query);
    84.                         $balance_changed = $db->loadResult();
    85.                        
    86.                         if ($balance_changed || $flow)
    87.                         {
    88.                             $query="SELECT ". $db->nameQuote( 'balance' ) . " FROM ". $db->nameQuote( '#__gx_bank' ) . " WHERE ". $db->nameQuote( 'uid' ) . " = " . $uid;
    89.                             $db->setQuery($query);
    90.                             $balance = $db->loadResult();
    91.                            
    92.                             $query="UPDATE ". $db->nameQuote( '#__community_users' ) . " SET " . $db->nameQuote( 'points' ) . " = " . $balance . " WHERE " . $db->nameQuote( 'userid' ) . " = " . $uid;
    93.                             $db->setQuery($query);
    94.                             if (!$db->query())
    95.                             {
    96.                                 $this->setError($db->getErrorMsg());
    97.                                 //return false;
    98.                             }
    99.                            
    100.                             $query="UPDATE ". $db->nameQuote( '#__gx_bank' ) . " SET " . $db->nameQuote( 'balance_changed' ) . " = 0 WHERE " . $db->nameQuote( 'uid' ) . " = " . $uid;
    101.                             $db->setQuery($query);
    102.                             if (!$db->query())
    103.                             {
    104.                                 $this->setError($db->getErrorMsg());
    105.                                 //return false;
    106.                             }  
    107.                             return 'Jomsocial balance updated';
    108.                         }
    109.                         else
    110.                         {
    111.                             $query="UPDATE ". $db->nameQuote( '#__gx_bank' ) . " SET " . $db->nameQuote( 'balance' ) . " = " . $points . " WHERE " . $db->nameQuote( 'uid' ) . " = " . $uid;
    112.                             $db->setQuery($query);
    113.                             if (!$db->query())
    114.                             {
    115.                                 $this->setError($db->getErrorMsg());
    116.                                 //return false;
    117.                             }
    118.                         }
    119.                        
    120.                         return 'GX balance updated';
    121.                     }
    122.                     elseif ($exists)
    123.                     {                                              
    124.                         $query="INSERT INTO ". $db->nameQuote( '#__gx_bank' ) . "(uid, ledger, balance) VALUES ($uid, 0, 0 )";
    125.                         $db->setQuery($query);
    126.                         if (!$db->query())
    127.                         {
    128.                             $this->setError($db->getErrorMsg());
    129.                             //return false;
    130.                         }
    131.                         return 'New GX Account Created';
    132.                     }
    133.             }              
    134.         }
    135. }//class
    Подскажите, пожалуйста, как можно исправить ошибку.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Кажись это не тот файл
     
  3. Cergei

    Cergei Guest

    код скопирован с gxjomsocialbank.php
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    где-то скобки не хватает. не обязательно в этом файле.
     
  5. Cergei

    Cergei Guest

    Если удалить файл gxjomsocialbank.php, то появляется такая же ошибка, но в другом файле:
    а если удалить файл gxjomsocialstream.php затем появляется другая ошибка и тоже в другом файле:
    Ошибка в компоненте пропадает после удаления этих файлов gxjomsocialbank.php, gxjomsocialstream.php и gxjomsocialnotify.php или удалив полностью папку /home/sergei/public_html/plugins/giftexchange
    но нужно чтобы данные файлы были все-таки подключены.

    И еще эти ошибки появляются только на хостинге. На локальном сервере таких ошибок нет.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Значит где то ещё не хватает скобки ли точки с запятой. Используйте нормальную IDE - она подсветит.
     
  7. Cergei

    Cergei Guest

    Не хватает скобки или точки с запятой именно в этих файлах gxjomsocialbank.php, gxjomsocialstream.php и gxjomsocialnotify.php или в любых файлах компонента?
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в любых файлах которые в этот момент задействованы видимо. вы везучий.

    используйте IDE с подсветкой синтаксиса. она будет ругаться на такие моменты и вы их увидите.
     
  9. Cergei

    Cergei Guest

    я смотрю Вам тоже везет с блондинками...
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ставьте IDE, ищите где она будет ругаться. отлов скобочки задача нудная.
     
  11. Cergei

    Cergei Guest

    Конкретную IDE, которая вычисляет ошибки так и не нашел.
    Проверял код на ошибки онлайн сервисом http://phpcodechecker.com/
    Ошибка, как я понял в лишней скобки:
    До
    После
    но если эти скобки в файлах удалить, то ошибка не пропадает и тоже самое показывает
    и т.д....
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Наймите кого-то за деньги, вам починят. Ибо бесполезно что-либо остальное.
     
  13. Cergei

    Cergei Guest

    Если был бы кто путевый, только бешеную предоплату брать! Если только Killera ;-)
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Сами вы тоже не в состоянии решить проблему. А дебажить джумлу по фотографии всем форумом просто так никто не будет.
     
  15. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    die('=;)'); - если это не часть кода (а выглядит как-то совершенно не по-PHPшному) и не вставляется ни в какой exec, не к ночи будь помянут, то нет совершенно никакой разницы, есть там внутри кавычек скобка или нет. И так, и так помрет.
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Выложи архив куда нить. Может кто глянет из местных.
     
  17. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    [​IMG]
     
  18. Cergei

    Cergei Guest

    Выложить весь компонент полностью?
     
  19. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    да, архивчиком
     
  20. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А версия пхп какая на хосте?
     
  21. Cergei

    Cergei Guest

    Версия PHP 5.3.28
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Чувак, а ты выложил свой код или просто какие-то файлы, которые ты где-то используешь?
     
  23. Cergei

    Cergei Guest

    ТЫ в натуре ваще... я его качнул с free сайта. ПрАААблемы???
     
  24. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Код (PHP):
    1. <?php 
    2. // ...
    3. $alignbutton $alignbutton: $alignbutton = ''; 
    4. // ...
    5. !$showprofile $caching = 0 : $caching;
    6.  
    шедевр