Parse Error Question on phpBB for Telli

  Post new topicReply to topicPrintable Version
<< View previous topic View next topic >>
Share: Del.icio.us  Digg  Google  Spurl  Blink  Furl  Y! MyWeb  
#1   Parse Error Question on phpBB for Telli
Proxy
CZ Super Newbie
Proxy has been a member for over 19 year's 19 Year Member
Status: Offline
Joined: Nov 17, 2004
0.00 posts per day
Posts: 33
Points: 827
   
Ok, I have a phpbb site that I portaled, everything was working fine until I tried to add the "activity mod". Anyways everything works fine until I click "Forums" which actually takes you to index.php because the main page is portal.php...

Anyways when it tries to go to index.php i get this error...



Parse error: parse error, unexpected '}' in /home/dite/public_html/includes/template.php(127) : eval()'d code on line 146


I had this error on another site one time and after searching for like a week I founf a post of a guy telling everyone what causes those, and the guy said something about even thought it says the error is on a certain file on line whatever, it could atually be another file etc..

I remember that post helped me to find n fix my problem, but now I cant remember where that was so I've come to the only person I've seen fix a problem every single time (Telli)

OK remembering that advice ^ , I went back to all the files i just recently added and added a blank line and just as I suspected when I added another line to "index_body.tpl" the error i was getting changed from "on line 145" to "on line 146".

So does that mean the actual problem is on index_body.tpl ?
Here are both the "template.php" file and the "index_body.tpl" files..

includes/template.php
<?php
/***************************************************************************
*                              template.php
*                            -------------------
*   begin                : Saturday, Feb 13, 2001
*   copyright            : (C) 2001 The phpBB Group
*   email                : [ Register or login to view links on this board. ]
*
*   $Id: template.php,v 1.10.2.5 2005/05/06 20:50:11 acydburn Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

/**
* Template class. By Nathan Codding of the phpBB group.
* The interface was originally inspired by PHPLib templates,
* and the template file formats are quite similar.
*
*/

class Template {
   var $classname = "Template";

   // variable that holds all the data we'll be substituting into
   // the compiled templates.
   // ...
   // This will end up being a multi-dimensional array like this:
   // $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value
   // if it's a root-level variable, it'll be like this:
   // $this->_tpldata[.][0][varname] == value
   var $_tpldata = array();

   // Hash of filenames for each template handle.
   var $files = array();

   // Root template directory.
   var $root = "";

   // this will hash handle names to the compiled code for that handle.
   var $compiled_code = array();

   // This will hold the uncompiled code for that handle.
   var $uncompiled_code = array();

   /**
    * Constructor. Simply sets the root dir.
    *
    */
   function Template($root = ".")
   {
      $this->set_rootdir($root);
   }

   /**
    * Destroys this template object. Should be called when you're done with it, in order
    * to clear out the template data so you can load/parse a new template set.
    */
   function destroy()
   {
      $this->_tpldata = array();
   }

   /**
    * Sets the template root directory for this Template object.
    */
   function set_rootdir($dir)
   {
      if (!is_dir($dir))
      {
         return false;
      }

      $this->root = $dir;
      return true;
   }

   /**
    * Sets the template filenames for handles. $filename_array
    * should be a hash of handle => filename pairs.
    */
   function set_filenames($filename_array)
   {
      if (!is_array($filename_array))
      {
         return false;
      }

      reset($filename_array);
      while(list($handle, $filename) = each($filename_array))
      {
         $this->files[$handle] = $this->make_filename($filename);
      }

      return true;
   }


   /**
    * Load the file for the handle, compile the file,
    * and run the compiled code. This will print out
    * the results of executing the template.
    */
   function pparse($handle)
   {
      if (!$this->loadfile($handle))
      {
         die("Template->pparse(): Couldn't load template file for handle $handle");
      }

      // actually compile the template now.
      if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
      {
         // Actually compile the code now.
         $this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
      }

      // Run the compiled code.
      eval($this->compiled_code[$handle]);
      return true;
   }

