phpBB3 Portal [1.0.2b] a.k.a canverPortal

Portals for phpBB3 Olympus

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby harmlessgoat22 » 08 Mar 2008, 09:30

The Phantom wrote:Hi

I have this portal installed on my forum and working perfectly but...

When ever I install a new mod and have to refresh my style templates or purge the cache I get the following error on the portal page.

Parse error: syntax error, unexpected '}' in /home/*****/public_html/bb/includes/template.php(175) : eval()'d code on line 36

I can quickly fix the problem by uploading a backup of the file I have to the cache folder but it is really annoying.

Any ideas on what might be causing this or how to fix it?

Cheers

That parse error means that in the template, the <!-- IF whatever --> isn't closing, meaning it doesn't have the <!-- ENDIF --> to close it.
User avatar
harmlessgoat22    
STG Support Team
STG Support Team
 
Posts: 2886
Joined: 13 Jul 2006, 17:38
Gender: Male
phpBB Knowledge: 8




phpBB Academy at StarTrekGuide
Support STG
Using PayPal Donate

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby The Phantom » 08 Mar 2008, 10:45

Thank you for your reply.

I will try not confuse anyone as much as I have myself.

If I purge the cache or refresh the templates I get one of either of these 2 error messages, if I refresh the page it just alternates between the 2.

Parse error: syntax error, unexpected '}' in /home/*****/public_html/bb/includes/template.php(175) : eval()'d code on line 36

Parse error: syntax error, unexpected '}' in /home/*****/public_html/bb/cache/tpl_prosilver_portal.portal_body.html.php on line 36

The first 2 pieces of code are the contents of the tpl_prosilver_portal.portal_body.html.php The first is a copy of what is in the ACP and the second is an old back up file that I have. I have even tried copying the code into the Internal ACP template file but I still keep getting the same error. The second is the code that I have to re-upload to my server whenever purge the cash.

The last piece of code is of my includes/template.php file

As I said previously it works as soon I re upload the back up

Spoiler:
Code: Select all
<!-- DEFINE $S_IN_PORTAL = 1 -->

<!-- INCLUDE overall_header.html -->

      <div class="navbar">
         <div class="inner"><span class="corners-top"><span></span></span>

         <ul class="linklist navlinks">
                        <li class="icon-home"><a href="{U_PORTAL}">{L_PORTAL}</a> &#187; <a href="{U_INDEX}" accesskey="h">{L_INDEX}</a><!-- BEGIN navlinks --> <strong>&#8249;</strong> <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks --></li>

            <li class="rightside"><a href="#" onclick="fontsizeup(); return false;" class="fontsize" title="{L_CHANGE_FONT_SIZE}">{L_CHANGE_FONT_SIZE}</a></li>

            <!-- IF U_EMAIL_TOPIC --><li class="rightside"><a href="{U_EMAIL_TOPIC}" title="{L_EMAIL_TOPIC}" class="sendemail">{L_EMAIL_TOPIC}</a></li><!-- ENDIF -->
            <!-- IF U_EMAIL_PM --><li class="rightside"><a href="{U_EMAIL_PM}" title="{L_EMAIL_PM}" class="sendemail">{L_EMAIL_PM}</a></li><!-- ENDIF -->
            <!-- IF U_PRINT_TOPIC --><li class="rightside"><a href="{U_PRINT_TOPIC}" title="{L_PRINT_TOPIC}" accesskey="p" class="print">{L_PRINT_TOPIC}</a></li><!-- ENDIF -->
            <!-- IF U_PRINT_PM --><li class="rightside"><a href="{U_PRINT_PM}" title="{L_PRINT_PM}" accesskey="p" class="print">{L_PRINT_PM}</a></li><!-- ENDIF -->
         </ul>

         <!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
         <ul class="linklist leftside">
            <li class="icon-ucp">
               <a href="{U_PROFILE}" title="{L_PROFILE}" accesskey="u">{L_PROFILE}</a>
                  <!-- IF S_DISPLAY_PM --> (<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>)<!-- ENDIF --> &bull;
               <a href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a>
               <!-- IF U_RESTORE_PERMISSIONS --> &bull;
               <a href="{U_RESTORE_PERMISSIONS}">{L_RESTORE_PERMISSIONS}</a>
               <!-- ENDIF -->
            </li>
         </ul>
         <!-- ENDIF -->

         <ul class="linklist rightside">                <li class="icon-search"><a href="search.php" title="View search options">Search</a>
            <li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
            <!-- IF not S_IS_BOT -->
               <!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF -->
               <!-- IF not S_USER_LOGGED_IN --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF -->
               <li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="l">{L_LOGIN_LOGOUT}</a></li>
            <!-- ENDIF -->
         </ul>

         <span class="corners-bottom"><span></span></span></div>
      </div>
      <!-- ENDIF -->

   </div>



