Jump to content

(solved) Can someone spot the error in this code for me?


Recommended Posts

Hi.
Would someone please look at this and tell me where the error is?
I've looked til my eyes hurt :-S.
In my back office / orders / order messages, I get the error : Parse error: syntax error, unexpected T_INCLUDE_ONCE
says its on line 1?

<?php/**  * Taxes tab for admin panel, AdminTaxes.php  * @category admin  *  * @author PrestaShop   * @copyright PrestaShop  * @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0  * @version 1.2  *  */include_once(PS_ADMIN_DIR.'/../classes/AdminTab.php');class AdminOrderMessage extends AdminTab{    public function __construct()

   {         $this->table = 'order_message';         $this->className = 'OrderMessage';         $this->lang = true;         $this->edit = true;         $this->delete = true;                $this->fieldsDisplay = array(        'id_order_message' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25),         'name' => array('title' => $this->l('Name'), 'width' => 140),        'message' => array('title' => $this->l('Message'), 'width' => 140, 'maxlength' => 300));            parent::__construct();    }        public function displayForm()    {        global $currentIndex;                $obj = $this->loadObject(true);        $defaultLanguage = intval(Configuration::get('PS_LANG_DEFAULT'));        $languages = Language::getLanguages();        echo '        [removed]            id_language = Number('.$defaultLanguage.');        [removed]        <form action="'.$currentIndex.'&token;='.$this->token.'&submitAdd;'.$this->table.'=1" method="post">        '.($obj->id ? '<input type="hidden" name="id_'.$this->table.'" value="'.$obj->id.'" />' : '').'            '.$this->l('Order messages').'                '.$this->l('Name:').'                 ';                foreach ($languages as $language)                    echo '                                            <input type="text" size="53" name="name_'.$language['id_lang'].'" value="'.$this->getFieldValue($obj, 'name', intval($language['id_lang'])).'" /> *';                $this->displayFlags($languages, $defaultLanguage, 'name¤message', 'name');                echo '                
'.$this->l('Message:').'                 ';                foreach ($languages as $language)                    echo '                                            <textarea rows="15" cols="50" name="message_'.$language['id_lang'].'">'.$this->getFieldValue($obj, 'message', intval($language['id_lang'])).'</textarea><sup> *                    ';                $this->displayFlags($languages, $defaultLanguage, 'name¤message', 'message');                echo '                
                    <input type="submit" value="'.$this->l('   Save   ').'" name="submitAdd'.$this->table.'" class="button" />                                * '.$this->l('Required fields').'                    </form>';    [spam-filter]?>



Thank you :)

Link to comment
Share on other sites

Hit enter in your code-editor before:
/** * Taxes tab for admin panel, AdminTaxes.php...
So it look like this:
The

<?php
/**  * Taxes tab for admin panel, AdminTaxes.php  * @category admin  *  * @author PrestaShop   * @copyright PrestaShop  * @license http://www.opensource.org

Link to comment
Share on other sites

  • 4 weeks later...

You can add a space between <?php and /** so it looks like:

<?php /**  * Taxes tab for admin panel, AdminTaxes.php  * @category admin  *  * @author PrestaShop   * @copyright PrestaShop  * @license http://www.opensource.org/licenses


This is because the PHP tag must be alone. Otherwise, it is not recognized and the file is still executed as HTML.

Be careful when editing with Windows a file stored on a linux server. Just because ends of line aren't coded the same way in Windows and Linux.
You must upload the file file onto your station, edit it and download it back into the server.
Be sure that you ftp program (ex: Filezilla) parameter is text transfert and not binary transfer. Then your ftp program detects and adapts the ends of line during transfer. You'll see that file sizes are not the same on the server and on your station.

Epilog
The best way is to have a linux station. It works better than windows, and ... it free.

Xavier
Penguin addict

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...