   /**
    * Inserts the uncompiled code for $handle as the
    * value of $varname in the root-level. This can be used
    * to effectively include a template in the middle of another
    * template.
    * Note that all desired assignments to the variables in $handle should be done
    * BEFORE calling this function.
    */
   function assign_var_from_handle($varname, $handle)
   {
      if (!$this->loadfile($handle))
      {
         die("Template->assign_var_from_handle(): Couldn't load template file for handle $handle");
      }
      // Compile it, with the "no echo statements" option on.
      $_str = "";
      $code = $this->compile($this->uncompiled_code[$handle], true, '_str');

      // evaluate the variable assignment.
      eval($code);
      // assign the value of the generated variable to the given varname.
      $this->assign_var($varname, $_str);

      return true;
   }

   /**
    * Block-level variable assignment. Adds a new block iteration with the given
    * variable assignments. Note that this should only be called once per block
    * iteration.
    */
   function assign_block_vars($blockname, $vararray)
   {
      if (strstr($blockname, '.'))
      {
         // Nested block.
         $blocks = explode('.', $blockname);
         $blockcount = sizeof($blocks) - 1;
         $str = '$this->_tpldata';
         for ($i = 0; $i < $blockcount; $i++)
         {
            $str .= '[\'' . $blocks[$i] . '.\']';
            eval('$lastiteration = sizeof(' . $str . ') - 1;');
            $str .= '[' . $lastiteration . ']';
         }
         // Now we add the block that we're actually assigning to.
         // We're adding a new iteration to this block with the given
         // variable assignments.
         $str .= '[\'' . $blocks[$blockcount] . '.\'][] = $vararray;';

         // Now we evaluate this assignment we've built up.
         eval($str);
      }
      else
      {
         // Top-level block.
         // Add a new iteration to this block with the variable assignments
         // we were given.
         $this->_tpldata[$blockname . '.'][] = $vararray;
      }

      return true;
   }

   /**
    * Root-level variable assignment. Adds to current assignments, overriding
    * any existing variable assignment with the same name.
    */
   function assign_vars($vararray)
   {
      reset ($vararray);
      while (list($key, $val) = each($vararray))
      {
         $this->_tpldata['.'][0][$key] = $val;
      }

      return true;
   }

   /**
    * Root-level variable assignment. Adds to current assignments, overriding
    * any existing variable assignment with the same name.
    */
   function assign_var($varname, $varval)
   {
      $this->_tpldata['.'][0][$varname] = $varval;

      return true;
   }


   /**
    * Generates a full path+filename for the given filename, which can either
    * be an absolute name, or a name relative to the rootdir for this Template
    * object.
    */
   function make_filename($filename)
   {
      // Check if it's an absolute or relative path.
      if (substr($filename, 0, 1) != '/')
      {
             $filename = ($rp_filename = phpbb_realpath($this->root . '/' . $filename)) ? $rp_filename : $filename;
      }

      if (!file_exists($filename))
      {
         die("Template->make_filename(): Error - file $filename does not exist");
      }

      return $filename;
   }


   /**
    * If not already done, load the file for the given handle and populate
    * the uncompiled_code[] hash with its code. Do not compile.
    */
   function loadfile($handle)
   {
      // If the file for this handle is already loaded and compiled, do nothing.
      if (isset($this->uncompiled_code[$handle]) && !empty($this->uncompiled_code[$handle]))
      {
         return true;
      }

      // If we don't have a file assigned to this handle, die.
      if (!isset($this->files[$handle]))
      {
         die("Template->loadfile(): No file specified for handle $handle");
      }

      $filename = $this->files[$handle];

      $str = implode("", @file($filename));
      if (empty($str))
      {
         die("Template->loadfile(): File $filename for handle $handle is empty");
      }

      $this->uncompiled_code[$handle] = $str;

      return true;
   }