<!-- $Id: portal_body.html,v 1.1 2008/02/09 08:18:16 angelside Exp $ //-->

<style type="text/css">

<!--

.topiclist dd.posts_portal {

   float:left;

   text-align:left;

   font-size: 1.1em;

   padding:6px 5px 6px 5px;

}



ul.topiclist dt {

   float:left;

   width: 90%;

   font-size: 1em;

}



.gensmall {

   margin: 1px 1px;

   font-size: 10px;

}



small, .small {

   font-size:10px;

   font-weight:bold;

   font-family:Arial, Helvetica, sans-serif;

}



/* Container for sub-navigation list */

#navigation {

   padding-top: 0px;

   font-size: 1.1em;

}



/* Link styles for the sub-section links */

#navigation a {

   color: #105289;

   font-weight: normal;

   padding: 2px;

   background: #ecf1f3 none repeat-y 100% 0;

}



#navigation a:hover {

   background-color: #F9F9F9;

   color: #d31141;

}



/* News listing */

ul.news {

   border-top: 1px solid #FFFFFF;

   list-style: none;

   margin-left: 0;

}

ul.news li {

   padding: 5px 0 4px 0;

   border-bottom: 1px solid #CCCCCC;

}

ul.news li.last {

   border-bottom: none;

}

ul.news {

   border-top: none;

}

ul.news li {

   padding: 0 0 4px 0;

   margin-bottom: 5px;

   margin-left: 0;

   border-bottom-color: #E0E0E0;

}



.postbody_portal {

   width: 100%;

}

//-->

</style>



<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">

<tr>

<!-- [+] left block area -->

   <td width="{PORTAL_LEFT_COLLUMN}" valign="top" style="padding-right:6px;">

   

      <!-- INCLUDE portal/block/main_menu.html -->

      

      <!-- IF S_DISPLAY_SEARCH -->

         <!-- INCLUDE portal/block/search.html -->

      <!-- ENDIF -->



      <!-- IF S_ADS_SMALL -->

         <!-- INCLUDE portal/block/ads_small.html -->

      <!-- ENDIF -->

   

      <!-- IF S_DISPLAY_CHANGE_STYLE -->

         <!-- INCLUDE portal/block/change_style.html -->

      <!-- ENDIF -->

      

      <!-- IF S_DISPLAY_PAY_S -->

         <!-- INCLUDE portal/block/donation/donation_small.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_LATEST_MEMBERS -->

         <!-- INCLUDE portal/block/latest_members.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_TOP_POSTERS -->

         <!-- INCLUDE portal/block/top_poster.html -->

      <!-- ENDIF -->

      

      <!-- IF S_DISPLAY_RANDOM_MEMBER -->

         <!-- INCLUDE portal/block/random_member.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_CLOCK -->

         <!-- INCLUDE portal/block/clock.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_MINICAL -->       

         <!-- INCLUDE portal/block/mini_calendar.html -->

      <!-- ENDIF -->      



      <!-- IF S_DISPLAY_LINK_US -->

         <!-- INCLUDE portal/block/link_us.html -->

      <!-- ENDIF -->      



      <!-- IF S_DISPLAY_LINKS -->

         <!-- INCLUDE portal/block/links.html -->

      <!-- ENDIF -->      



      <!-- IF S_DISPLAY_LAST_BOTS and S_LAST_VISITED_BOTS -->

         <!-- INCLUDE portal/block/latest_bots.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST -->

         <!-- INCLUDE portal/block/birthday_list.html -->

      <!-- ENDIF -->



   </td>

<!-- [-] left block area -->

   <td width="4" valign="top"></td>



<!-- [+] center block area -->

   <td valign="top">



      <!-- IF S_DISPLAY_WELCOME -->

         <!-- INCLUDE portal/block/welcome.html -->

      <!-- ENDIF -->



      <!-- IF S_ADS_CENTER -->

         <!-- INCLUDE portal/block/ads_center.html -->

      <!-- ENDIF -->

      

      <!-- IF S_DISPLAY_PAY_C -->

         <!-- INCLUDE portal/block/donation/donation.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_RECENT -->

         <!-- INCLUDE portal/block/recent.html -->

      <!-- ENDIF -->         



      <!-- IF S_DISPLAY_POLL -->

         <!-- INCLUDE portal/block/poll.html -->

      <!-- ENDIF -->      



      <!-- IF S_DISPLAY_ANNOUNCEMENTS -->

      <!-- IF S_ANNOUNCE_COMPACT -->

         <!-- INCLUDE portal/block/announcements_compact.html -->

      <!-- ELSE -->

         <!-- INCLUDE portal/block/announcements.html -->

      <!-- ENDIF -->

      <!-- ENDIF -->

      

      <!-- IF S_DISPLAY_NEWS -->

      <!-- IF S_NEWS_COMPACT -->

         <!-- INCLUDE portal/block/news_compact.html -->

      <!-- ELSE -->

         <!-- INCLUDE portal/block/news.html -->

      <!-- ENDIF -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_WORDGRAPH -->

         <!-- INCLUDE portal/block/wordgraph.html -->

      <!-- ENDIF -->

      

      <!-- IF S_DISPLAY_JUMPBOX -->

         <!-- INCLUDE portal/block/jumpbox.html -->

      <!-- ENDIF -->   



   </td>