   /**
    * Compiles the given string of code, and returns
    * the result in a string.
    * If "do_not_echo" is true, the returned code will not be directly
    * executable, but can be used as part of a variable assignment
    * for use in assign_code_from_handle().
    */
   function compile($code, $do_not_echo = false, $retvar = '')
   {
      // replace \ with \\ and then ' with \'.
      $code = str_replace('\\', '\\\\', $code);
      $code = str_replace('\'', '\\\'', $code);

      // change template varrefs into PHP varrefs

      // This one will handle varrefs WITH namespaces
      $varrefs = array();
      preg_match_all('#\{(([a-z0-9\-_]+?\.)+?)([a-z0-9\-_]+?)\}#is', $code, $varrefs);
      $varcount = sizeof($varrefs[1]);
      for ($i = 0; $i < $varcount; $i++)
      {
         $namespace = $varrefs[1][$i];
         $varname = $varrefs[3][$i];
         $new = $this->generate_block_varref($namespace, $varname);

         $code = str_replace($varrefs[0][$i], $new, $code);
      }

      // This will handle the remaining root-level varrefs
      $code = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\' . ( ( isset($this->_tpldata[\'.\'][0][\'\1\']) ) ? $this->_tpldata[\'.\'][0][\'\1\'] : \'\' ) . \'', $code);

      // Break it up into lines.
      $code_lines = explode("\n", $code);

      $block_nesting_level = 0;
      $block_names = array();
      $block_names[0] = ".";

      // Second: prepend echo ', append ' . "\n"; to each line.
      $line_count = sizeof($code_lines);
      for ($i = 0; $i < $line_count; $i++)
      {
         $code_lines[$i] = chop($code_lines[$i]);
         if (preg_match('#<!-- BEGIN (.*?) -->#', $code_lines[$i], $m))
         {
            $n[0] = $m[0];
            $n[1] = $m[1];

            // Added: dougk_ff7-Keeps templates from bombing if begin is on the same line as end.. I think. :)
            if ( preg_match('#<!-- END (.*?) -->#', $code_lines[$i], $n) )
            {
               $block_nesting_level++;
               $block_names[$block_nesting_level] = $m[1];
               if ($block_nesting_level < 2)
               {
                  // Block is not nested.
                  $code_lines[$i] = '$_' . $n[1] . '_count = ( isset($this->_tpldata[\'' . $n[1] . '.\']) ) ?  sizeof($this->_tpldata[\'' . $n[1] . '.\']) : 0;';
                  $code_lines[$i] .= "\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)';
                  $code_lines[$i] .= "\n" . '{';
               }
               else
               {
                  // This block is nested.

                  // Generate a namespace string for this block.
                  $namespace = implode('.', $block_names);
                  // strip leading period from root level..
                  $namespace = substr($namespace, 2);
                  // Get a reference to the data array for this block that depends on the
                  // current indices of all parent blocks.
                  $varref = $this->generate_block_data_ref($namespace, false);
                  // Create the for loop code to iterate over this block.
                  $code_lines[$i] = '$_' . $n[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;';
                  $code_lines[$i] .= "\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)';
                  $code_lines[$i] .= "\n" . '{';
               }

               // We have the end of a block.
               unset($block_names[$block_nesting_level]);
               $block_nesting_level--;
               $code_lines[$i] .= '} // END ' . $n[1];
               $m[0] = $n[0];
               $m[1] = $n[1];
            }
            else
            {
               // We have the start of a block.
               $block_nesting_level++;
               $block_names[$block_nesting_level] = $m[1];
               if ($block_nesting_level < 2)
               {
                  // Block is not nested.
                  $code_lines[$i] = '$_' . $m[1] . '_count = ( isset($this->_tpldata[\'' . $m[1] . '.\']) ) ? sizeof($this->_tpldata[\'' . $m[1] . '.\']) : 0;';
                  $code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)';
                  $code_lines[$i] .= "\n" . '{';
               }
               else
               {
                  // This block is nested.

                  // Generate a namespace string for this block.
                  $namespace = implode('.', $block_names);
                  // strip leading period from root level..
                  $namespace = substr($namespace, 2);
                  // Get a reference to the data array for this block that depends on the
                  // current indices of all parent blocks.
                  $varref = $this->generate_block_data_ref($namespace, false);
                  // Create the for loop code to iterate over this block.
                  $code_lines[$i] = '$_' . $m[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;';
                  $code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)';
                  $code_lines[$i] .= "\n" . '{';
               }
            }
         }
         else if (preg_match('#<!-- END (.*?) -->#', $code_lines[$i], $m))
         {
            // We have the end of a block.
            unset($block_names[$block_nesting_level]);
            $block_nesting_level--;
            $code_lines[$i] = '} // END ' . $m[1];
         }
         else
         {
            // We have an ordinary line of code.
            if (!$do_not_echo)
            {
               $code_lines[$i] = 'echo \'' . $code_lines[$i] . '\' . "\\n";';
            }
            else
            {
               $code_lines[$i] = '$' . $retvar . '.= \'' . $code_lines[$i] . '\' . "\\n";';
            }
         }
      }