<!-- [-] center block area -->

   <td width="4" valign="top"></td>



<!-- [+] right block area -->

   <td width="{PORTAL_RIGHT_COLLUMN}" valign="top" style="padding-left:6px;">

   

   <!--// [+] latest files => only for site version

      <div class="panel">

         <div class="inner">

            <span class="corners-top"><span></span></span>

               <h3>Latest Files</h3>

               <span style="font-weight: bold">Latest version:</span> 1.1.0b<br />

               <span style="font-weight: bold">Released:</span> 2007-08-01<br /><br />

               <span style="font-weight: bold">Download:</span><br />

               <a href="http://www.phpbb3portal.com/viewtopic.php?f=4&t=9">phpbb3-portal.110b.tar.gz</a><br /><br />

               <span style="font-weight: bold">Development:</span><br />

               <a href="http://www.phppbb3ortal.com">phpbb3portal.com</a><br />

               <a href="http://sourceforge.net/projects/canverportal/" rel="nofollow">SourceForge Project</a>

            <span class="corners-bottom"><span></span></span>

         </div>

      </div>

      <br clear="all" />

[-] latest files => only for site version //-->



      <!-- IF not S_USER_LOGGED_IN -->

      <!-- INCLUDE portal/block/login_box.html -->

      <!-- ENDIF -->



      <!-- IF S_USER_LOGGED_IN -->

      <!-- INCLUDE portal/block/user_menu.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_FRIENDS and S_ZEBRA_ENABLED and S_USER_LOGGED_IN -->

      <!-- INCLUDE portal/block/online_friends.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_ADVANCED_STAT -->

      <!-- INCLUDE portal/block/statistics.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_ONLINE_LIST -->

      <!-- INCLUDE portal/block/whois_online.html -->

      <!-- ENDIF -->



      <!-- IF S_DISPLAY_LEADERS -->

      <!-- INCLUDE portal/block/leaders.html -->

      <!-- ENDIF -->      



      <!-- IF not S_IS_BOT and S_USER_LOGGED_IN and S_DISPLAY_ATTACHMENTS -->

      <!-- INCLUDE portal/block/attachments.html -->

      <!-- ENDIF -->      



      <!-- IF S_DISPLAY_ACTIVE_TOPIC -->

      <!--INCLUDE portal/block/active.html-->

      <!-- ENDIF -->

      

      <!--INCLUDE portal/block/_sample_block_design.html-->



   </td>

<!-- [-] right block area -->

</tr>

</table>

<!--// phpBB3 Portal by Sevdin Filiz, www.phpbb3portal.com //-->

<!-- INCLUDE overall_footer.html -->



Code: Select all
<?php $this->_tpldata['DEFINE']['.']['S_IN_PORTAL'] = 1; $this->_tpl_include('overall_header.html'); ?>



<!-- $Id: portal_body.html,v 1.1 2008/02/09 08:18:16 angelside Exp $ //-->



<style type="text/css">



<!--



.topiclist dd.posts_portal {



   float:left;



   text-align:left;



   font-size: 1.1em;



   padding:6px 5px 6px 5px;



}







ul.topiclist dt {



   float:left;



   width: 90%;



   font-size: 1em;



}







.gensmall {



   margin: 1px 1px;



   font-size: 10px;



}







small, .small {



   font-size:10px;



   font-weight:bold;



   font-family:Arial, Helvetica, sans-serif;



}







/* Container for sub-navigation list */



#navigation {



   padding-top: 0px;



   font-size: 1.1em;



}







/* Link styles for the sub-section links */



#navigation a {



   color: #105289;



   font-weight: normal;



   padding: 2px;



   background: #ecf1f3 none repeat-y 100% 0;



}







#navigation a:hover {



   background-color: #F9F9F9;



   color: #d31141;



}







/* News listing */



ul.news {



   border-top: 1px solid #FFFFFF;



   list-style: none;



   margin-left: 0;



}



ul.news li {



   padding: 5px 0 4px 0;



   border-bottom: 1px solid #CCCCCC;



}



ul.news li.last {



   border-bottom: none;



}



ul.news {



   border-top: none;



}



ul.news li {



   padding: 0 0 4px 0;



   margin-bottom: 5px;



   margin-left: 0;



   border-bottom-color: #E0E0E0;



}







.postbody_portal {



   width: 100%;



}



//-->



</style>







<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">



<tr>



<!-- [+] left block area -->



   <td width="<?php echo (isset($this->_rootref['PORTAL_LEFT_COLLUMN'])) ? $this->_rootref['PORTAL_LEFT_COLLUMN'] : ''; ?>" valign="top" style="padding-right:6px;">



   



      <?php $this->_tpl_include('portal/block/main_menu.html'); if ($this->_rootref['S_DISPLAY_SEARCH']) {  $this->_tpl_include('portal/block/search.html'); } if ($this->_rootref['S_ADS_SMALL']) {  $this->_tpl_include('portal/block/ads_small.html'); } if ($this->_rootref['S_DISPLAY_CHANGE_STYLE']) {  $this->_tpl_include('portal/block/change_style.html'); } if ($this->_rootref['S_DISPLAY_PAY_S']) {  $this->_tpl_include('portal/block/donation/donation_small.html'); } if ($this->_rootref['S_DISPLAY_LATEST_MEMBERS']) {  $this->_tpl_include('portal/block/latest_members.html'); } if ($this->_rootref['S_DISPLAY_TOP_POSTERS']) {  $this->_tpl_include('portal/block/top_poster.html'); } if ($this->_rootref['S_DISPLAY_RANDOM_MEMBER']) {  $this->_tpl_include('portal/block/random_member.html'); } if ($this->_rootref['S_DISPLAY_CLOCK']) {  $this->_tpl_include('portal/block/clock.html'); } if ($this->_rootref['S_DISPLAY_MINICAL']) {  $this->_tpl_include('portal/block/mini_calendar.html'); } if ($this->_rootref['S_DISPLAY_LINK_US']) {  $this->_tpl_include('portal/block/link_us.html'); } if ($this->_rootref['S_DISPLAY_LINKS']) {  $this->_tpl_include('portal/block/links.html'); } if ($this->_rootref['S_DISPLAY_LAST_BOTS'] && $this->_rootref['S_LAST_VISITED_BOTS']) {  $this->_tpl_include('portal/block/latest_bots.html'); } if ($this->_rootref['S_DISPLAY_BIRTHDAY_LIST'] && $this->_rootref['BIRTHDAY_LIST']) {  $this->_tpl_include('portal/block/birthday_list.html'); } ?>







   </td>



<!-- [-] left block area -->



   <td width="4" valign="top"></td>







<!-- [+] center block area -->



   <td valign="top">







      <?php if ($this->_rootref['S_DISPLAY_WELCOME']) {  $this->_tpl_include('portal/block/welcome.html'); } if ($this->_rootref['S_ADS_CENTER']) {  $this->_tpl_include('portal/block/ads_center.html'); } if ($this->_rootref['S_DISPLAY_PAY_C']) {  $this->_tpl_include('portal/block/donation/donation.html'); } if ($this->_rootref['S_DISPLAY_RECENT']) {  $this->_tpl_include('portal/block/recent.html'); } if ($this->_rootref['S_DISPLAY_POLL']) {  $this->_tpl_include('portal/block/poll.html'); } if ($this->_rootref['S_DISPLAY_ANNOUNCEMENTS']) {  if ($this->_rootref['S_ANNOUNCE_COMPACT']) {  $this->_tpl_include('portal/block/announcements_compact.html'); } else { $this->_tpl_include('portal/block/announcements.html'); } } if ($this->_rootref['S_DISPLAY_NEWS']) {  if ($this->_rootref['S_NEWS_COMPACT']) {  $this->_tpl_include('portal/block/news_compact.html'); } else { $this->_tpl_include('portal/block/news.html'); } } if ($this->_rootref['S_DISPLAY_WORDGRAPH']) {  $this->_tpl_include('portal/block/wordgraph.html'); } if ($this->_rootref['S_DISPLAY_JUMPBOX']) {  $this->_tpl_include('portal/block/jumpbox.html'); } ?>   







   </td>



<!-- [-] center block area -->



   <td width="4" valign="top"></td>







<!-- [+] right block area -->



   <td width="<?php echo (isset($this->_rootref['PORTAL_RIGHT_COLLUMN'])) ? $this->_rootref['PORTAL_RIGHT_COLLUMN'] : ''; ?>" valign="top" style="padding-left:6px;">



   



   <!--// [+] latest files => only for site version



      <div class="panel">



         <div class="inner">



            <span class="corners-top"><span></span></span>



               <h3>Latest Files</h3>



               <span style="font-weight: bold">Latest version:</span> 1.1.0b<br />



               <span style="font-weight: bold">Released:</span> 2007-08-01<br /><br />



               <span style="font-weight: bold">Download:</span><br />



               <a href="http://www.phpbb3portal.com/viewtopic.php?f=4&t=9">phpbb3-portal.110b.tar.gz</a><br /><br />



               <span style="font-weight: bold">Development:</span><br />



               <a href="http://www.phppbb3ortal.com">phpbb3portal.com</a><br />



               <a href="http://sourceforge.net/projects/canverportal/" rel="nofollow">SourceForge Project</a>



            <span class="corners-bottom"><span></span></span>



         </div>



      </div>



      <br clear="all" />