      // Bring it back into a single string of lines of code.
      $code = implode("\n", $code_lines);
      return $code   ;

   }


   /**
    * Generates a reference to the given variable inside the given (possibly nested)
    * block namespace. This is a string of the form:
    * ' . $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['varname'] . '
    * It's ready to be inserted into an "echo" line in one of the templates.
    * NOTE: expects a trailing "." on the namespace.
    */
   function generate_block_varref($namespace, $varname)
   {
      // Strip the trailing period.
      $namespace = substr($namespace, 0, strlen($namespace) - 1);

      // Get a reference to the data block for this namespace.
      $varref = $this->generate_block_data_ref($namespace, true);
      // Prepend the necessary code to stick this in an echo line.

      // Append the variable reference.
      $varref .= '[\'' . $varname . '\']';

      $varref = '\' . ( ( isset(' . $varref . ') ) ? ' . $varref . ' : \'\' ) . \'';

      return $varref;

   }


   /**
    * Generates a reference to the array of data values for the given
    * (possibly nested) block namespace. This is a string of the form:
    * $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['$childN']
    *
    * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above.
    * NOTE: does not expect a trailing "." on the blockname.
    */
   function generate_block_data_ref($blockname, $include_last_iterator)
   {
      // Get an array of the blocks involved.
      $blocks = explode(".", $blockname);
      $blockcount = sizeof($blocks) - 1;
      $varref = '$this->_tpldata';
      // Build up the string with everything but the last child.
      for ($i = 0; $i < $blockcount; $i++)
      {
         $varref .= '[\'' . $blocks[$i] . '.\'][$_' . $blocks[$i] . '_i]';
      }
      // Add the block reference for the last child.
      $varref .= '[\'' . $blocks[$blockcount] . '.\']';
      // Add the iterator for the last child if requried.
      if ($include_last_iterator)
      {
         $varref .= '[$_' . $blocks[$blockcount] . '_i]';
      }

      return $varref;
   }

}

?>


And then

templates/my theme/index_body.tpl
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center">
  <tr>
   <td align="left" valign="bottom"><span class="gensmall">
   <!-- BEGIN switch_user_logged_in -->
   {LAST_VISIT_DATE}<br />
   <!-- END switch_user_logged_in -->
   {CURRENT_TIME}<br /></span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
   <td align="right" valign="bottom" class="gensmall">
      <!-- BEGIN switch_user_logged_in -->
      <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br />
      <!-- END switch_user_logged_in -->
      <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a></td>
  </tr>
</table>

<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
  <tr>
   <th colspan="2" class="thCornerL" height="25" nowrap="nowrap">&nbsp;{L_FORUM}&nbsp;</th>
   <th width="50" class="thTop" nowrap="nowrap">&nbsp;{L_TOPICS}&nbsp;</th>
   <th width="50" class="thTop" nowrap="nowrap">&nbsp;{L_POSTS}&nbsp;</th>
   <th class="thCornerR" nowrap="nowrap">&nbsp;{L_LASTPOST}&nbsp;</th>
  </tr>
  <!-- BEGIN catrow -->
  <tr>
   <td class="catLeft" colspan="2" height="28"><span class="cattitle"><a href="{catrow.U_VIEWCAT}" class="cattitle">{catrow.CAT_DESC}</a></span></td>
   <td class="rowpic" colspan="3" align="right">&nbsp;</td>
  </tr>
  <!-- BEGIN forumrow -->
  <tr>
   <td class="row1" align="center" valign="middle" height="50"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td>
   <td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
     </span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
     </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td>
   <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
  </tr>
  <!-- END forumrow -->
  <!-- END catrow -->