[-] latest files => only for site version //-->







      <?php if (! $this->_rootref['S_USER_LOGGED_IN']) {  $this->_tpl_include('portal/block/login_box.html'); } if ($this->_rootref['S_USER_LOGGED_IN']) {  $this->_tpl_include('portal/block/user_menu.html'); } if ($this->_rootref['S_DISPLAY_FRIENDS'] && $this->_rootref['S_ZEBRA_ENABLED'] && $this->_rootref['S_USER_LOGGED_IN']) {  $this->_tpl_include('portal/block/online_friends.html'); } if ($this->_rootref['S_DISPLAY_ADVANCED_STAT']) {  $this->_tpl_include('portal/block/statistics.html'); } if ($this->_rootref['S_DISPLAY_ONLINE_LIST']) {  $this->_tpl_include('portal/block/whois_online.html'); } if ($this->_rootref['S_DISPLAY_LEADERS']) {  $this->_tpl_include('portal/block/leaders.html'); } if (! $this->_rootref['S_IS_BOT'] && $this->_rootref['S_USER_LOGGED_IN'] && $this->_rootref['S_DISPLAY_ATTACHMENTS']) {  $this->_tpl_include('portal/block/attachments.html'); } if ($this->_rootref['S_DISPLAY_ACTIVE_TOPIC']) {  ?>



      <!--INCLUDE portal/block/active.html-->



      <?php } ?>



      



      <!--INCLUDE portal/block/_sample_block_design.html-->







   </td>



<!-- [-] right block area -->



</tr>



</table>



<!--// phpBB3 Portal by Sevdin Filiz, www.phpbb3portal.com //-->



<?php $this->_tpl_include('overall_footer.html'); ?>




Code: Select all
<?php
/**
*
* @package phpBB3
* @version $Id: template.php,v 1.116 2007/10/04 12:02:03 acydburn Exp $
* @copyright (c) 2005 phpBB Group, sections (c) 2001 ispi of Lincoln Inc
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
   exit;
}

/**
* Base Template class.
* @package phpBB3
*/
class template
{
   /** variable that holds all the data we'll be substituting into
   * the compiled templates. Takes form:
   * --> $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('.' => array(0 => array()));
   var $_rootref;

   // Root dir and hash of filenames for each template handle.
   var $root = '';
   var $cachepath = '';
   var $files = array();
   var $filename = array();

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

   /**
   * Set template location
   * @access public
   */
   function set_template()
   {
      global $phpbb_root_path, $user;

      if (file_exists($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template'))
      {
         $this->root = $phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template';
         $this->cachepath = $phpbb_root_path . 'cache/tpl_' . $user->theme['template_path'] . '_';
      }
      else
      {
         trigger_error('Template path could not be found: styles/' . $user->theme['template_path'] . '/template', E_USER_ERROR);
      }

      $this->_rootref = &$this->_tpldata['.'][0];

      return true;
   }

   /**
   * Set custom template location (able to use directory outside of phpBB)
   * @access public
   */
   function set_custom_template($template_path, $template_name)
   {
      global $phpbb_root_path;

      $this->root = $template_path;
      $this->cachepath = $phpbb_root_path . 'cache/ctpl_' . $template_name . '_';

      return true;
   }

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

      foreach ($filename_array as $handle => $filename)
      {
         if (empty($filename))
         {
            trigger_error("template->set_filenames: Empty filename specified for $handle", E_USER_ERROR);
         }

         $this->filename[$handle] = $filename;
         $this->files[$handle] = $this->root . '/' . $filename;
      }

      return true;
   }

   /**
   * Destroy template data set
   * @access public
   */
   function destroy()
   {
      $this->_tpldata = array('.' => array(0 => array()));
   }

   /**
   * Reset/empty complete block
   * @access public
   */
   function destroy_block_vars($blockname)
   {
      if (strpos($blockname, '.') !== false)
      {
         // Nested block.
         $blocks = explode('.', $blockname);
         $blockcount = sizeof($blocks) - 1;

         $str = &$this->_tpldata;
         for ($i = 0; $i < $blockcount; $i++)
         {
            $str = &$str[$blocks[$i]];
            $str = &$str[sizeof($str) - 1];
         }

         unset($str[$blocks[$blockcount]]);
      }
      else
      {
         // Top-level block.
         unset($this->_tpldata[$blockname]);
      }

      return true;
   }

   /**
   * Display handle
   * @access public
   */
   function display($handle, $include_once = true)
   {
      global $user, $phpbb_hook;

      if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $include_once))
      {
         if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__)))
         {
            return $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__));
         }
      }

      if (defined('IN_ERROR_HANDLER'))
      {
         if ((E_NOTICE & error_reporting()) == E_NOTICE)
         {
            error_reporting(error_reporting() ^ E_NOTICE);
         }
      }

      if ($filename = $this->_tpl_load($handle))
      {
         ($include_once) ? include_once($filename) : include($filename);
      }
      else
      {
         eval(' ?>' . $this->compiled_code[$handle] . '<?php ');
      }

      return true;
   }

   /**
   * Display the handle and assign the output to a template variable or return the compiled result.
   * @access public
   */
   function assign_display($handle, $template_var = '', $return_content = true, $include_once = false)
   {
      ob_start();
      $this->display($handle, $include_once);
      $contents = ob_get_clean();

      if ($return_content)
      {
         return $contents;
      }

      $this->assign_var($template_var, $contents);

      return true;
   }

   /**
   * Load a compiled template if possible, if not, recompile it
   * @access private
   */
   function _tpl_load(&$handle)
   {
      global $user, $phpEx, $config;

      $filename = $this->cachepath . str_replace('/', '.', $this->filename[$handle]) . '.' . $phpEx;

      $recompile = (($config['load_tplcompile'] && @filemtime($filename) < filemtime($this->files[$handle])) || !file_exists($filename) || @filesize($filename) === 0) ? true : false;

      // Recompile page if the original template is newer, otherwise load the compiled version
      if (!$recompile)
      {
         return $filename;
      }

      global $db, $phpbb_root_path;

      if (!class_exists('template_compile'))
      {
         include($phpbb_root_path . 'includes/functions_template.' . $phpEx);
      }

      $compile = new template_compile($this);

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

      // Just compile if no user object is present (happens within the installer)
      if (!$user)
      {
         $compile->_tpl_load_file($handle);
         return false;
      }

      if (isset($user->theme['template_storedb']) && $user->theme['template_storedb'])
      {
         $sql = 'SELECT *
            FROM ' . STYLES_TEMPLATE_DATA_TABLE . '
            WHERE template_id = ' . $user->theme['template_id'] . "
               AND (template_filename = '" . $db->sql_escape($this->filename[$handle]) . "'
                  OR template_included " . $db->sql_like_expression($db->any_char . $this->filename[$handle] . ':' . $db->any_char) . ')';
         $result = $db->sql_query($sql);
         $row = $db->sql_fetchrow($result);

         if ($row)
         {
            do
            {
               if ($row['template_mtime'] < filemtime($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/' . $row['template_filename']))
               {
                  if ($row['template_filename'] == $this->filename[$handle])
                  {
                     $compile->_tpl_load_file($handle);
                  }
                  else
                  {
                     $this->files[$row['template_filename']] = $this->root . '/' . $row['template_filename'];
                     $compile->_tpl_load_file($row['template_filename']);
                     unset($this->compiled_code[$row['template_filename']]);
                     unset($this->files[$row['template_filename']]);
                     unset($this->filename[$row['template_filename']]);
                  }
               }

               if ($row['template_filename'] == $this->filename[$handle])
               {
                  $this->compiled_code[$handle] = $compile->compile(trim($row['template_data']));
                  $compile->compile_write($handle, $this->compiled_code[$handle]);
               }
               else
               {
                  // Only bother compiling if it doesn't already exist
                  if (!file_exists($this->cachepath . str_replace('/', '.', $row['template_filename']) . '.' . $phpEx))
                  {
                     $this->filename[$row['template_filename']] = $row['template_filename'];
                     $compile->compile_write($row['template_filename'], $compile->compile(trim($row['template_data'])));
                     unset($this->filename[$row['template_filename']]);
                  }
               }
            }
            while ($row = $db->sql_fetchrow($result));
         }
         else
         {
            // Try to load from filesystem and instruct to insert into the styles table...
            $compile->_tpl_load_file($handle, true);
            return false;
         }
         $db->sql_freeresult($result);

         return false;
      }

      $compile->_tpl_load_file($handle);
      return false;
   }

   /**
   * Assign key variable pairs from an array
   * @access public
   */
   function assign_vars($vararray)
   {
      foreach ($vararray as $key => $val)
      {
         $this->_rootref[$key] = $val;
      }

      return true;
   }

   /**
   * Assign a single variable to a single key
   * @access public
   */
   function assign_var($varname, $varval)
   {
      $this->_rootref[$varname] = $varval;

      return true;
   }

   /**
   * Assign key variable pairs from an array to a specified block
   * @access public
   */
   function assign_block_vars($blockname, $vararray)
   {
      if (strpos($blockname, '.') !== false)
      {
         // Nested block.
         $blocks = explode('.', $blockname);
         $blockcount = sizeof($blocks) - 1;

         $str = &$this->_tpldata;
         for ($i = 0; $i < $blockcount; $i++)
         {
            $str = &$str[$blocks[$i]];
            $str = &$str[sizeof($str) - 1];
         }

         $s_row_count = isset($str[$blocks[$blockcount]]) ? sizeof($str[$blocks[$blockcount]]) : 0;
         $vararray['S_ROW_COUNT'] = $s_row_count;

         // Assign S_FIRST_ROW
         if (!$s_row_count)
         {
            $vararray['S_FIRST_ROW'] = true;
         }

         // Now the tricky part, we always assign S_LAST_ROW and remove the entry before
         // This is much more clever than going through the complete template data on display (phew)
         $vararray['S_LAST_ROW'] = true;
         if ($s_row_count > 0)
         {
            unset($str[$blocks[$blockcount]][($s_row_count - 1)]['S_LAST_ROW']);
         }

         // 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;
      }
      else
      {
         // Top-level block.
         $s_row_count = (isset($this->_tpldata[$blockname])) ? sizeof($this->_tpldata[$blockname]) : 0;
         $vararray['S_ROW_COUNT'] = $s_row_count;

         // Assign S_FIRST_ROW
         if (!$s_row_count)
         {
            $vararray['S_FIRST_ROW'] = true;
         }

         // We always assign S_LAST_ROW and remove the entry before
         $vararray['S_LAST_ROW'] = true;
         if ($s_row_count > 0)
         {
            unset($this->_tpldata[$blockname][($s_row_count - 1)]['S_LAST_ROW']);
         }
         
         // Add a new iteration to this block with the variable assignments we were given.
         $this->_tpldata[$blockname][] = $vararray;
      }

      return true;
   }

   /**
   * Change already assigned key variable pair (one-dimensional - single loop entry)
   *
   * An example of how to use this function:
   * {@example alter_block_array.php}
   *
   * @param   string   $blockname   the blockname, for example 'loop'
   * @param   array   $vararray   the var array to insert/add or merge
   * @param   mixed   $key      Key to search for
   *
   * array: KEY => VALUE [the key/value pair to search for within the loop to determine the correct position]
   *
   * int: Position [the position to change or insert at directly given]
   *
   * If key is false the position is set to 0
   * If key is true the position is set to the last entry
   *
   * @param   string   $mode      Mode to execute (valid modes are 'insert' and 'change')
   *
   *   If insert, the vararray is inserted at the given position (position counting from zero).
   *   If change, the current block gets merged with the vararray (resulting in new key/value pairs be added and existing keys be replaced by the new value).
   *
   * Since counting begins by zero, inserting at the last position will result in this array: array(vararray, last positioned array)
   * and inserting at position 1 will result in this array: array(first positioned array, vararray, following vars)
   *
   * @return bool false on error, true on success
   * @access public
   */
   function alter_block_array($blockname, $vararray, $key = false, $mode = 'insert')
   {
      if (strpos($blockname, '.') !== false)
      {
         // Nested blocks are not supported
         return false;
      }
      
      // Change key to zero (change first position) if false and to last position if true
      if ($key === false || $key === true)
      {
         $key = ($key === false) ? 0 : sizeof($this->_tpldata[$blockname]);
      }

      // Get correct position if array given
      if (is_array($key))
      {
         // Search array to get correct position
         list($search_key, $search_value) = @each($key);

         $key = NULL;
         foreach ($this->_tpldata[$blockname] as $i => $val_ary)
         {
            if ($val_ary[$search_key] === $search_value)
            {
               $key = $i;
               break;
            }
         }

         // key/value pair not found
         if ($key === NULL)
         {
            return false;
         }
      }

      // Insert Block
      if ($mode == 'insert')
      {
         // Make sure we are not exceeding the last iteration
         if ($key >= sizeof($this->_tpldata[$blockname]))
         {
            $key = sizeof($this->_tpldata[$blockname]);
            unset($this->_tpldata[$blockname][($key - 1)]['S_LAST_ROW']);
            $vararray['S_LAST_ROW'] = true;
         }
         else if ($key === 0)
         {
            unset($this->_tpldata[$blockname][0]['S_FIRST_ROW']);
            $vararray['S_FIRST_ROW'] = true;
         }

         // Re-position template blocks
         for ($i = sizeof($this->_tpldata[$blockname]); $i > $key; $i--)
         {
            $this->_tpldata[$blockname][$i] = $this->_tpldata[$blockname][$i-1];
            $this->_tpldata[$blockname][$i]['S_ROW_COUNT'] = $i;
         }

         // Insert vararray at given position
         $vararray['S_ROW_COUNT'] = $key;
         $this->_tpldata[$blockname][$key] = $vararray;

         return true;
      }

      // Which block to change?
      if ($mode == 'change')
      {
         if ($key == sizeof($this->_tpldata[$blockname]))
         {
            $key--;
         }

         $this->_tpldata[$blockname][$key] = array_merge($this->_tpldata[$blockname][$key], $vararray);
         return true;
      }

      return false;
   }

   /**
   * Include a separate template
   * @access private
   */
   function _tpl_include($filename, $include = true)
   {
      $handle = $filename;
      $this->filename[$handle] = $filename;
      $this->files[$handle] = $this->root . '/' . $filename;

      $filename = $this->_tpl_load($handle);

      if ($include)
      {
         global $user;

         if ($filename)
         {
            include($filename);
            return;
         }
         eval(' ?>' . $this->compiled_code[$handle] . '<?php ');
      }
   }
}

?>
Last edited by Ladysarajane on 26 Apr 2008, 20:47, edited 2 times in total.
Reason: Put code in spoiler tags
The Phantom    
Ensign
Ensign
 
Posts: 88
Joined: 01 Mar 2008, 22:42
Location: Australia
Gender: Female
phpBB Knowledge: 3

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby bbrian017 » 06 Apr 2008, 09:15

anyone running this portal on phpbb 3.0 gold? And are you having issues with global and forum announcements still?
bbrian017
Ensign
Ensign
 
Posts: 97
Joined: 02 Apr 2007, 12:29
Gender: Male

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby bbrian017 » 26 Apr 2008, 18:22

bump... is this project dead or what?
bbrian017
Ensign
Ensign
 
Posts: 97
Joined: 02 Apr 2007, 12:29
Gender: Male

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby Ladysarajane » 26 Apr 2008, 20:50

bbrian017 wrote:bump... is this project dead or what?


I haven't seen angelside on here recently, but if you click on the demo on the first page, the project is still active and further along in releases.
Warning: Stay away from Deck 15 if you don't have security clearance level 6 or above! Unauthorized access is prohibited.
Image
User avatar
Ladysarajane
STG Moderator
STG Moderator
 
Posts: 1962
Joined: 21 Mar 2007, 23:35
Favorite Team: Bengals
Gender: Female
phpBB Knowledge: 5

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby Acacia » 11 May 2008, 08:23

Hello,

It seems the author of this mod is AWOL at the moment, but as I have a slight installation problem I thought Id give it a shot posting here in case someone have some advice.

I've completed all the installation steps up to running the install_portal.php file. After clicking the link I assume it starts the process but after a few minutes I get a CGI Timeout error message: The specified CGI application exceeded the allowed time for processing. The server has deleted the process.

I did a quick Google search and apparently IIS servers have a default timeout setting of 5 minutes. As I am on a hosted service, this isn't something I have immediate access to alter. Is there anyway to by pass this? Any lines in the installation (checkups or the like) that I can comment out to minimize the run time?

[Edit: Running installation on portal verion 1.2.2 on a phpbb 3.0.1]

Greatfull for any help/tips :hello:
Acacia
Crewman
Crewman
 
Posts: 4
Joined: 11 May 2008, 07:51
Gender: Female
phpBB Knowledge: 3

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby Acacia » 14 May 2008, 11:05

Hums, if there's no solution to the above, is it possible to run the database queries directly in myphp? :cray:
Or if that dosnt work, does anyone know if Stargate Portalhas a theme looking more like phpBB3 Portal? I'm after the "lighter" look. :beg:
Acacia
Crewman
Crewman
 
Posts: 4
Joined: 11 May 2008, 07:51
Gender: Female
phpBB Knowledge: 3

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby PawsTastic » 20 May 2008, 12:30

You mean prosilver theme, yes it comes with prosilver theme.

Also if you go to http://www.phpbbireland.com/phpBB3

They have a few themes ported for this, also they are currently working on 4.0 version and many more themes will be ported to that as well too.
Image WE ARE BORG!! Resistance are Futile!! Image
Check out PAWSTASTIC!!
PawsTastic    
Supporter
Supporter
 
Posts: 53
Joined: 05 May 2008, 01:34
Location: Pittsburgh Pa
Favorite Team: Steelers
Gender: Female
phpBB Knowledge: 5

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby Ladysarajane » 20 May 2008, 16:36

I am locking this topic and archiving it. It doesn't seem to be supported by the mod author anymore, although the download is still active.
locked topic
Reason: inactive mod
Warning: Stay away from Deck 15 if you don't have security clearance level 6 or above! Unauthorized access is prohibited.
Image
User avatar
Ladysarajane
STG Moderator
STG Moderator
 
Posts: 1962
Joined: 21 Mar 2007, 23:35
Favorite Team: Bengals
Gender: Female
phpBB Knowledge: 5

Re: phpBB3 Portal [1.0.2b] a.k.a canverPortal

Postby Ladysarajane » 25 May 2008, 14:58

Topic unlocked. Mod author pm'ed me and said they were giving support at http://www.phpbb3portal.com/index.php
Warning: Stay away from Deck 15 if you don't have security clearance level 6 or above! Unauthorized access is prohibited.
Image
User avatar
Ladysarajane
STG Moderator
STG Moderator
 
Posts: 1962
Joined: 21 Mar 2007, 23:35
Favorite Team: Bengals
Gender: Female
phpBB Knowledge: 5

PreviousNext

Return to Portals

Who is online

Users browsing this forum: No registered users and 1 guest

cron