</table>

<table width="100%" cellspacing="0" border="0" align="center" cellpadding="2">
  <tr>
   <td align="left">
   <!-- BEGIN switch_user_logged_in -->
      <span class="gensmall"><a href="{U_MARK_READ}" class="gensmall">{L_MARK_FORUMS_READ}</a></span>
   <!-- END switch_user_logged_in -->
   </td>
   <td align="right"><span class="gensmall">{S_TIMEZONE}</span></td>
  </tr>
</table>

<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  <tr>
   <td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_VIEWONLINE}" class="cattitle">{L_WHO_IS_ONLINE}</a></span></td>
  </tr>
  <tr>
   <td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
   <td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span>
   </td>
  </tr>
  <tr>
   <td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE}<br />
   [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ] &nbsp; [ {L_WHOSONLINE_GAMES} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
  </tr>
</table>

<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
   <td align="left" valign="top"><span class="gensmall">{L_ONLINE_EXPLAIN}</span></td>
</tr>
</table>

<!-- BEGIN switch_user_logged_out -->
<form method="post" action="{S_LOGIN_ACTION}">
  <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
   <tr>
     <td class="catHead" height="28"><a name="login"></a><span class="cattitle">{L_LOGIN_LOGOUT}</span></td>
   </tr>
   <tr>
     <td class="row1" align="center" valign="middle" height="28"><span class="gensmall">{L_USERNAME}:
      <input class="post" type="text" name="username" size="10" />
      &nbsp;&nbsp;&nbsp;{L_PASSWORD}:
      <input class="post" type="password" name="password" size="10" maxlength="32" />
      <!-- BEGIN switch_allow_autologin -->
      &nbsp;&nbsp; &nbsp;&nbsp;{L_AUTO_LOGIN}
      <input class="text" type="checkbox" name="autologin" />
      <!-- END switch_allow_autologin -->
      &nbsp;&nbsp;&nbsp;
      <input type="submit" class="mainoption" name="login" value="{L_LOGIN}" />
      </span> </td>
   </tr>
  </table>
</form>
<!-- END switch_user_logged_out -->

<br clear="all" />

<table cellspacing="3" border="0" align="center" cellpadding="0">
  <tr>
   <td width="20" align="center"><img src="templates/subSilver/images/folder_new_big.gif" alt="{L_NEW_POSTS}"/></td>
   <td><span class="gensmall">{L_NEW_POSTS}</span></td>
   <td>&nbsp;&nbsp;</td>
   <td width="20" align="center"><img src="templates/subSilver/images/folder_big.gif" alt="{L_NO_NEW_POSTS}" /></td>
   <td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
   <td>&nbsp;&nbsp;<hod="post" action="{S_LOGIN_ACTION}">
<table cellspacing="0" cellpadding="0" border="0" width="95%" align="center">
<tr>
   <td><img src="templates/Glass/images/{T_BODY_BACKGROUND}/main_left.gif"></td><td width="100%" height="20" valign="center" class="catbg" colspan="2" height="28"><span class="title">{L_LOGIN_LOGOUT}</span></td><td><img src="templates/Glass/images/{T_BODY_BACKGROUND}/main_right.gif"></td>
  </tr>
</table>
<table cellpadding="0" cellspacing="5" border="0" align="center" width="90%">
<tr>
<td>
  <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
   <tr>
     <td class="row1" align="center" valign="middle" height="28"><span class="gensmall">{L_USERNAME}:
      <input class="post" type="text" name="username" size="10" />
      &nbsp;&nbsp;&nbsp;{L_PASSWORD}:
      <input class="post" type="password" name="password" size="10" maxlength="32" />
      &nbsp;&nbsp; &nbsp;&nbsp;{L_AUTO_LOGIN}
      <input class="text" type="checkbox" name="autologin" />
      &nbsp;&nbsp;&nbsp;
      <input type="submit" class="mainoption" name="login" value="{L_LOGIN}" />
      </span> </td>
   </tr>
  </table>
  </td>
  </tr>
  </table>
</form>
<!-- END switch_user_logged_out -->

<br clear="all" />

<table cellspacing="3" border="0" align="center" cellpadding="0">
  <tr>
   <td width="20" align="center"><img src="templates/Glass/images/{T_BODY_BACKGROUND}/folder_new_big.gif" alt="{L_NEW_POSTS}"/></td>
   <td><span class="gensmall">{L_NEW_POSTS}</span></td>
   <td>&nbsp;&nbsp;</td>
   <td width="20" align="center"><img src="templates/Glass/images/{T_BODY_BACKGROUND}/folder_big.gif" alt="{L_NO_NEW_POSTS}" /></td>
   <td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
   <td>&nbsp;&nbsp;</td>
   <td width="20" align="center"><img src="templates/Glass/images/{T_BODY_BACKGROUND}/folder_locked_big.gif" alt="{L_FORUM_LOCKED}" /></td>
   <td><span class="gensmall">{L_FORUM_LOCKED}</span></td>
  </tr>
</table>


The site im working on is [ Register or login to view links on this board. ]
You can see the error if you click forums or go to [ Register or login to view links on this board. ]

Thanks if anyone can help me


Back to top Reply with quote
#2   re: Parse Error Question on phpBB for Telli
Proxy
CZ Super Newbie
Proxy has been a member for over 19 year's 19 Year Member
Status: Offline
Joined: Nov 17, 2004
0.00 posts per day
Posts: 33
Points: 827
   
Nevermind, I just gave up and reinstalled the original files and re-added all the mods i had already back to each file.



Back to top Reply with quote
#3   
Telli
Site Admin
Telli has been a member for over 20 year's 20 Year Member
Occupation: Self Employed
Age: 45
Gender: Male
Fav. Sports Team: Detroit Red Wings
Website:
Status: Offline
Joined: May 26, 2003
1.06 posts per day
Posts: 8089
Points: 494,430
   
Try to do one mod at a time backup up in between. That way if it doesnt work you can just go back one instead of having to start all over.




_________________
The path of the righteous man is beset on all sides by the inequities of the selfish and the tyranny of evil men. Blessed is he, who in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy my brothers. And you will know my name is the Lord when I lay my vengeance upon thee. Ezekiel 25:17
Back to top Reply with quote
#4   re: Parse Error Question on phpBB for Telli
Proxy
CZ Super Newbie
Proxy has been a member for over 19 year's 19 Year Member
Status: Offline
Joined: Nov 17, 2004
0.00 posts per day
Posts: 33
Points: 827
   
Yea lol, that's always the best idea, yet I never seem to be patient enough to make the backups and do this to myself every time icon_smile.gif)

But I'm so used to it, I can add a mod rated Difficult 45 Minutes, in 10 minutes. So it's not a big deal, thanks anyways tho icon_exclaim.gif

I have another question tho that wasn't answered on another site. It said to post bugs so I did, and they took it as me not knowing what I'm doing and locked the topic. I guess you have to pay him to ask for support?

Anyways ill make another topic so it's not so confusing.



Back to top Reply with quote
#5   re: Parse Error Question on phpBB for Telli
Proxy
CZ Super Newbie
Proxy has been a member for over 19 year's 19 Year Member
Status: Offline
Joined: Nov 17, 2004
0.00 posts per day
Posts: 33
Points: 827
   
I've downloaded and installed the Change Story Mod 1.0.0 Mod and everything went good. But on the portal.php page where it shows the (Blank) new message box, I clicked "Owner" to try to get to the /portal_story_admin.php file. But there is an error there instead.

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /xxxx/xxxx/xxxx/portal_story_admin.php on line 105

line 102 ~ 106 is:

$query = "SELECT *
   FROM ". $table_prefix ."users
   WHERE user_id =". $userdata['user_id'];
$result=mysql_query( $query, $link );
while ($row = @ mysql_fetch_array ($result))



Line 105 is

$result=mysql_query( $query, $link );



Back to top Reply with quote
Display posts from previous:      
Add To: Del.icio.us  Digg  Google  Spurl  Blink  Furl  Y! MyWeb  
<< View previous topic View next topic >>
Post new topicReply to topic

Jump to 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum