[Customisation Database Commits] r167 - in /branches/highwayoflife/titania: ./ authors/ includes/ includes/authors/ includes/mods/ includes/titania/ install/ language/en/ language/en/email/ mods/ template/ template/authors/ template/mods/ theme/

David Lewis highwayoflife at phpbb.com
Mon Nov 10 10:30:39 CET 2008


Author: HighwayofLife
Date: Mon Nov 10 10:30:38 2008
New Revision: 167

Log:
Merge highwayoflife branch to trunk up to r166

Added:
    branches/highwayoflife/titania/includes/authors/
      - copied from r166, trunk/titania/includes/authors/
    branches/highwayoflife/titania/includes/authors/authors_main.php
      - copied unchanged from r166, trunk/titania/includes/authors/authors_main.php
    branches/highwayoflife/titania/includes/mods/mods_details.php
      - copied unchanged from r166, trunk/titania/includes/mods/mods_details.php
    branches/highwayoflife/titania/includes/mods/mods_faq.php
      - copied unchanged from r166, trunk/titania/includes/mods/mods_faq.php
    branches/highwayoflife/titania/includes/mods/mods_reviews.php
      - copied unchanged from r166, trunk/titania/includes/mods/mods_reviews.php
    branches/highwayoflife/titania/includes/mods/mods_support.php
      - copied unchanged from r166, trunk/titania/includes/mods/mods_support.php
    branches/highwayoflife/titania/includes/titania_modules.php
      - copied unchanged from r166, trunk/titania/includes/titania_modules.php
    branches/highwayoflife/titania/language/en/email/
      - copied from r166, trunk/titania/language/en/email/
    branches/highwayoflife/titania/language/en/email/mod_recommend.txt
      - copied unchanged from r166, trunk/titania/language/en/email/mod_recommend.txt
    branches/highwayoflife/titania/template/contrib_faq_details.html
      - copied unchanged from r166, trunk/titania/template/contrib_faq_details.html
    branches/highwayoflife/titania/template/contrib_faq_list.html
      - copied unchanged from r166, trunk/titania/template/contrib_faq_list.html
    branches/highwayoflife/titania/template/mods/mod_email.html
      - copied unchanged from r166, trunk/titania/template/mods/mod_email.html
Removed:
    branches/highwayoflife/titania/template/mods/mod_faq.html
Modified:
    branches/highwayoflife/titania/authors/index.php
    branches/highwayoflife/titania/includes/class_base_db_object.php
    branches/highwayoflife/titania/includes/class_faq.php
    branches/highwayoflife/titania/includes/class_review.php
    branches/highwayoflife/titania/includes/class_sort.php
    branches/highwayoflife/titania/includes/class_titania.php
    branches/highwayoflife/titania/includes/constants.php
    branches/highwayoflife/titania/includes/mods/mods_main.php
    branches/highwayoflife/titania/includes/titania/titania_main.php
    branches/highwayoflife/titania/index.php
    branches/highwayoflife/titania/install/install.sql
    branches/highwayoflife/titania/install/module_dump.sql
    branches/highwayoflife/titania/install/shema_dump.sql
    branches/highwayoflife/titania/language/en/titania_authors.php
    branches/highwayoflife/titania/language/en/titania_common.php
    branches/highwayoflife/titania/language/en/titania_contrib.php
    branches/highwayoflife/titania/language/en/titania_mods.php
    branches/highwayoflife/titania/mods/index.php
    branches/highwayoflife/titania/template/authors/author_list.html
    branches/highwayoflife/titania/template/authors/author_profile.html
    branches/highwayoflife/titania/template/mods/mod_details.html
    branches/highwayoflife/titania/template/mods/mod_list.html
    branches/highwayoflife/titania/template/overall_header.html
    branches/highwayoflife/titania/theme/common.css

Modified: branches/highwayoflife/titania/authors/index.php
==============================================================================
*** branches/highwayoflife/titania/authors/index.php (original)
--- branches/highwayoflife/titania/authors/index.php Mon Nov 10 10:30:38 2008
***************
*** 1,77 ****
  <?php
  /**
! *
! * @package titania
! * @version $Id: index.php 77 2008-08-25 09:11:31Z HighwayofLife $
! * @copyright (c) 2008 phpBB Customisation Database Team
! * @license http://opensource.org/licenses/gpl-license.php GNU Public License
! *
! */
  
  /**
! * @ignore
! */
  define('IN_TITANIA', true);
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './../');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
  
! $user->add_lang(array('titania_contrib', 'titania_authors'));
! 
! $mode = request_var('mode', '');
! $tag_type = 'AUTHOR';
! 
! switch ($mode)
! {
! 	case 'profile':
! 		$page_title = 'AUTHOR_PROFILE';
! 		$template_body = 'authors/author_profile.html';
! 
! 		require(TITANIA_ROOT . 'includes/class_author.' . PHP_EXT);
  
! 		try
! 		{
! 			$author = new titania_author(request_var('author_id', 0));
! 			$author->load();
! 		}
! 		catch (NoDataFoundException $e)
! 		{
! 			trigger_error('AUTHOR_NOT_FOUND');
! 		}
! 		
! 		/**
! 		* @TODO
! 		* Send author data to the template
! 		**/
! 		
! 	break;
  
! 	case 'list':
! 	default:
  
! 		$titania->page = TITANIA_ROOT . 'authors/index.' . PHP_EXT;
  
! 		$page_title = $tag_type . '_LIST';
! 		$template_body = 'authors/author_list.html';
! 		
! 		/**
! 		* @TODO
! 		* Send authors to template
! 		* Uses $titania->author_list()
! 		**/
! 		$titania->author_list();
! 		
! 	break;
  
! }
  
! // Output page
! $titania->page_header($user->lang[$page_title]);
  
  $template->set_filenames(array(
! 	'body' => $template_body,
  ));
  
  $titania->page_footer();
- 
- ?>
\ No newline at end of file
--- 1,46 ----
  <?php
  /**
!  *
!  * @package titania
!  * @version $Id: index.php 77 2008-08-25 09:11:31Z HighwayofLife $
!  * @copyright (c) 2008 phpBB Customisation Database Team
!  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
!  *
!  */
  
  /**
!  * @ignore
!  */
  define('IN_TITANIA', true);
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './../');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
+ include(TITANIA_ROOT . 'includes/titania_modules.' . PHP_EXT);
  
! $id		= request_var('id', 'main');
! $mode	= request_var('mode', '');
  
! $module = new titania_modules();
  
! // Instantiate module system and generate list of available modules
! $module->list_modules('authors');
  
! // Select the active module
! $module->set_active($id, $mode);
  
! // Load and execute the relevant module
! // trick the module class to allow modules to be loaded from the titania includes path.
! $module->set_custom_include_path(TITANIA_ROOT . 'includes/');
! $module->load_active();
  
! // Assign data to the template engine for the list of modules
! $module->assign_tpl_vars(append_sid(TITANIA_ROOT . 'authors/index.' . PHP_EXT));
  
! // $titania->page_footer(false);
! $titania->page_header($module->get_page_title(), false);
  
  $template->set_filenames(array(
! 	'body' => $module->get_tpl_name(),
  ));
  
  $titania->page_footer();

Modified: branches/highwayoflife/titania/includes/class_base_db_object.php
==============================================================================
*** branches/highwayoflife/titania/includes/class_base_db_object.php (original)
--- branches/highwayoflife/titania/includes/class_base_db_object.php Mon Nov 10 10:30:38 2008
***************
*** 149,155 ****
  
  		if (empty($this->sql_data))
  		{
! 			throw new NoDataFoundException();
  		}
  
  		foreach ($this->sql_data as $key => $value)
--- 149,155 ----
  
  		if (empty($this->sql_data))
  		{
! 			return false;
  		}
  
  		foreach ($this->sql_data as $key => $value)

Modified: branches/highwayoflife/titania/includes/class_faq.php
==============================================================================
*** branches/highwayoflife/titania/includes/class_faq.php (original)
--- branches/highwayoflife/titania/includes/class_faq.php Mon Nov 10 10:30:38 2008
***************
*** 40,46 ****
  	 * @var string
  	 */
  	protected $sql_id_field		= 'faq_id';
! 
  	/**
  	 * Constructor class for titania faq
  	 *
--- 40,46 ----
  	 * @var string
  	 */
  	protected $sql_id_field		= 'faq_id';
! 	
  	/**
  	 * Constructor class for titania faq
  	 *
***************
*** 53,62 ****
  			'faq_id'			=> array('default' => 0),
  			'contrib_id' 		=> array('default' => 0),
  			'parent_id' 		=> array('default' => 0),
! 			'contrib_version' 	=> array('default' => 0, 'max' => 15),
  			'faq_order_id' 		=> array('default' => 0),
! 			'faq_subject' 		=> array('default' => 0, 'max' => 255),
! 			'faq_text' 			=> array('default' => 0),
  			'faq_text_bitfield'	=> array('default' => '', 'readonly' => true),
  			'faq_text_uid'		=> array('default' => '', 'readonly' => true),
  			'faq_text_options'	=> array('default' => 7, 'readonly' => true)
--- 53,62 ----
  			'faq_id'			=> array('default' => 0),
  			'contrib_id' 		=> array('default' => 0),
  			'parent_id' 		=> array('default' => 0),
! 			'contrib_version' 	=> array('default' => '', 'max' => 15),
  			'faq_order_id' 		=> array('default' => 0),
! 			'faq_subject' 		=> array('default' => '', 'max' => 255),
! 			'faq_text' 			=> array('default' => ''),
  			'faq_text_bitfield'	=> array('default' => '', 'readonly' => true),
  			'faq_text_uid'		=> array('default' => '', 'readonly' => true),
  			'faq_text_options'	=> array('default' => 7, 'readonly' => true)
***************
*** 67,104 ****
  			$this->faq_id = $faq_id;
  		}
  	}
  
  	/**
! 	 *  Creating list with similar FAQs
  	 *
  	 * @param int $faq_id
  	 */ 
! 	public function get_similar_faqs($faq_id)
  	{
! 		global $db;
  		
! 		$sql = 'SELECT faq_id, faq_subject
! 			FROM ' . $this->sql_table . '
! 			WHERE parent_id = ' . (int) $faq_id;
  		$result = $db->sql_query($sql);
  		
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$template->assign_block_vars('similarfaqs', array(
! 				'U_FAQ'		=> append_sid(TITANIA_ROOT . "mods/index.$phpEx", 'mode=faq&amp;action=details&amp;faq_id=' . $row['faq_id']),
  				'SUBJECT'	=> $row['faq_subject']
  			));
  		}
  	}
! 
  	/**
! 	 * Display FAQs list for selected contrib
  	 *
  	 * @param int $contrib_id
  	 */
! 	public function get_faqs_list($contrib_id)
  	{
! 		global $db, $template;
  
  		if (!class_exists('sort'))
  		{
--- 67,139 ----
  			$this->faq_id = $faq_id;
  		}
  	}
+ 	
+ 	/*
+ 	 * faq details
+ 	 *
+      * @param int $faq_id
+ 	 */
+ 	public function faq_details($contrib_type)
+ 	{
+ 		global $template, $titania;
+ 		
+ 		$this->load();
  
+ 		if (!$this->faq_id)
+ 		{
+ 			titania::trigger_error('FAQ_DETAILS_NOT_FOUND');
+ 		}		
+ 
+ 		decode_message($this->faq_text, $this->faq_text_uid);
+ 		
+ 		$template->assign_vars(array(
+ 			'FAQ_ID'			=> $this->faq_id,
+ 			'FAQ_SUBJECT'		=> $this->faq_subject,
+ 			'FAQ_TEXT'			=> $this->faq_text,
+ 			'CONTRIB_VERSION' 	=> $this->contrib_version,
+ 
+ 			'U_OTHERS_FAQ'		=> append_sid($titania->page, 'id=faq&amp;mode=view&amp;' . $contrib_type . '=' . $this->contrib_id),
+ 		));
+ 	}
+ 	
  	/**
! 	 * Creating list with similar FAQ
  	 *
  	 * @param int $faq_id
  	 */ 
! 	public function similar_faq()
  	{
! 		global $db, $template;
  		
! 		$sql_ary = array(
! 			'SELECT'	=> 'f.faq_id, f.faq_subject',
! 			'FROM'		=> array(
! 				CUSTOMISATION_CONTRIB_FAQ_TABLE => 'f',
! 			),
! 			'WHERE'		=> 'f.parent_id = ' . $this->faq_id,
! 		);
! 		
! 		$sql = $db->sql_build_query('SELECT', $sql_ary);		
  		$result = $db->sql_query($sql);
  		
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$template->assign_block_vars('similarfaq', array(
! 				'U_FAQ'		=> append_sid($titania->page, 'id=faq&amp;mode=view&amp;faq_id=' . $row['faq_id']),
! 	
  				'SUBJECT'	=> $row['faq_subject']
  			));
  		}
  	}
! 	
  	/**
! 	 * Display FAQ list for selected contrib
  	 *
  	 * @param int $contrib_id
  	 */
! 	public function faq_list($contrib_id, $contrib_type)
  	{
! 		global $db, $template, $titania;
  
  		if (!class_exists('sort'))
  		{
***************
*** 114,120 ****
  		
  		$sort->set_sort_keys(array(
  			array('SORT_CONTRIB_VERSION',		'f.contrib_version', 'default' => true),
! 			array('SORT_SUBJECT',				'f.fat_subject'),
  		));
  
  		$sort->sort_request(false);		
--- 149,155 ----
  		
  		$sort->set_sort_keys(array(
  			array('SORT_CONTRIB_VERSION',		'f.contrib_version', 'default' => true),
! 			array('SORT_SUBJECT',				'f.faq_subject'),
  		));
  
  		$sort->sort_request(false);		
***************
*** 124,166 ****
  		$limit = $pagination->set_limit();
  		
  		// select the list of faqs for this contrib
! 		$sql_array = array(
  			'SELECT'	=> 'f.faq_id, f.contrib_version, f.faq_subject',
  			'FROM'		=> array(
! 				$this->sql_table => 'f'
  			),
  			'WHERE'		=> 'f.contrib_id = ' . $contrib_id,
  			'ORDER_BY'	=> $sort->get_order_by()
  		);
  		
! 		$sql = $db->sql_build_query('SELECT', $sql_array);
  		$result = $db->sql_query_limit($sql, $limit, $start);
  
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$template->assign_block_vars('faqs', array(
! 				'U_FAQ'				=> append_sid(TITANIA_ROOT . "mods/index.$phpEx", 'mode=faq&amp;action=details&amp;faq_id=' . $row['faq_id']),
  				'CONTRIB_VERSION'	=> $row['contrib_version'],
  				'SUBJECT'			=> $row['faq_subject'],
! 			));			
  		}
  		$db->sql_freeresult($result);
  		
! 		$pagination->sql_total_count($sql_ary, 'f.faq_id');
  		
  		$pagination->set_params(array(
! 			'sk'	=> $sort->get_sort_key(),
! 			'sd'	=> $sort->get_sort_dir(),
  		));
  		
  		// Build a pagination
! 		$pagination->build_pagination($this->page);
  		
  		$template->assign_vars(array(
  			'S_MODE_SELECT'		=> $sort->get_sort_key_list(),
  			'S_ORDER_SELECT'	=> $sort->get_sort_dir_list(),
  		));
  	}
  }
  
! ?>
--- 159,212 ----
  		$limit = $pagination->set_limit();
  		
  		// select the list of faqs for this contrib
! 		$sql_ary = array(
  			'SELECT'	=> 'f.faq_id, f.contrib_version, f.faq_subject',
  			'FROM'		=> array(
! 				CUSTOMISATION_CONTRIB_FAQ_TABLE => 'f',
  			),
  			'WHERE'		=> 'f.contrib_id = ' . $contrib_id,
  			'ORDER_BY'	=> $sort->get_order_by()
  		);
  		
! 		$sql = $db->sql_build_query('SELECT', $sql_ary);
  		$result = $db->sql_query_limit($sql, $limit, $start);
  
+ 		$results = 0;
+ 		
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$template->assign_block_vars('faq', array(
! 				'U_FAQ'				=> append_sid($titania->page, 'id=faq&amp;mode=view&amp;faq_id=' . $row['faq_id']),
  				'CONTRIB_VERSION'	=> $row['contrib_version'],
  				'SUBJECT'			=> $row['faq_subject'],
! 			));
! 			
! 			$results++;
  		}
  		$db->sql_freeresult($result);
  		
! 		if (!$results)
! 		{
! 			return false;
! 		}
! 		
! 		$pagination->sql_total_count($sql_ary, 'f.faq_id', $results);
  		
  		$pagination->set_params(array(
! 			'sk'	=> $sort->get_sort_key(false),
! 			'sd'	=> $sort->get_sort_dir(false),
  		));
  		
  		// Build a pagination
! 		$pagination->build_pagination(append_sid($titania->page, 'id=faq&amp;mode=view&amp;' . $contrib_type . '=' . $contrib_id));
  		
  		$template->assign_vars(array(
  			'S_MODE_SELECT'		=> $sort->get_sort_key_list(),
  			'S_ORDER_SELECT'	=> $sort->get_sort_dir_list(),
  		));
+ 		
+ 		return true;
  	}
  }
  
! ?>
\ No newline at end of file

Modified: branches/highwayoflife/titania/includes/class_review.php
==============================================================================
*** branches/highwayoflife/titania/includes/class_review.php (original)
--- branches/highwayoflife/titania/includes/class_review.php Mon Nov 10 10:30:38 2008
***************
*** 210,213 ****
--- 210,258 ----
  			$this->review_text_options = $flags;
  		}
  	}
+ 
+ 
+ 
+ 	/**
+ 	 * Display rating menu if user has not rated this contrib previously
+ 	 *
+ 	 * @return unknown
+ 	 */
+ 	public function rating_menu($contrib_id)
+ 	{
+ 		global $user, $db;
+ 
+ 		$s_rating_options = '';
+ 		foreach ($user->lang['ratings'] as $rating => $lang)
+ 		{
+ 			$s_rating_options .= '<option value="' . $rating . '">' . $lang . '</option>';
+ 		}
+ 
+ 		return $s_rating_options;
+ 	}
+ 
+ 	/**
+ 	 * Obtain an array of reviews by contrib.
+ 	 *
+ 	 * @param int $contrib
+ 	 * @param string $order_by @todo
+ 	 */
+ 	public function obtain_contrib_reviews($contrib_id, $order_by = false)
+ 	{
+ 		global $db;
+ 
+ 		$reviews = array();
+ 
+ 		$sql = 'SELECT *
+ 				FROM ' . CUSTOMISATION_REVIEWS_TABLE . '
+ 				WHERE contrib_id = ' . (int) $contrib_id;
+ 		$result = $db->sql_query($sql);
+ 		while ($row = $db->sql_fetchrow($result))
+ 		{
+ 			$reviews[$row['review_id']] = $row;
+ 		}
+ 		$db->sql_freeresult($result);
+ 
+ 		return $reviews;
+ 	}
  }
\ No newline at end of file

Modified: branches/highwayoflife/titania/includes/class_sort.php
==============================================================================
*** branches/highwayoflife/titania/includes/class_sort.php (original)
--- branches/highwayoflife/titania/includes/class_sort.php Mon Nov 10 10:30:38 2008
***************
*** 57,63 ****
  	 *
  	 * @var string
  	 */
! 	protected $default_key = '';
  
  	/**
  	 * Sort direction text shown to user, used for select box
--- 57,70 ----
  	 *
  	 * @var string
  	 */
! 	public $default_key = '';
! 
! 	/**
! 	 * Default Sort direction for the page
! 	 *
! 	 * @var string
! 	 */
! 	public $default_dir = '';
  
  	/**
  	 * Sort direction text shown to user, used for select box
***************
*** 77,82 ****
--- 84,91 ----
  			'a' => $user->lang['ASCENDING'],
  			'd' => $user->lang['DESCENDING'],
  		);
+ 
+ 		$this->default_dir = 'a';
  	}
  
  	/**
***************
*** 95,101 ****
  		}
  
  		$this->set_sort_key(request_var($sk, $this->default_key));
! 		$this->set_sort_dir(request_var($sd, 'a'));
  
  		return true;
  	}
--- 104,110 ----
  		}
  
  		$this->set_sort_key(request_var($sk, $this->default_key));
! 		$this->set_sort_dir(request_var($sd, $this->default_dir));
  
  		return true;
  	}
***************
*** 127,136 ****
  	/**
  	 * Get the set sort key
  	 *
  	 * @return string sort_key
  	 */
! 	public function get_sort_key()
  	{
  		return $this->sort_key;
  	}
  
--- 136,151 ----
  	/**
  	 * Get the set sort key
  	 *
+ 	 * @param bool $return_default if set to false, this method will not return the sort key if it is also the default key
  	 * @return string sort_key
  	 */
! 	public function get_sort_key($return_default = true)
  	{
+ 		if (!$return_default && $this->sort_key == $this->default_key)
+ 		{
+ 			return false;
+ 		}
+ 
  		return $this->sort_key;
  	}
  
***************
*** 149,158 ****
  	/**
  	 * Get the set sort direction
  	 *
  	 * @return string sort_dir
  	 */
! 	public function get_sort_dir()
  	{
  		return $this->sort_dir;
  	}
  
--- 164,179 ----
  	/**
  	 * Get the set sort direction
  	 *
+ 	 * @param bool $return_default if set to false, this method will not return the sort dir if it is also the default direction
  	 * @return string sort_dir
  	 */
! 	public function get_sort_dir($return_default = true)
  	{
+ 		if (!$return_default && $this->sort_dir == $this->default_dir)
+ 		{
+ 			return false;
+ 		}
+ 
  		return $this->sort_dir;
  	}
  

Modified: branches/highwayoflife/titania/includes/class_titania.php
==============================================================================
*** branches/highwayoflife/titania/includes/class_titania.php (original)
--- branches/highwayoflife/titania/includes/class_titania.php Mon Nov 10 10:30:38 2008
***************
*** 61,74 ****
  
  		// Call the phpBB page_header() function, but we perform our own actions here as well.
  		page_header($page_title, $display_online_list);
! 		
  		if ($user->data['user_id'] == ANONYMOUS)
  		{
  			$u_login_logout = $template->_rootref['U_LOGIN_LOGOUT'] . '&amp;redirect=' . $this->page;
  		}
  		else
  		{
! 			$u_login_logout = append_sid(TITANIA_ROOT . 'index.' . PHP_EXT, 'mode=logout', true, $user->session_id); 
  		}
  
  		$template->assign_vars(array(
--- 61,74 ----
  
  		// Call the phpBB page_header() function, but we perform our own actions here as well.
  		page_header($page_title, $display_online_list);
! 
  		if ($user->data['user_id'] == ANONYMOUS)
  		{
  			$u_login_logout = $template->_rootref['U_LOGIN_LOGOUT'] . '&amp;redirect=' . $this->page;
  		}
  		else
  		{
! 			$u_login_logout = append_sid(TITANIA_ROOT . 'index.' . PHP_EXT, 'mode=logout', true, $user->session_id);
  		}
  
  		$template->assign_vars(array(
***************
*** 100,106 ****
  		{
  			$message = ($user->data['user_id'] == ANONYMOUS) ? $user->lang['LOGOUT_REDIRECT'] : $user->lang['LOGOUT_FAILED'];
  		}
! 		
  		if ($return)
  		{
  			return $message;
--- 100,106 ----
  		{
  			$message = ($user->data['user_id'] == ANONYMOUS) ? $user->lang['LOGOUT_REDIRECT'] : $user->lang['LOGOUT_FAILED'];
  		}
! 
  		if ($return)
  		{
  			return $message;
***************
*** 223,362 ****
  		return (!$return_url) ? sprintf('<br /><br /><a href="%1$s">%2$s</a>', $redirect, $user->lang[$l_redirect]) : $redirect;
  	}
  
  	/**
  	 * Show the errorbox or successbox
  	 *
  	 * @param string $l_title message title - custom or user->lang defined
  	 * @param string $l_message message string
  	 * @param int $error_type ERROR_SUCCESS or ERROR_ERROR constant
  	 */
! 	public static function error_box($l_title, $l_message, $error_type = ERROR_SUCCESS)
  	{
  		global $template, $user;
  
  		$template->assign_block_vars('errorbox', array(
  			'TITLE'		=> (isset($user->lang[$l_title])) ? $user->lang[$l_title] : $l_title,
! 			'MESSAGE'	=> $l_message,
  			'S_ERROR'	=> ($error_type == ERROR_ERROR) ? true : false,
  			'S_SUCCESS'	=> ($error_type == ERROR_SUCCESS) ? true : false,
  		));
  	}
  
  	/**
! 	 * Function to list authors
  	 *
  	 */
! 	public function author_list()
  	{
! 		global $db, $template, $config, $auth, $user;
! 
! 		if (!class_exists('sort'))
! 		{
! 			include(TITANIA_ROOT . 'includes/class_sort.' . PHP_EXT);
! 		}
! 
! 		if (!class_exists('pagination'))
! 		{
! 			include(TITANIA_ROOT . 'includes/class_pagination.' . PHP_EXT);
! 		}
! 
! 		/**
! 		 * @todo too much hard-coding here
! 		 */
! 		$sort = new sort();
  
! 		$sort->set_sort_keys(array(
! 			array('SORT_AUTHOR',		'a.author_username_clean', 'default' => true),
! 			array('SORT_AUTHOR_RATING',	'a.author_rating'),
! 			array('SORT_CONTRIBS',		'a.author_contribs'),
! 			array('SORT_MODS',			'a.author_mods'),
! 			array('SORT_STYLES',		'a.author_styles'),
! 		));
  
! 		$sort->sort_request(false);
  
! 		$pagination = new pagination();
! 		$pagination->set_result_lang('AUTHOR');
! 		$start = $pagination->set_start();
! 		$limit = $pagination->set_limit();
  
! 		// select the list of contribs
! 		$sql_ary = array(
! 			'SELECT'	=> 'a.*, u.user_lastvisit, u.user_posts',
! 			'FROM'		=> array(
! 				CUSTOMISATION_AUTHORS_TABLE => 'a',
! 			),
! 			'LEFT_JOIN'	=> array(
! 				array(
! 					'FROM'	=> array(USERS_TABLE => 'u'),
! 					'ON'	=> 'a.user_id = u.user_id'
! 				),
! 			),
! 			'WHERE'		=> 'a.author_visible <> ' . AUTHOR_HIDDEN,
! 			'ORDER_BY'	=> $sort->get_order_by(),
  		);
  
! 		$sql = $db->sql_build_query('SELECT', $sql_ary);
! 		$result = $db->sql_query_limit($sql, $limit, $start);
! 
! 		$authors = array();
! 		$author_id_key = array();
! 
! 		while ($author = $db->sql_fetchrow($result))
! 		{
! 			$author_id_key[$author['user_id']] = $author;
! 			$author_id_key[$author['user_id']]['online'] = false;
! 			$authors[] = &$author_id_key[$author['user_id']];
! 		}
! 
! 		$db->sql_freeresult($result);
! 
! 		// Generate online information for user
! 		if ($config['load_onlinetrack'] && sizeof($authors))
! 		{
! 			$sql = 'SELECT session_user_id, MAX(session_time) as online_time, MIN(session_viewonline) AS viewonline
! 				FROM ' . SESSIONS_TABLE . '
! 				WHERE ' . $db->sql_in_set('session_user_id', array_keys($author_id_key)) . '
! 				GROUP BY session_user_id';
! 			$result = $db->sql_query($sql);
! 
! 			$update_time = $config['load_online_time'] * 60;
! 			while ($row = $db->sql_fetchrow($result))
! 			{
! 				$author_id_key[$row['session_user_id']]['online'] = (time() - $update_time < $row['online_time'] && (($row['viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
! 			}
! 			$db->sql_freeresult($result);
! 		}
! 		foreach($authors as $author)
  		{
! 			$template->assign_block_vars('authors', array(
! 				'USERNAME'			=>	$author['author_username'],
! 				'CONTRIBS'			=>	$author['author_contribs'],
! 				'MODS'				=>	$author['author_mods'],
! 				'STYLES'			=>	$author['author_styles'],
! 				'RATING'			=>	round($author['author_rating'], 2),
! 				'WEBSITE'			=>	$author['author_website'],
! 				'LAST_VISIT'		=>	$user->format_date($author['user_lastvisit'], false, true),
! 				'POSTS'				=>	$author['user_posts'],
! 				'ONLINE'			=>	$author['online'],
! 				'U_PHPBB_PROFILE'	=>	($author['phpbb_user_id'] > 0) ? 'http://www.phpbb.com/community/memberlist.php?mode=viewprofile&u=' . $author['phpbb_user_id'] : '',
! 			));
  		}
- 
- 		$pagination->sql_total_count($sql_ary, 'a.author_id');
- 
- 		$pagination->set_params(array(
- 			'sk'	=> $sort->get_sort_key(),
- 			'sd'	=> $sort->get_sort_dir(),
- 		));
- 
- 		$pagination->build_pagination($this->page);
- 
- 
- 		$template->assign_vars(array(
- 			'S_MODE_SELECT'		=> $sort->get_sort_key_list(),
- 			'S_ORDER_SELECT'	=> $sort->get_sort_dir_list(),
- 		));
  	}
  }
- 
--- 223,314 ----
  		return (!$return_url) ? sprintf('<br /><br /><a href="%1$s">%2$s</a>', $redirect, $user->lang[$l_redirect]) : $redirect;
  	}
  
+ 	public static function trigger_error($error_msg, $error_type = E_USER_NOTICE, $status_code = NULL)
+ 	{
+ 		if ($status_code)
+ 		{
+ 			titania::set_header_status($status_code);
+ 		}
+ 
+ 		trigger_error($error_msg, $error_type);
+ 	}
+ 
  	/**
  	 * Show the errorbox or successbox
  	 *
  	 * @param string $l_title message title - custom or user->lang defined
  	 * @param string $l_message message string
  	 * @param int $error_type ERROR_SUCCESS or ERROR_ERROR constant
+ 	 * @param int $status_code an HTTP status code
  	 */
! 	public static function error_box($l_title, $l_message, $error_type = ERROR_SUCCESS, $status_code = NULL)
  	{
  		global $template, $user;
  
+ 		if ($status_code)
+ 		{
+ 			titania::set_header_status($status_code);
+ 		}
+ 
  		$template->assign_block_vars('errorbox', array(
  			'TITLE'		=> (isset($user->lang[$l_title])) ? $user->lang[$l_title] : $l_title,
! 			'MESSAGE'	=> (isset($user->lang[$l_message])) ? $user->lang[$l_message] : $l_message,
  			'S_ERROR'	=> ($error_type == ERROR_ERROR) ? true : false,
  			'S_SUCCESS'	=> ($error_type == ERROR_SUCCESS) ? true : false,
  		));
  	}
  
  	/**
! 	 * Add a phpBB language file
  	 *
+ 	 * @param mixed $lang_set
+ 	 * @param bool $use_db
+ 	 * @param bool $use_help
  	 */
! 	public static function add_phpbb_lang($lang_set, $use_db = false, $use_help = false)
  	{
! 		global $user;
  
! 		$user->set_custom_lang_path(PHPBB_ROOT_PATH . 'language');
  
! 		$user->add_lang($lang_set, $use_db, $use_help);
  
! 		$user->set_custom_lang_path(TITANIA_ROOT . 'language');
! 	}
  
! 	public static function set_header_status($status_code = NULL)
! 	{
! 		// Send the appropriate HTTP status header
! 		$status = array(
! 			200 => 'OK',
! 			201 => 'Created',
! 			202 => 'Accepted',
! 			204 => 'No Content',
! 			205 => 'Reset Content',
! 			300 => 'Multiple Choices',
! 			301 => 'Moved Permanently',
! 			302 => 'Found', // Moved Temporarily
! 			303 => 'See Other',
! 			304 => 'Not Modified',
! 			307 => 'Temporary Redirect',
! 			400 => 'Bad Request',
! 			401 => 'Unauthorized',
! 			403 => 'Forbidden',
! 			404 => 'Not Found',
! 			406 => 'Not Acceptable',
! 			409 => 'Conflict',
! 			410 => 'Gone',
! 			500 => 'Internal Server Error',
! 			501 => 'Not Implemented',
! 			502 => 'Bad Gateway',
! 			503 => 'Service Unavailable',
  		);
  
! 		if ($status_code && $status[$status_code])
  		{
! 			$header = $status_code . ' ' . $status[$status_code];
! 			header('HTTP/1.1 ' . $header, false, $status_code);
! 			header('Status: ' . $header, false, $status_code);
  		}
  	}
  }

Modified: branches/highwayoflife/titania/includes/constants.php
==============================================================================
*** branches/highwayoflife/titania/includes/constants.php (original)
--- branches/highwayoflife/titania/includes/constants.php Mon Nov 10 10:30:38 2008
***************
*** 46,51 ****
--- 46,75 ----
  define('ERROR_ERROR', 1);
  define('ERROR_SUCCESS', 2);
  
+ // Header status codes
+ define('HEADER_OK',					200);
+ define('HEADER_CREATED',			201);
+ define('HEADER_ACCEPTED',			202);
+ define('HEADER_NO_CONTENT', 		204);
+ define('HEADER_RESET_CONTENT',		205);
+ define('HEADER_MULTIPLE_CHOICES',	300);
+ define('HEADER_MOVED_PERMANENTLY',	301);
+ define('HEADER_FOUND',				302); // Moved Temporarily
+ define('HEADER_SEE_OTHER',			303);
+ define('HEADER_NOT_MODIFIED',		304);
+ define('HEADER_TEMPORARY_REDIRECT',	307);
+ define('HEADER_BAD_REQUEST',		400);
+ define('HEADER_UNAUTHORIZED',		401);
+ define('HEADER_FORBIDDEN',			403);
+ define('HEADER_NOT_FOUND',			404);
+ define('HEADER_NOT_ACCEPTABLE',		406);
+ define('HEADER_CONFLICT',			409);
+ define('HEADER_GONE',				410);
+ define('HEADER_INTERNAL_SERVER_ERROR',	500);
+ define('HEADER_NOT_IMPLEMENTED',	501);
+ define('HEADER_BAD_GATEWAY',		502);
+ define('HEADER_SERVICE_UNAVAILABLE',503);
+ 
  // Customisation (contrib) type
  define('CONTRIB_TYPE_MOD', 1);
  define('CONTRIB_TYPE_STYLE', 2);
***************
*** 57,60 ****
  define('AUTHOR_VISIBLE', 1);
  // Define further contrib types based on the tags, and tag_types tables.
  
! define('DEFAULT_OFFSET_LIMIT', 25);
\ No newline at end of file
--- 81,87 ----
  define('AUTHOR_VISIBLE', 1);
  // Define further contrib types based on the tags, and tag_types tables.
  
! define('DEFAULT_OFFSET_LIMIT', 25);
! define('MAX_OFFSET_LIMIT', 100);
! 
! define('U_PHPBBCOM_VIEWPROFILE', 'http://www.phpbb.com/community/memberlist.php?mode=viewprofile');

Modified: branches/highwayoflife/titania/includes/mods/mods_main.php
==============================================================================
*** branches/highwayoflife/titania/includes/mods/mods_main.php (original)
--- branches/highwayoflife/titania/includes/mods/mods_main.php Mon Nov 10 10:30:38 2008
***************
*** 29,39 ****
  	/**
  	 * Constructor
  	 */
! 	public function __construct(&$p_master)
  	{
  		global $user;
  
! 		$this->p_master = &$p_master;
  
  		$this->page = $user->page['script_path'] . $user->page['page_name'];
  	}
--- 29,39 ----
  	/**
  	 * Constructor
  	 */
! 	public function __construct($p_master)
  	{
  		global $user;
  
! 		$this->p_master = $p_master;
  
  		$this->page = $user->page['script_path'] . $user->page['page_name'];
  	}
***************
*** 50,56 ****
  
  		$user->add_lang(array('titania_contrib', 'titania_mods'));
  
- 		$mod_id		= request_var('mod_id', 0);
  		$category	= request_var('category', 0);
  		$submit		= isset($_POST['submit']) ? true : false;
  
--- 50,55 ----
***************
*** 68,74 ****
  				if (!$found)
  				{
  					titania::error_box('ERROR', $user->lang['MOD_NOT_FOUND'], ERROR_ERROR);
! 					
  					$mode = ($category) ? 'list' : 'categories';
  					$this->main($id, $mode);
  					return;
--- 67,73 ----
  				if (!$found)
  				{
  					titania::error_box('ERROR', $user->lang['MOD_NOT_FOUND'], ERROR_ERROR);
! 
  					$mode = ($category) ? 'list' : 'categories';
  					$this->main($id, $mode);
  					return;
***************
*** 149,160 ****
  		$start = $pagination->set_start();
  		$limit = $pagination->set_limit();
  
! 		$params = array(
! 			'mode=details',
! 			'category=' . $category,
! 		);
! 
! 		$results = false;
  
  		$sql_ary = array(
  			'SELECT'	=> 'c.*, a.author_id, a.author_username, u.user_colour',
--- 148,154 ----
  		$start = $pagination->set_start();
  		$limit = $pagination->set_limit();
  
! 		$results = 0;
  
  		$sql_ary = array(
  			'SELECT'	=> 'c.*, a.author_id, a.author_username, u.user_colour',
***************
*** 182,197 ****
  
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$results = true;
  
  			$profile_url = append_sid(TITANIA_ROOT . 'authors/index.' . PHP_EXT, 'mode=profile');
  
  			$template->assign_block_vars('contrib', array(
  				'ID'			=> $row['contrib_id'],
! 				'U_CONTRIB'		=> append_sid($this->page, implode('&amp;', $params) . '&amp;mod_id=' . $row['contrib_id']),
  				'TITLE'			=> $row['contrib_name'],
  				'DESC'			=> $row['contrib_description'],
! 				'RATING'		=> sprintf('%.2f', $row['contrib_rating']),
  				'DOWNLOADS'		=> $row['contrib_downloads'],
  				'ADDED'			=> $user->format_date($row['contrib_release_date']),
  				'UPDATED'		=> $user->format_date($row['contrib_update_date']),
--- 176,191 ----
  
  		while ($row = $db->sql_fetchrow($result))
  		{
! 			$results++;
  
  			$profile_url = append_sid(TITANIA_ROOT . 'authors/index.' . PHP_EXT, 'mode=profile');
  
  			$template->assign_block_vars('contrib', array(
  				'ID'			=> $row['contrib_id'],
! 				'U_CONTRIB'		=> append_sid($this->page, 'mode=details&amp;mod=' . $row['contrib_id']),
  				'TITLE'			=> $row['contrib_name'],
  				'DESC'			=> $row['contrib_description'],
! 				'RATING'		=> round($row['contrib_rating'], 2),
  				'DOWNLOADS'		=> $row['contrib_downloads'],
  				'ADDED'			=> $user->format_date($row['contrib_release_date']),
  				'UPDATED'		=> $user->format_date($row['contrib_update_date']),
***************
*** 206,216 ****
  			return false;
  		}
  
! 		$pagination->sql_total_count($sql_ary, 'c.contrib_id');
  
  		$pagination->set_params(array(
! 			'sk'	=> $sort->get_sort_key(),
! 			'sd'	=> $sort->get_sort_dir(),
  		));
  
  		$pagination->build_pagination($this->u_action);
--- 200,211 ----
  			return false;
  		}
  
! 		$pagination->sql_total_count($sql_ary, 'c.contrib_id', $results);
  
  		$pagination->set_params(array(
! 			'sk'		=> $sort->get_sort_key(false),
! 			'sd'		=> $sort->get_sort_dir(false),
! 			'category'	=> $category,
  		));
  
  		$pagination->build_pagination($this->u_action);

Modified: branches/highwayoflife/titania/includes/titania/titania_main.php
==============================================================================
*** branches/highwayoflife/titania/includes/titania/titania_main.php (original)
--- branches/highwayoflife/titania/includes/titania/titania_main.php Mon Nov 10 10:30:38 2008
***************
*** 29,39 ****
  	/**
  	 * Constructor
  	 */
! 	public function __construct(&$p_master)
  	{
  		global $user;
  
! 		$this->p_master = &$p_master;
  
  		$this->page = $user->page['script_path'] . $user->page['page_name'];
  	}
--- 29,39 ----
  	/**
  	 * Constructor
  	 */
! 	public function __construct($p_master)
  	{
  		global $user;
  
! 		$this->p_master = $p_master;
  
  		$this->page = $user->page['script_path'] . $user->page['page_name'];
  	}
***************
*** 49,55 ****
  		global $user, $template, $cache;
  
  		$user->add_lang('titania_contrib');
! 		
  		$this->tpl_name = 'titania/index_body';
  		$this->page_title = 'TITANIA_HOME';
  	}
--- 49,55 ----
  		global $user, $template, $cache;
  
  		$user->add_lang('titania_contrib');
! 
  		$this->tpl_name = 'titania/index_body';
  		$this->page_title = 'TITANIA_HOME';
  	}

Modified: branches/highwayoflife/titania/index.php
==============================================================================
*** branches/highwayoflife/titania/index.php (original)
--- branches/highwayoflife/titania/index.php Mon Nov 10 10:30:38 2008
***************
*** 15,26 ****
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
! include(PHPBB_ROOT_PATH . 'includes/functions_module.' . PHP_EXT);
  
  $id		= request_var('id', 'main');
  $mode	= request_var('mode', '');
  
! $module = new p_master();
  
  // Instantiate module system and generate list of available modules
  $module->list_modules('titania');
--- 15,26 ----
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
! include(TITANIA_ROOT . 'includes/titania_modules.' . PHP_EXT);
  
  $id		= request_var('id', 'main');
  $mode	= request_var('mode', '');
  
! $module = new titania_modules();
  
  // Instantiate module system and generate list of available modules
  $module->list_modules('titania');
***************
*** 30,38 ****
  
  // Load and execute the relevant module
  // trick the module class to allow modules to be loaded from the titania includes path.
! $phpbb_root_path = TITANIA_ROOT;
  $module->load_active();
- $phpbb_root_path = PHPBB_ROOT_PATH;
  
  // Assign data to the template engine for the list of modules
  $module->assign_tpl_vars(append_sid(TITANIA_ROOT . 'index.' . PHP_EXT));
--- 30,37 ----
  
  // Load and execute the relevant module
  // trick the module class to allow modules to be loaded from the titania includes path.
! $module->set_custom_include_path(TITANIA_ROOT . 'includes/');
  $module->load_active();
  
  // Assign data to the template engine for the list of modules
  $module->assign_tpl_vars(append_sid(TITANIA_ROOT . 'index.' . PHP_EXT));

Modified: branches/highwayoflife/titania/install/install.sql
==============================================================================
*** branches/highwayoflife/titania/install/install.sql (original)
--- branches/highwayoflife/titania/install/install.sql Mon Nov 10 10:30:38 2008
***************
*** 18,24 ****
    author_snippets mediumint(8) unsigned NOT NULL default '0',
    author_mods mediumint(8) unsigned NOT NULL default '0',
    author_styles mediumint(8) unsigned NOT NULL default '0',
!   author_visible tinyint(1) unsigned NOT NULL default '0',
    PRIMARY KEY  (author_id),
    KEY user_id (user_id),
    KEY author_email_hash (author_email_hash),
--- 18,24 ----
    author_snippets mediumint(8) unsigned NOT NULL default '0',
    author_mods mediumint(8) unsigned NOT NULL default '0',
    author_styles mediumint(8) unsigned NOT NULL default '0',
!   author_visible tinyint(1) unsigned NOT NULL default '1',
    PRIMARY KEY  (author_id),
    KEY user_id (user_id),
    KEY author_email_hash (author_email_hash),
***************
*** 26,37 ****
--- 26,55 ----
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
+ CREATE TABLE customisation_contrib_faq (
+   faq_id mediumint(8) unsigned NOT NULL auto_increment,
+   contrib_id mediumint(8) unsigned NOT NULL default '0',
+   parent_id mediumint(8) unsigned NOT NULL default '0',
+   contrib_version varchar(15) collate utf8_bin NOT NULL,
+   faq_order_id mediumint(8) unsigned NOT NULL default '0',
+   faq_subject varchar(255) collate utf8_bin NOT NULL default '',
+   faq_text mediumtext collate utf8_bin NOT NULL,
+   faq_text_bitfield varchar(255) collate utf8_bin NOT NULL,
+   faq_text_uid varchar(8) collate utf8_bin NOT NULL,
+   faq_text_options int(11) unsigned NOT NULL default '7',
+   PRIMARY KEY  (faq_id),
+   KEY contrib_id (contrib_id),
+   KEY parent_id (parent_id)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+ 
+ 
  CREATE TABLE customisation_contrib_tags (
    contrib_id mediumint(8) unsigned NOT NULL default '0',
    tag_id mediumint(8) unsigned NOT NULL default '0',
    tag_value varchar(255) collate utf8_bin NOT NULL,
    PRIMARY KEY  (contrib_id,tag_id),
    KEY tag_id (tag_id),
+   KEY contrib_id (contrib_id),
    CONSTRAINT fk_tags_contrib_id FOREIGN KEY (contrib_id) REFERENCES customisation_contribs (contrib_id),
    CONSTRAINT fk_tags_tag_id FOREIGN KEY (tag_id) REFERENCES customisation_tag_fields (tag_id)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
***************
*** 165,178 ****
  CREATE TABLE customisation_tag_fields (
    tag_id mediumint(8) unsigned NOT NULL auto_increment,
    tag_type_id mediumint(8) unsigned NOT NULL default '0',
!   tag_field_name varchar(255) collate utf8_bin NOT NULL,
    tag_field_desc varchar(255) collate utf8_bin NOT NULL,
!   contrib_id mediumint(8) unsigned NOT NULL default '0',
    PRIMARY KEY  (tag_id),
    KEY tag_type_id (tag_type_id),
    KEY tag_id (tag_id),
-   KEY contrib_id (contrib_id),
-   CONSTRAINT fk_tag_contrib_id FOREIGN KEY (contrib_id) REFERENCES customisation_contribs (contrib_id),
    CONSTRAINT fk_tag_type_id FOREIGN KEY (tag_type_id) REFERENCES customisation_tag_types (tag_type_id)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
--- 183,194 ----
  CREATE TABLE customisation_tag_fields (
    tag_id mediumint(8) unsigned NOT NULL auto_increment,
    tag_type_id mediumint(8) unsigned NOT NULL default '0',
!   tag_field_name varchar(100) collate utf8_bin NOT NULL,
    tag_field_desc varchar(255) collate utf8_bin NOT NULL,
!   tag_clean_name varchar(100) collate utf8_bin NOT NULL,
    PRIMARY KEY  (tag_id),
    KEY tag_type_id (tag_type_id),
    KEY tag_id (tag_id),
    CONSTRAINT fk_tag_type_id FOREIGN KEY (tag_type_id) REFERENCES customisation_tag_types (tag_type_id)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
***************
*** 189,212 ****
    user_id mediumint(8) unsigned NOT NULL default '0',
    mark_time int(11) unsigned NOT NULL default '0',
    PRIMARY KEY  (contrib_id,user_id),
    CONSTRAINT fk_watch_contrib_id FOREIGN KEY (contrib_id) REFERENCES customisation_contribs (contrib_id)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
- CREATE TABLE customisation_contrib_faq (
-   faq_id mediumint(8) unsigned NOT NULL auto_increment,
-   contrib_id mediumint(8) unsigned NOT NULL default '0',
-   parent_id mediumint(8) unsigned NOT NULL default '0',
-   contrib_version varchar(15) collate utf8_bin NOT NULL,
-   faq_order_id mediumint(8) unsigned NOT NULL default '0',
-   faq_subject varchar(255) NOT NULL default '',
-   faq_text mediumtext NOT NULL,
-   faq_text_bitfield varchar(255) collate utf8_bin NOT NULL,
-   faq_text_uid varchar(8) collate utf8_bin NOT NULL,
-   faq_text_options int(11) unsigned NOT NULL default '7',
-   PRIMARY KEY  (faq_id),
-   KEY contrib_id (contrib_id),
-   KEY parent_id (parent_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
- 
  SET FOREIGN_KEY_CHECKS = 1;
--- 205,213 ----
    user_id mediumint(8) unsigned NOT NULL default '0',
    mark_time int(11) unsigned NOT NULL default '0',
    PRIMARY KEY  (contrib_id,user_id),
+   KEY contrib_id (contrib_id),
    CONSTRAINT fk_watch_contrib_id FOREIGN KEY (contrib_id) REFERENCES customisation_contribs (contrib_id)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
  SET FOREIGN_KEY_CHECKS = 1;

Modified: branches/highwayoflife/titania/install/module_dump.sql
==============================================================================
*** branches/highwayoflife/titania/install/module_dump.sql (original)
--- branches/highwayoflife/titania/install/module_dump.sql Mon Nov 10 10:30:38 2008
***************
*** 19,25 ****
    KEY `left_right_id` (`left_id`,`right_id`),
    KEY `module_enabled` (`module_enabled`),
    KEY `class_left_id` (`module_class`,`left_id`)
! ) ENGINE=MyISAM AUTO_INCREMENT=207 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  insert into `phpbb_modules` values('1','1','1','','acp','0','1','60','ACP_CAT_GENERAL','',''),
   ('2','1','1','','acp','1','4','17','ACP_QUICK_ACCESS','',''),
--- 19,25 ----
    KEY `left_right_id` (`left_id`,`right_id`),
    KEY `module_enabled` (`module_enabled`),
    KEY `class_left_id` (`module_class`,`left_id`)
! ) ENGINE=MyISAM AUTO_INCREMENT=224 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  insert into `phpbb_modules` values('1','1','1','','acp','0','1','60','ACP_CAT_GENERAL','',''),
   ('2','1','1','','acp','1','4','17','ACP_QUICK_ACCESS','',''),
***************
*** 210,231 ****
   ('187','1','1','profile','ucp','164','20','21','UCP_PROFILE_REG_DETAILS','reg_details',''),
   ('188','1','1','zebra','ucp','168','50','51','UCP_ZEBRA_FRIENDS','friends',''),
   ('189','1','1','zebra','ucp','168','52','53','UCP_ZEBRA_FOES','foes',''),
!  ('190','1','1','','mods','0','1','30','MODS_MAIN','',''),
!  ('191','1','1','main','mods','190','2','3','MODS_CATEGORIES','categories',''),
!  ('192','1','1','main','mods','190','4','5','MODS_LIST','list',''),
!  ('193','1','1','main','mods','190','6','7','MODS_DETAILS','details',''),
!  ('194','1','1','main','mods','190','8','9','MODS_FAQ','faq',''),
!  ('195','1','1','main','mods','190','10','11','MODS_REVIEWS','reviews',''),
!  ('196','1','1','main','mods','190','12','13','MODS_PREVIEW','preview',''),
!  ('197','1','1','main','mods','190','14','15','MODS_INVITE','invite',''),
!  ('198','1','1','main','mods','190','16','17','MODS_TRANSLATIONS','translations',''),
!  ('199','1','1','main','mods','190','18','19','MODS_STYLES','styles',''),
!  ('200','1','1','main','mods','190','20','21','MODS_MANAGE','manage',''),
!  ('201','1','1','main','mods','190','22','23','MODS_HISTORY','history',''),
!  ('202','1','1','main','mods','190','24','25','MODS_CHANGES','changes',''),
!  ('203','1','1','main','mods','190','26','27','MODS_SUPPORT','support',''),
!  ('204','1','1','main','mods','190','28','29','MODS_SCREENSHOTS','screenshots',''),
!  ('205','1','1','','titania','0','1','4','TITANIA_MAIN','',''),
!  ('206','1','1','main','titania','205','2','3','TITANIA_HOME','','');
  
  SET FOREIGN_KEY_CHECKS = 1;
--- 210,247 ----
   ('187','1','1','profile','ucp','164','20','21','UCP_PROFILE_REG_DETAILS','reg_details',''),
   ('188','1','1','zebra','ucp','168','50','51','UCP_ZEBRA_FRIENDS','friends',''),
   ('189','1','1','zebra','ucp','168','52','53','UCP_ZEBRA_FOES','foes',''),
!  ('190','1','1','','mods','0','1','6','MODS_CAT_MAIN','',''),
!  ('191','1','1','','mods','0','7','26','MODS_CAT_DETAILS','',''),
!  ('192','1','1','','mods','0','27','34','MODS_CAT_FAQ','',''),
!  ('193','1','1','','mods','0','35','42','MODS_CAT_REVIEWS','',''),
!  ('194','1','1','','mods','0','43','52','MODS_CAT_SUPPORT','',''),
!  ('195','1','1','main','mods','190','2','3','MODS_CATEGORIES','categories',''),
!  ('196','1','1','main','mods','190','4','5','MODS_LIST','list',''),
!  ('197','1','1','details','mods','191','8','9','MODS_DETAILS','details',''),
!  ('198','1','1','details','mods','191','10','11','MODS_SCREENSHOTS','screenshots',''),
!  ('199','1','1','details','mods','191','12','13','MODS_PREVIEW','preview',''),
!  ('200','1','1','details','mods','191','14','15','MODS_CHANGES','changes',''),
!  ('201','1','1','details','mods','191','16','17','MODS_EMAIL_FRIEND','email',''),
!  ('202','1','1','faq','mods','191','18','19','MODS_VIEW_FAQ','faq',''),
!  ('203','1','1','details','mods','191','20','21','MODS_STYLES','styles',''),
!  ('204','1','1','details','mods','191','22','23','MODS_TRANSLATIONS','translations',''),
!  ('205','1','1','reviews','mods','191','24','25','MODS_VIEW_REVIEWS','reviews',''),
!  ('206','1','1','faq','mods','192','28','29','MODS_FAQ','faq',''),
!  ('207','1','1','faq','mods','192','30','31','MODS_MANAGE_FAQ','manage',''),
!  ('208','1','1','faq','mods','192','32','33','MODS_VIEW_FAQ','view',''),
!  ('209','1','1','reviews','mods','193','36','37','MODS_REVIEWS','reviews',''),
!  ('210','1','1','reviews','mods','193','38','39','MODS_MANAGE_REVIEWS','manage',''),
!  ('211','1','1','reviews','mods','193','40','41','MODS_VIEW_REVIEWS','view',''),
!  ('212','1','1','support','mods','194','44','45','MODS_SUPPORT','support',''),
!  ('213','1','1','support','mods','194','46','47','MODS_VIEW_SUPPORT','view',''),
!  ('214','1','1','support','mods','194','48','49','MODS_POST_SUPPORT','post',''),
!  ('215','1','1','support','mods','194','50','51','MODS_EDIT_SUPPORT','edit',''),
!  ('216','1','1','','titania','0','1','4','TITANIA_MAIN','',''),
!  ('217','1','1','main','titania','216','2','3','TITANIA_HOME','home',''),
!  ('218','1','1','','authors','0','1','10','AUTHORS_MAIN','',''),
!  ('219','1','1','main','authors','218','2','3','AUTHORS_LIST','list',''),
!  ('220','1','1','main','authors','218','4','5','AUTHOR_PROFILE','profile',''),
!  ('221','1','1','main','authors','218','6','7','AUTHOR_SEARCH','search',''),
!  ('222','1','1','main','authors','218','8','9','AUTHOR_SEARCH_RESULTS','results','');
  
  SET FOREIGN_KEY_CHECKS = 1;

Modified: branches/highwayoflife/titania/install/shema_dump.sql
==============================================================================
*** branches/highwayoflife/titania/install/shema_dump.sql (original)
--- branches/highwayoflife/titania/install/shema_dump.sql Mon Nov 10 10:30:38 2008
***************
*** 1,8 ****
  SET NAMES utf8;
  SET FOREIGN_KEY_CHECKS = 0;
  
- drop table if exists `customisation_authors`;
- 
  CREATE TABLE `customisation_authors` (
    `author_id` mediumint(8) unsigned NOT NULL auto_increment,
    `user_id` mediumint(8) unsigned NOT NULL default '0',
--- 1,6 ----
***************
*** 19,32 ****
    `author_snippets` mediumint(8) unsigned NOT NULL default '0',
    `author_mods` mediumint(8) unsigned NOT NULL default '0',
    `author_styles` mediumint(8) unsigned NOT NULL default '0',
    PRIMARY KEY  (`author_id`),
    KEY `user_id` (`user_id`),
!   KEY `author_email_hash` (`author_email_hash`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
! insert into `customisation_authors` values('2','2','165089','Highway of Life','highway of life','David Lewis','http://startrekguide.com','highwayoflife@gmail.com','175420516723','0.000000000','0','1','0','1','0');
  
- drop table if exists `customisation_contrib_tags`;
  
  CREATE TABLE `customisation_contrib_tags` (
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
--- 17,49 ----
    `author_snippets` mediumint(8) unsigned NOT NULL default '0',
    `author_mods` mediumint(8) unsigned NOT NULL default '0',
    `author_styles` mediumint(8) unsigned NOT NULL default '0',
+   `author_visible` tinyint(1) unsigned NOT NULL default '1',
    PRIMARY KEY  (`author_id`),
    KEY `user_id` (`user_id`),
!   KEY `author_email_hash` (`author_email_hash`),
!   KEY `author_visible` (`author_visible`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
! insert into `customisation_authors` values('2','2','165089','Highway of Life','highway of life','David Lewis','http://startrekguide.com','highwayoflife@gmail.com','175420516723','0.000000000','0','1','0','1','0','1');
! 
! CREATE TABLE `customisation_contrib_faq` (
!   `faq_id` mediumint(8) unsigned NOT NULL auto_increment,
!   `contrib_id` mediumint(8) unsigned NOT NULL default '0',
!   `parent_id` mediumint(8) unsigned NOT NULL default '0',
!   `contrib_version` varchar(15) collate utf8_bin NOT NULL,
!   `faq_order_id` mediumint(8) unsigned NOT NULL default '0',
!   `faq_subject` varchar(255) collate utf8_bin NOT NULL default '',
!   `faq_text` mediumtext collate utf8_bin NOT NULL,
!   `faq_text_bitfield` varchar(255) collate utf8_bin NOT NULL,
!   `faq_text_uid` varchar(8) collate utf8_bin NOT NULL,
!   `faq_text_options` int(11) unsigned NOT NULL default '7',
!   PRIMARY KEY  (`faq_id`),
!   KEY `contrib_id` (`contrib_id`),
!   KEY `parent_id` (`parent_id`)
! ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
! 
! insert into `customisation_contrib_faq` values('1','1','','1.0.1','','This is a faq test!',' 0x61206661712074657874206c6f6f6b206174206d652e','','','7');
  
  
  CREATE TABLE `customisation_contrib_tags` (
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
***************
*** 41,48 ****
  
  insert into `customisation_contrib_tags` values('1','2','');
  
- drop table if exists `customisation_contribs`;
- 
  CREATE TABLE `customisation_contribs` (
    `contrib_id` mediumint(8) unsigned NOT NULL auto_increment,
    `contrib_type` tinyint(1) unsigned NOT NULL default '1',
--- 58,63 ----
***************
*** 79,86 ****
  
  insert into `customisation_contribs` values('1','1','ACP Add User MOD',0x416464732061206e6577204d6f64756c65207468617420656e61626c657320616e2041646d696e6973747261746f7220746f206372656174652061206e65772075736572206163636f756e74207468726f756768207468652041646d696e697374726174696f6e20436f6e74726f6c2050616e656c2028414350292e0a4164647320616e206578747261207065726d697373696f6e20746f20616c6c6f772061646d696e6973747261746f7220746f206372656174652061206e65772075736572206163636f756e742e0a4769766573207468652061646d696e6973747261746f7220746865206162696c69747920746f20696e7374616e746c7920617070726f76652061206e6577206d656d626572206166746572206372656174696f6e2e,'','7','','1','1.0.1','1','1','2','0','5','20','3','1220301000','0','1','0.000000000','0','');
  
- drop table if exists `customisation_downloads`;
- 
  CREATE TABLE `customisation_downloads` (
    `download_id` mediumint(8) unsigned NOT NULL auto_increment,
    `revision_id` mediumint(8) unsigned NOT NULL default '0',
--- 94,99 ----
***************
*** 103,110 ****
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
- drop table if exists `customisation_queue`;
- 
  CREATE TABLE `customisation_queue` (
    `queue_id` mediumint(8) unsigned NOT NULL auto_increment,
    `revision_id` mediumint(8) unsigned NOT NULL default '0',
--- 116,121 ----
***************
*** 133,140 ****
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
- drop table if exists `customisation_queue_history`;
- 
  CREATE TABLE `customisation_queue_history` (
    `history_id` mediumint(8) unsigned NOT NULL auto_increment,
    `queue_id` mediumint(8) unsigned NOT NULL default '0',
--- 144,149 ----
***************
*** 145,152 ****
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
- drop table if exists `customisation_reviews`;
- 
  CREATE TABLE `customisation_reviews` (
    `review_id` mediumint(8) unsigned NOT NULL auto_increment,
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
--- 154,159 ----
***************
*** 166,173 ****
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
  
- drop table if exists `customisation_revisions`;
- 
  CREATE TABLE `customisation_revisions` (
    `revision_id` mediumint(8) unsigned NOT NULL auto_increment,
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
--- 173,178 ----
***************
*** 180,187 ****
  
  insert into `customisation_revisions` values('1','1','1','1.0.0','1220301000');
  
- drop table if exists `customisation_tag_fields`;
- 
  CREATE TABLE `customisation_tag_fields` (
    `tag_id` mediumint(8) unsigned NOT NULL auto_increment,
    `tag_type_id` mediumint(8) unsigned NOT NULL default '0',
--- 185,190 ----
***************
*** 203,222 ****
   ('7','1','Entertainment','Entertainment and Games MODs','entertainment'),
   ('8','1','Syndication','RSS Feed and Syndication MODs','syndication');
  
- drop table if exists `customisation_tag_types`;
- 
  CREATE TABLE `customisation_tag_types` (
    `tag_type_id` mediumint(8) unsigned NOT NULL auto_increment,
    `tag_type_name` varchar(255) collate utf8_bin NOT NULL,
    PRIMARY KEY  (`tag_type_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
! insert into `customisation_tag_types` values('1','CATEGORY'),
   ('2','COMPONENT'),
   ('3','COMPLEXITY');
  
- drop table if exists `customisation_watch`;
- 
  CREATE TABLE `customisation_watch` (
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
    `user_id` mediumint(8) unsigned NOT NULL default '0',
--- 206,221 ----
   ('7','1','Entertainment','Entertainment and Games MODs','entertainment'),
   ('8','1','Syndication','RSS Feed and Syndication MODs','syndication');
  
  CREATE TABLE `customisation_tag_types` (
    `tag_type_id` mediumint(8) unsigned NOT NULL auto_increment,
    `tag_type_name` varchar(255) collate utf8_bin NOT NULL,
    PRIMARY KEY  (`tag_type_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
! insert into `customisation_tag_types` values('1','MOD_CATEGORY'),
   ('2','COMPONENT'),
   ('3','COMPLEXITY');
  
  CREATE TABLE `customisation_watch` (
    `contrib_id` mediumint(8) unsigned NOT NULL default '0',
    `user_id` mediumint(8) unsigned NOT NULL default '0',

Modified: branches/highwayoflife/titania/language/en/titania_authors.php
==============================================================================
*** branches/highwayoflife/titania/language/en/titania_authors.php (original)
--- branches/highwayoflife/titania/language/en/titania_authors.php Mon Nov 10 10:30:38 2008
***************
*** 38,42 ****
--- 38,55 ----
  $lang = array_merge($lang, array(
  	'AUTHOR_LIST'		=> 'Author List',
  	'AUTHOR_PROFILE'	=> 'Author Profile',
+ 	'AUTHOR_NOT_FOUND'	=> 'Author not found',
+ 	'NUM_CONTRIB'		=> '%s Contribution',
+ 	'NUM_CONTRIBS'		=> '%s Contributions',
+ 	'NUM_MOD'			=> '%s MOD',
+ 	'NUM_MODS'			=> '%s MODs',
+ 	'NUM_STYLE'			=> '%s Style',
+ 	'NUM_STYLES'		=> '%s Styles',
+ 	'NUM_SNIPPET'		=> '%s Snippet',
+ 	'NUM_SNIPPETS'		=> '%s Snippets',
+ 	'AUTHOR_MODS'       => 'MODs',
+ 	'AUTHOR_STYLES'     => 'Styles',
+ 	'AUTHOR_CONTRIBS'   => 'Contribs',
+ 	'PHPBB_PROFILE'     => 'phpBB.com profile',
  ));
  

Modified: branches/highwayoflife/titania/language/en/titania_common.php
==============================================================================
*** branches/highwayoflife/titania/language/en/titania_common.php (original)
--- branches/highwayoflife/titania/language/en/titania_common.php Mon Nov 10 10:30:38 2008
***************
*** 75,82 ****
  	'SORT_MODS'				=> 'Sort by number of MODs',
  	'SORT_STYLES'			=> 'Sort by number of Styles',
  
! 	'RETURNED_RESULT'		=> '%d result found',
! 	'RETURNED_RESULTS'		=> '%d results found',
  	
  	'TITANIA_HOME'			=> 'Titania Home',
  	
--- 75,82 ----
  	'SORT_MODS'				=> 'Sort by number of MODs',
  	'SORT_STYLES'			=> 'Sort by number of Styles',
  
! 	'RETURNED_RESULT'		=> 'Displaying 1 result',
! 	'RETURNED_RESULTS'		=> 'Displaying %1$d of %2$d results',
  	
  	'TITANIA_HOME'			=> 'Titania Home',
  	
***************
*** 88,94 ****
  	'MODO_DOWNLOAD'			=> 'Download Information',
  
  	'DETAILS_TITLE'			=> 'MOD Details',
! 	'DETAILS_MOD_TITLE'		=> 'MOD title',
  	'DETAILS_MOD_CATEGORY'	=> 'Category',
  	'DETAILS_MOD_AUTHOR'	=> 'Mod Author',
  	'DETAILS_MOD_VERSION'	=> 'Version',
--- 88,94 ----
  	'MODO_DOWNLOAD'			=> 'Download Information',
  
  	'DETAILS_TITLE'			=> 'MOD Details',
! 	'DETAILS_MOD_TITLE'		=> 'MOD Title',
  	'DETAILS_MOD_CATEGORY'	=> 'Category',
  	'DETAILS_MOD_AUTHOR'	=> 'Mod Author',
  	'DETAILS_MOD_VERSION'	=> 'Version',
***************
*** 126,133 ****
  	'COMPLEX_ADDITIONAL'	=> 'Additional Module',
  	
  	'STYLES_TITLE'			=> 'Styles Supported',
! 	'STYLES_PROSILVER'		=> 'proSilver',
! 	'STYLES_SUBSILVER'		=> 'subSilver2',
  	'STYLES_OTHER'			=> 'Other Styles',
  	
  	'LANGUAGE_TITLE'		=> 'Languages Supported',
--- 126,133 ----
  	'COMPLEX_ADDITIONAL'	=> 'Additional Module',
  	
  	'STYLES_TITLE'			=> 'Styles Supported',
! 	'STYLES_PROSILVER'		=> 'prosilver',
! 	'STYLES_SUBSILVER'		=> 'subsilver2',
  	'STYLES_OTHER'			=> 'Other Styles',
  	
  	'LANGUAGE_TITLE'		=> 'Languages Supported',
***************
*** 140,150 ****
  	'OTHER_MODS'			=> 'Other MODs by this Author',
  	
  	'DOWNLOAD_TITLE'		=> 'MOD Download',
! 	'DOWNLOAD_CHECK'		=> 'Download checksum',
  	'DOWNLOAD_MOD_TITLE'	=> 'Download Title',
! 	'DOWNLOAD_FILESIZE'		=> 'Download filesize',
  	'DOWNLOAD_URL'			=> 'Download URL',
! 	'DOWNLOAD_COUNT'		=> 'Download count',
  
  	'DEMO_TITLE'			=> 'MOD Demo and Screenshots',
  	'DEMO_URL'				=> 'Demo URL',
--- 140,150 ----
  	'OTHER_MODS'			=> 'Other MODs by this Author',
  	
  	'DOWNLOAD_TITLE'		=> 'MOD Download',
! 	'DOWNLOAD_CHECK'		=> 'Download Checksum',
  	'DOWNLOAD_MOD_TITLE'	=> 'Download Title',
! 	'DOWNLOAD_FILESIZE'		=> 'Download Filesize',
  	'DOWNLOAD_URL'			=> 'Download URL',
! 	'DOWNLOAD_COUNT'		=> 'Download Count',
  
  	'DEMO_TITLE'			=> 'MOD Demo and Screenshots',
  	'DEMO_URL'				=> 'Demo URL',

Modified: branches/highwayoflife/titania/language/en/titania_contrib.php
==============================================================================
*** branches/highwayoflife/titania/language/en/titania_contrib.php (original)
--- branches/highwayoflife/titania/language/en/titania_contrib.php Mon Nov 10 10:30:38 2008
***************
*** 36,41 ****
  // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
  
  $lang = array_merge($lang, array(
! 	'CONTRIB_NOT_FOUND'	=> 'The contribution you requested could not be found.',
  ));
  
--- 36,67 ----
  // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
  
  $lang = array_merge($lang, array(
! 	'CONTRIB_NOT_FOUND'		=> 'The contribution you requested could not be found.',
! 	'NO_CONTRIB_SELECTED'	=> 'No contrib has been selected.',
! 	
! 	'FAQ_DETAILS_NOT_FOUND' => 'Details for this subject could not be found.',
! 	'FAQ_NOT_FOUND'			=> 'No FAQ have not added for this contrib.',
! 	'MODS_FAQ_LIST'			=> 'FAQ list',
! 	'MODS_FAQ_DETAILS'		=> 'FAQ details',
! 	
! 	'FOR_VERSION'			=> 'For version',
! 	
! 	'OTHER_FAQ'				=> 'Look at other FAQ for this contrib',
! 	'SIMILAR_FAQ'			=> 'Similar FAQ',
! 	'NO_SIMILAR_FAQ'		=> 'No similar FAQ.',
! 	
! 	'SORT_CONTRIB_VERSION'	=> 'Sort by Contrib version',
! 	'SORT_SUBJECT'			=> 'Sort by Subject',
! 	
! 	'AUTHOR_BY'				=> 'By %s',
! 	'U_SEARCH_MODS_AUTHOR'	=> '%1$sOther MODs by %2$s%3$s',
! 
! 	'rating'				=> array(
! 		5	=> 'Excellent',
! 		4	=> 'Good',
! 		3	=> 'Average',
! 		2	=> 'Poor',
! 		1	=> 'Horrible',
! 	),
  ));
  

Modified: branches/highwayoflife/titania/language/en/titania_mods.php
==============================================================================
*** branches/highwayoflife/titania/language/en/titania_mods.php (original)
--- branches/highwayoflife/titania/language/en/titania_mods.php Mon Nov 10 10:30:38 2008
***************
*** 38,43 ****
--- 38,45 ----
  $lang = array_merge($lang, array(
  	'CATEGORY_DESCRIPTION'	=> 'Description',
  
+ 	'EMAIL_MOD_BODY_EXPLAIN'=> 'This message will be sent as plain text, do not include any HTML or BBCode. Please note that the MOD information is already included in the message. The return address for this message will be set to your e-mail address.',
+ 
  	'FIND_MOD'				=> 'Find a MOD',
  
  	'HIDE_FIND_MOD'			=> 'Hide Find',
***************
*** 46,59 ****
--- 48,65 ----
  	'MOD_CATEGORY'			=> 'Category',
  	'MOD_CATEGORIES'		=> 'MOD Categories',
  	'MOD_DESCRIPTION'		=> 'MOD Description',
+ 	'MOD_EMAIL'				=> 'E-mail MOD to a friend',
  	'MOD_LIST'				=> 'MODs list &bull; Search Results',
  	'MOD_LIST_DESCRIPTION'	=> 'MOD list description',
  	'MOD_NOT_FOUND'			=> 'MOD not found',
  	'MOD_TITLE'				=> 'MOD Title',
  
+ 	'NO_EMAIL_MOD'			=> 'You are not permitted to send an e-mail to a friend recommending this MOD.',
  	'NO_MODS'				=> 'No MODs found in category: “%s”',
  	'NO_CATEGORIES'			=> 'No Categories defined',
  
+ 	'RECOMMEND_MOD'			=> 'Recommend this MOD to a friend',
+ 
  	'SORT_CONTRIB_NAME'		=> 'Sort by MOD title',
  	'SORT_DOWNLOADS'		=> 'Sort by downloads',
  	'SORT_RATING'			=> 'Sort by MOD rating',

Modified: branches/highwayoflife/titania/mods/index.php
==============================================================================
*** branches/highwayoflife/titania/mods/index.php (original)
--- branches/highwayoflife/titania/mods/index.php Mon Nov 10 10:30:38 2008
***************
*** 15,29 ****
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './../');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
! include(PHPBB_ROOT_PATH . 'includes/functions_module.' . PHP_EXT);
  include(TITANIA_ROOT . 'includes/titania_cache.' . PHP_EXT);
  
  $cache = new titania_cache();
  
! $id		= request_var('id', 'main');
  $mode	= request_var('mode', '');
  
! $module = new p_master();
  
  // Instantiate module system and generate list of available modules
  $module->list_modules('mods');
--- 15,56 ----
  if (!defined('TITANIA_ROOT')) define('TITANIA_ROOT', './../');
  if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  include(TITANIA_ROOT . 'common.' . PHP_EXT);
! include(TITANIA_ROOT . 'includes/titania_modules.' . PHP_EXT);
  include(TITANIA_ROOT . 'includes/titania_cache.' . PHP_EXT);
  
  $cache = new titania_cache();
  
! $id		= request_var('id', '');
  $mode	= request_var('mode', '');
  
! // Auto assign some ID's to eliminate the need for id param on most URLs
! if (!$id)
! {
! 	switch ($mode)
! 	{
! 		case 'details':
! 			$id = 'details';
! 		break;
! 
! 		case 'faq':
! 			$id = 'faq';
! 		break;
! 
! 		case 'reviews':
! 			$id = 'reviews';
! 		break;
! 
! 		case 'support':
! 			$id = 'support';
! 		break;
! 
! 		default:
! 			$id = 'main';
! 		break;
! 	}
! }
! 
! $module = new titania_modules();
  
  // Instantiate module system and generate list of available modules
  $module->list_modules('mods');
***************
*** 33,41 ****
  
  // Load and execute the relevant module
  // trick the module class to allow modules to be loaded from the titania includes path.
! $phpbb_root_path = TITANIA_ROOT;
  $module->load_active();
- $phpbb_root_path = PHPBB_ROOT_PATH;
  
  // Assign data to the template engine for the list of modules
  $module->assign_tpl_vars(append_sid(TITANIA_ROOT . 'mods/index.' . PHP_EXT));
--- 60,67 ----
  
  // Load and execute the relevant module
  // trick the module class to allow modules to be loaded from the titania includes path.
! $module->set_custom_include_path(TITANIA_ROOT . 'includes/');
  $module->load_active();
  
  // Assign data to the template engine for the list of modules
  $module->assign_tpl_vars(append_sid(TITANIA_ROOT . 'mods/index.' . PHP_EXT));

Modified: branches/highwayoflife/titania/template/authors/author_list.html
==============================================================================
*** branches/highwayoflife/titania/template/authors/author_list.html (original)
--- branches/highwayoflife/titania/template/authors/author_list.html Mon Nov 10 10:30:38 2008
***************
*** 1,19 ****
  <!-- INCLUDE overall_header.html -->
! {L_AUTHOR_PROFILE}
! <table width="100%">
! <!-- BEGIN authors -->
! <tr>
! 	<td width="10%">{authors.USERNAME}</td>
! 	<td width="10%"><!-- IF authors.U_PHPBB_PROFILE --><a href="{authors.U_PHPBB_PROFILE}">{L_PHPBB_PROFILE}</a><!-- ELSE -->&nbsp;<!-- ENDIF --></td>
! 	<td width="10%">{authors.CONTRIBS}</td>
! 	<td width="10%">{authors.MODS}</td>
! 	<td width="10%">{authors.STYLES}</td>
! 	<td width="10%">{authors.RATING}</td>
! 	<td width="10%">{authors.WEBSITE}</td>
! 	<td width="10%">{authors.LAST_VISIT}</td>
! 	<td width="10%">{authors.POSTS}</td>
! 	<td width="10%"><!-- IF authors.ONLINE -->{L_ONLINE}<!-- ENDIF --></td>
! </tr>
! <!-- END -->
! </table>
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file
--- 1,56 ----
  <!-- INCLUDE overall_header.html -->
! <h2>{L_AUTHOR_PROFILE}</h2>
! 
! <div id="author_list">
! 		<div class="forabg">
! 			<div class="inner"><span class="corners-top"><span></span></span>
! 			<ul class="topiclist">
! 				<li class="header">
! 					<dl>
! 						<dt></dt>
! 						<dd class="author-full">{L_AUTHOR_PROFILE}</dd>
! 						<dd class="full_author">{L_AUTHOR}</dd>
! 						<dd class="phpbb_link"><!-- IF authors.U_PHPBB_PROFILE -->{L_PROFILE_LINK}<!-- ENDIF --></dd>
! 						<dd class="contribs">{L_AUTHOR_CONTRIBS}</dd>
! 						<dd class="mods">{L_AUTHOR_MODS}</dd>
! 						<dd class="styles">{L_AUTHOR_STYLES}</dd>
! 						<dd class="rating">{L_RATING}</dd>
! 					    <dd class="website">{L_WEBSITE}</dd>
! 					    <dd class="last-visit">{L_LAST_VISIT}</dd>
! 					    <dd class="post">{L_POSTS}</dd>
! 					    <dd class="online-user">{L_ONLINE}</dd>
! 					</dl>
! 				</li>
! 			</ul>
! 			<ul class="topiclist topics">
!         <!-- BEGIN authors -->			
! 		<li class="row <!-- IF authors.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
! 			<dl>
! 				<dt></dt>
! 				<dd class="author-full">{authors.AUTHOR_FULL}</dd>
! 					<dd class="full_author">{authors.USER_FULL}</dd>
! 				    <dd class="phpbb_link"><!-- IF authors.U_PHPBB_PROFILE --><a href="{authors.U_PHPBB_PROFILE}">{L_PHPBB_PROFILE}</a><!-- ENDIF --></dd>
! 					<dd class="contribs">{authors.CONTRIBS}</dd>
! 					<dd class="mods">{authors.MODS}</dd>
! 					<dd class="styles">{authors.STYLES}</dd>
! 					<dd class="rating">{authors.RATING}</dd>
! 					<dd class="website">{authors.WEBSITE}</dd>
! 					<dd class="last-visit">{authors.LAST_VISIT}</dd>
! 					<dd class="post">{authors.POSTS}</dd>
! 					<dd class="online-user"><!-- IF authors.ONLINE --><img src="{T_IMAGESET_PATH}/icon_online.gif" width="11" height="11" alt="{L_ONLINE}" title="{L_ONLINE}" /><!-- ELSE --><img src="{T_IMAGESET_PATH}/icon_offline.gif" width="11" height="11" alt="{L_OFFLINE}" title="{L_OFFLINE}" /><!-- ENDIF --></dd>
! 			</dl>
! 		</li>
! 		<!-- END authors -->
! 			</ul>
! 
! 			<span class="corners-bottom"><span></span></span></div>
! 		</div>
! 	</div>
! <fieldset class="display-options">
! 	<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
! 	<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
! 	<!-- IF S_MODE_SELECT --><label for="sk">{L_SELECT_SORT_METHOD}: <select name="sk" id="sk">{S_MODE_SELECT}</select></label>
! 	<label for="sd">{L_ORDER} <select name="sd" id="sd">{S_ORDER_SELECT}</select> <input type="submit" name="sort" value="{L_SUBMIT}" class="button2" /></label>
! 	<!-- ENDIF -->
! </fieldset>
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file

Modified: branches/highwayoflife/titania/template/authors/author_profile.html
==============================================================================
*** branches/highwayoflife/titania/template/authors/author_profile.html (original)
--- branches/highwayoflife/titania/template/authors/author_profile.html Mon Nov 10 10:30:38 2008
***************
*** 1,3 ****
--- 1,15 ----
  <!-- INCLUDE overall_header.html -->
  {L_AUTHOR_PROFILE}
+ <table>
+ <tr><td>{AUTHOR_NAME}</td></tr>
+ <tr><td>{USER_FULL}</td></tr>
+ <tr><td>{REAL_NAME}</td></tr>
+ <tr><td>{WEBSITE}</td></tr>
+ <tr><td>{RATING}</td></tr>
+ <tr><td>{CONTRIB_COUNT}</td></tr>
+ <tr><td>{SNIPPET_COUNT}</td></tr>
+ <tr><td>{MOD_COUNT}</td></tr>
+ <tr><td>{STYLE_COUNT}</td></tr>
+ <td width="10%"><!-- IF authors.U_PHPBB_PROFILE --><a href="{authors.U_PHPBB_PROFILE}">{L_PHPBB_PROFILE}</a><!-- ELSE -->&nbsp;<!-- ENDIF --></td>
+ </table>
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file

Modified: branches/highwayoflife/titania/template/mods/mod_details.html
==============================================================================
*** branches/highwayoflife/titania/template/mods/mod_details.html (original)
--- branches/highwayoflife/titania/template/mods/mod_details.html Mon Nov 10 10:30:38 2008
***************
*** 1,36 ****
  <!-- INCLUDE overall_header.html -->
  
  <form method="post" action="{S_MODE_ACTION}">
! 	<h2>{L_MODO_TITLE}</h2>
  
! 	<div class="panel bg3" id="modlisting">
! 		<div class="inner"><span class="corners-top"><span></span></span>
! 			<div class="column1">
! 				<dt><strong>{L_MODO_GENERAL}</strong></dt>
! 			</div>
! 		<span class="corners-bottom"><span></span></span></div>
! 	</div>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><strong>{L_DETAILS_TITLE}</strong></dt>
! 					<dd>{L_DETAILS_MOD_TITLE}</dd>
! 					<dd>{L_DETAILS_MOD_CATEGORY}</dd>
! 					<dd>{L_DETAILS_MOD_AUTHOR}</dd>
! 					<dd>{L_DETAILS_MOD_VERSION}</dd>
! 					<dd>{L_DETAILS_MOD_BRANCH}</dd>
! 					<dd>{L_DETAILS_MOD_TIME}</dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><strong>{L_AUTHOR_TITLE}</strong></dt>
! 					<dd>{L_AUTHOR_MOD_AUTHOR}</dd>
! 					<dd>{L_AUTHOR_PROFILE}</dd>
! 					<dd>{L_AUTHOR_LAST}</dd>
! 					<dd>{L_AUTHOR_RR}</dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
--- 1,31 ----
  <!-- INCLUDE overall_header.html -->
  
  <form method="post" action="{S_MODE_ACTION}">
! 	<h2>{MOD_TITLE}</h2>
!     <p>{MOD_DESC}</p>
  
! 	<h4 class="details">{L_MODO_GENERAL}</h4>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><h3>{L_DETAILS_TITLE}</h3></dt>
! 					<dd><strong>{L_DETAILS_MOD_TITLE}</strong>: {MOD_TITLE}</dd>
! 					<dd><strong>{L_DETAILS_MOD_CATEGORY}</strong></dd>
! 					<dd><strong>{L_DETAILS_MOD_AUTHOR}</strong></dd>
! 					<dd><strong>{L_DETAILS_MOD_VERSION}</strong>: {VERSION}</dd>
! 					<dd><strong>{L_DETAILS_MOD_BRANCH}</strong></dd>
! 					<dd><strong>{L_DETAILS_MOD_TIME}</strong></dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><h3>{L_AUTHOR_TITLE}</h3></dt>
! 					<dd><strong>{L_AUTHOR_MOD_AUTHOR}</strong></dd>
! 					<dd><strong>{L_AUTHOR_PROFILE}</strong>: {AUTHOR_FULL}</dd>
! 					<dd><strong>{L_AUTHOR_LAST}</strong></dd>
! 					<dd><strong>{L_AUTHOR_RR}</strong></dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
***************
*** 40,171 ****
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><strong>{L_VALID_TITLE}</strong></dt>
! 					<dd>{L_VALID_STATUS}</dd>
! 					<dd>{L_VALID_DATE}</dd>
! 					<dd>{L_VALID_VERSION}</dd>
! 					<dd>{L_VALID_QUEUE}</dd>
! 					<dd>{L_VALID_TESTED}</dd>
! 					<dd>{L_VALID_DOWNLOAD}</dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><strong>{L_RR_TITLE}</strong></dt>
! 					<dd>{L_RR_MOD}</dd>
! 					<dd>{L_RR_TEAM}</dd>
! 					<dd>{L_RR_RANK}</dd>
! 					<dd>{L_RR_E_RATING}</dd>
! 					<dd>{L_RR_E_REVIEW}</dd>
! 					<dd>{L_RR_LIST}</dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  
! 	<div class="panel bg3" id="modlisting">
! 		<div class="inner"><span class="corners-top"><span></span></span>
! 			<div class="column1">
! 				<dt><strong>{L_MODO_ADVANCED}</strong></dt>
! 			</div>
! 		<span class="corners-bottom"><span></span></span></div>
! 	</div>
  
  	<!-- BEGIN complexity -->
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><strong>{L_COMPLEX_TITLE}</strong></dt>
! 					<dd>{L_COMPLEX_SCHEMA}</dd>
! 					<dd>{L_COMPLEX_DATA}</dd>
! 					<dd>{L_COMPLEX_TEMPLATE}</dd>
! 					<dd>{L_COMPLEX_LANGUAGE}</dd>
! 					<dd>{L_COMPLEX_EDIT}</dd>
! 					<dd>{L_COMPLEX_ADDITIONAL}</dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  	<!-- END complexity -->
  
! 	<div class="panel bg3" id="modlisting">
! 		<div class="inner"><span class="corners-top"><span></span></span>
! 			<div class="column1">
! 				<dt><strong>{L_MODO_COMPATABILITY}</strong></dt>
! 			</div>
! 		<span class="corners-bottom"><span></span></span></div>
! 	</div>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><strong>{L_STYLES_TITLE}</strong></dt>
! 					<dd>{L_STYLES_PROSILVER}</dd>
! 					<dd>{L_STYLES_SUBSILVER}</dd>
! 					<dd>{L_STYLES_OTHER}</dd>
  				</dl>
  				<dl class="faq">
  					<dt><strong>{L_LANGUAGE_TITLE}</strong></dt>
! 					<dd>{L_LANGUAGE_AVAILABLE}</dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><strong>{L_OTHER_TITLE}</strong></dt>
! 					<dd>{L_OTHER_MODX}</dd>
! 					<dd>{L_OTHER_FEATURES}</dd>
! 					<dd>{L_OTHER_SIMILAR}</dd>
! 					<dd>{L_OTHER_MODS}</dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  
! 	<div class="panel bg3" id="modlisting">
! 		<div class="inner"><span class="corners-top"><span></span></span>
! 			<div class="column1">
! 				<dt><strong>{L_MODO_DOWNLOAD}</strong></dt>
! 			</div>
! 		<span class="corners-bottom"><span></span></span></div>
! 	</div>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><strong>{L_DOWNLOAD_TITLE}</strong></dt>
! 					<dd>{L_DOWNLOAD_CHECK}</dd>
! 					<dd>{L_DOWNLOAD_MOD_TITLE}</dd>
! 					<dd>{L_DOWNLOAD_FILESIZE}</dd>
! 					<dd>{L_DOWNLOAD_URL}</dd>
! 					<dd>{L_DOWNLOAD_COUNT}</dd>
  				</dl>
  			</div>
  		
  			<div class="column2">
  				<dl class="faq">
! 					<dt><strong>{L_DEMO_TITLE}</strong></dt>
! 					<dd>{L_DEMO_URL}</dd>
! 					<dd>{L_DEMO_SCREEN}</dd>
  				</dl>
  				<dl class="faq">
! 					<dt><strong>{L_SUPPORT_TITLE}</strong></dt>
! 					<dd>{L_SUPPORT_TOPIC}</dd>
! 					<dd>{L_SUPPORT_AUTHOR_URL}</dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
! 
! 	<div class="panel bg3" id="modlisting">
! 		<div class="inner"><span class="corners-top"><span></span></span>
! 			<div class="column1">
! 				<dt><strong>{L_MODO_GENERAL}</strong></dt>
! 			</div>
! 		<span class="corners-bottom"><span></span></span></div>
! 	</div>
  </form>
  
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file
--- 35,141 ----
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><h3>{L_VALID_TITLE}</h3></dt>
! 					<dd><strong>{L_VALID_STATUS}</strong></dd>
! 					<dd><strong>{L_VALID_DATE}</strong></dd>
! 					<dd><strong>{L_VALID_VERSION}</strong></dd>
! 					<dd><strong>{L_VALID_QUEUE}</strong></dd>
! 					<dd><strong>{L_VALID_TESTED}</strong></dd>
! 					<dd><strong>{L_VALID_DOWNLOAD}</strong></dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><h3>{L_RR_TITLE}</h3></dt>
! 					<dd><strong>{L_RR_MOD}</strong></dd>
! 					<dd><strong>{L_RR_TEAM}</strong></dd>
! 					<dd><strong>{L_RR_RANK}</strong></dd>
! 					<dd><strong>{L_RR_E_RATING}</strong></dd>
! 					<dd><strong>{L_RR_E_REVIEW}</strong></dd>
! 					<dd><strong>{L_RR_LIST}</strong></dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  
! 	<h4 class="details">{L_MODO_ADVANCED}</h4>
  
  	<!-- BEGIN complexity -->
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><h3>{L_COMPLEX_TITLE}</h3></dt>
! 					<dd><strong>{L_COMPLEX_SCHEMA}</strong></dd>
! 					<dd><strong>{L_COMPLEX_DATA}</strong></dd>
! 					<dd><strong>{L_COMPLEX_TEMPLATE}</strong></dd>
! 					<dd><strong>{L_COMPLEX_LANGUAGE}</strong></dd>
! 					<dd><strong>{L_COMPLEX_EDIT}</strong></dd>
! 					<dd><strong>{L_COMPLEX_ADDITIONAL}</strong></dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  	<!-- END complexity -->
  
! 	<h4 class="details">{L_MODO_COMPATABILITY}</h4>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><h3>{L_STYLES_TITLE}</h3></dt>
! 					<dd><strong>{L_STYLES_PROSILVER}</strong></dd>
! 					<dd><strong>{L_STYLES_SUBSILVER}</strong></dd>
! 					<dd><strong>{L_STYLES_OTHER}</strong></dd>
  				</dl>
  				<dl class="faq">
  					<dt><strong>{L_LANGUAGE_TITLE}</strong></dt>
! 					<dd><strong>{L_LANGUAGE_AVAILABLE}</strong></dd>
  				</dl>
  			</div>
  			<div class="column2">
  				<dl class="faq">
! 					<dt><h3>{L_OTHER_TITLE}</h3></dt>
! 					<dd><strong>{L_OTHER_MODX}</strong></dd>
! 					<dd><strong>{L_OTHER_FEATURES}</strong></dd>
! 					<dd><strong>{L_OTHER_SIMILAR}</strong></dd>
! 					<dd><strong>{L_OTHER_MODS}</strong></dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  
! 	<h4 class="details">{L_MODO_DOWNLOAD}</h4>
  
  	<div class="panel bg2" id="modlisting">
  		<div class="inner"><span class="corners-top"><span></span></span>
  			<div class="column1">
  				<dl class="faq">
! 					<dt><h3>{L_DOWNLOAD_TITLE}</h3></dt>
! 					<dd><strong>{L_DOWNLOAD_CHECK}</strong></dd>
! 					<dd><strong>{L_DOWNLOAD_MOD_TITLE}</strong></dd>
! 					<dd><strong>{L_DOWNLOAD_FILESIZE}</strong></dd>
! 					<dd><strong>{L_DOWNLOAD_URL}</strong></dd>
! 					<dd><strong>{L_DOWNLOAD_COUNT}</strong></dd>
  				</dl>
  			</div>
  		
  			<div class="column2">
  				<dl class="faq">
! 					<dt><h3>{L_DEMO_TITLE}</h3></dt>
! 					<dd><strong>{L_DEMO_URL}</strong></dd>
! 					<dd><strong>{L_DEMO_SCREEN}</strong></dd>
  				</dl>
  				<dl class="faq">
! 					<dt><h3>{L_SUPPORT_TITLE}</h3></dt>
! 					<dd><strong>{L_SUPPORT_TOPIC}</strong></dd>
! 					<dd><strong>{L_SUPPORT_AUTHOR_URL}</strong></dd>
  				</dl>
  			</div>
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
! 		<h4 class="details">{L_MODO_GENERAL}</h4>
  </form>
  
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file

Removed: branches/highwayoflife/titania/template/mods/mod_faq.html
==============================================================================
*** branches/highwayoflife/titania/template/mods/mod_faq.html (original)
--- branches/highwayoflife/titania/template/mods/mod_faq.html (removed)
***************
*** 1,14 ****
- <!-- INCLUDE overall_header.html -->
- <h2 class="solo">{L_MOD_FAQ}</h2>
- 
- <div class="panel">
- 	<div class="inner"><span class="corners-top"><span></span></span>
- 		<!-- BEGIN faq -->
- 			<h4>{faq.SUBJECT}<!-- IF faq.VERSION -->&nbsp;({L_VERSION}: {faq.VERSION})<!-- ENDIF --></h4>
- 			<p>{faq.TEXT}</p>
- 		<!-- BEGINELSE -->
- 			<center><strong>{L_NO_FAQ_FOR_THIS_MOD}</strong></center>
- 		<!-- END faq -->
- 	<span class="corners-bottom"><span></span></span></div>
- </div>
- <!-- INCLUDE overall_footer.html -->
\ No newline at end of file
--- 0 ----

Modified: branches/highwayoflife/titania/template/mods/mod_list.html
==============================================================================
*** branches/highwayoflife/titania/template/mods/mod_list.html (original)
--- branches/highwayoflife/titania/template/mods/mod_list.html Mon Nov 10 10:30:38 2008
***************
*** 11,23 ****
  				<!-- IF not S_SEARCH_MOD --><a href="{U_FIND_MOD}">{L_FIND_MOD}</a><!-- ELSE --><a href="{U_HIDE_FIND_MOD}">{L_HIDE_FIND_MOD}</a><!-- ENDIF -->
  			</li>
  			<li class="rightside pagination">
! 				{TOTAL_MODS}
! 				<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE -->{PAGE_NUMBER}<!-- ENDIF -->
  			</li>
  		</ul>
  
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
  
  	<div class="forumbg forumbg-table">
  		<div class="inner"><span class="corners-top"><span></span></span>
--- 11,64 ----
  				<!-- IF not S_SEARCH_MOD --><a href="{U_FIND_MOD}">{L_FIND_MOD}</a><!-- ELSE --><a href="{U_HIDE_FIND_MOD}">{L_HIDE_FIND_MOD}</a><!-- ENDIF -->
  			</li>
  			<li class="rightside pagination">
! 				{TOTAL_ROWS}
! 				<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ENDIF -->
  			</li>
  		</ul>
  
  		<span class="corners-bottom"><span></span></span></div>
  	</div>
+ 	
+ 	
+     <div id="list-db">
+ 		<div class="forabg">
+ 			<div class="inner"><span class="corners-top"><span></span></span>
+ 			<ul class="topiclist">
+ 				<li class="header">
+ 					<dl>
+ 						<dt><a href="{U_SORT_MOD_TITLE}#modlist">{L_MOD_TITLE}</a></dt>
+ 						<dd class="rating"><a href="{U_SORT_RATING}#modlist">{L_RATING}</a></dd>
+ 						<dd class="download-count"><a href="{U_SORT_DOWNLOADS}#modlist">{L_DOWNLOAD_COUNT}</a></dd>
+ 						<dd class="description">{L_MOD_DESCRIPTION}</dd>
+ 						<dd class="added"><a href="{U_SORT_TIME_ADDED}#modlist">{L_DATE_ADDED}</a></dd>
+ 						<dd class="last-update"><a href="{U_SORT_TIME_UPDATED}#modlist">{L_LAST_UPDATE}</a></dd>
+ 					</dl>
+ 				</li>
+ 			</ul>
+ 			<ul class="topiclist topics">
+ 		<!-- BEGIN contrib -->	
+ 		<li class="row <!-- IF contrib.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
+ 			<dl>
+ 				<dt>
+ 					<a href="{contrib.U_CONTRIB}">{contrib.TITLE}</a> {contrib.VERSION}<br />
+ 					{contrib.AUTHOR}
+ 				</dt>
+ 				    <dd class="rating">{contrib.RATING} <dfn>{L_RATING}</dfn></dd>
+ 				    <dd class="download-count">{contrib.DOWNLOADS} <dfn>{L_DOWNLOAD_COUNT}</dfn></dd>
+ 					<dd class="description">{contrib.DESC} <dfn>{L_MOD_DESCRIPTION}</dfn></dd>
+ 					<dd class="added">{contrib.ADDED} <dfn>{L_DATE_ADDED}</dfn></dd>
+ 					<dd class="last-update">{contrib.UPDATED} <dfn>{L_LAST_UPDATE}</dfn></dd>
+ 			</dl>
+ 		</li>
+ 		<!-- END contrib -->
+ 			</ul>
+ 
+ 			<span class="corners-bottom"><span></span></span></div>
+ 		</div>
+ 	</div>
+ 	
+ 	
+ 	
  
  	<div class="forumbg forumbg-table">
  		<div class="inner"><span class="corners-top"><span></span></span>
***************
*** 27,33 ****
  		<tr>
  			<th class="name"><span class="rank-img"><a href="{U_SORT_RATING}#modlist">{L_RATING}</a></span>
  				<a href="{U_SORT_MOD_TITLE}#modlist">{L_MOD_TITLE}</a></th>
! 			<th class="posts"><a href="{U_SORT_DOWNLOADS}#modlist">{L_DOWNLOAD_COUNT}</a></th>
  			<th class="info">{L_MOD_DESCRIPTION}</th>
  			<th class="joined"><a href="{U_SORT_TIME_ADDED}#modlist">{L_DATE_ADDED}</a></th>
  			<th class="active"><a href="{U_SORT_TIME_UPDATED}#modlist">{L_LAST_UPDATE}</a></th>
--- 68,74 ----
  		<tr>
  			<th class="name"><span class="rank-img"><a href="{U_SORT_RATING}#modlist">{L_RATING}</a></span>
  				<a href="{U_SORT_MOD_TITLE}#modlist">{L_MOD_TITLE}</a></th>
! 			<th class="posts" style="width: 10%;"><a href="{U_SORT_DOWNLOADS}#modlist">{L_DOWNLOAD_COUNT}</a></th>
  			<th class="info">{L_MOD_DESCRIPTION}</th>
  			<th class="joined"><a href="{U_SORT_TIME_ADDED}#modlist">{L_DATE_ADDED}</a></th>
  			<th class="active"><a href="{U_SORT_TIME_UPDATED}#modlist">{L_LAST_UPDATE}</a></th>
***************
*** 36,44 ****
  		<tbody>
  		<!-- BEGIN contrib -->
  			<tr class="<!-- IF contrib.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
! 				<td><a href="{contrib.U_CONTRIB}">{contrib.TITLE}</a> {contrib.VERSION}<span class="rank-img">{contrib.RATING}</span><br />
  					{contrib.AUTHOR}</td>
! 				<td>{contrib.DOWNLOADS}</td>
  				<td>{contrib.DESC}</td>
  				<td>{contrib.ADDED}</td>
  				<td>{contrib.UPDATED}</td>
--- 77,85 ----
  		<tbody>
  		<!-- BEGIN contrib -->
  			<tr class="<!-- IF contrib.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
! 				<td><a href="{contrib.U_CONTRIB}">{contrib.TITLE}</a> {contrib.VERSION}<span class="rank-img" style="margin-bottom: 10px;">{contrib.RATING}</span><br />
  					{contrib.AUTHOR}</td>
! 				<td style="text-align: center;">{contrib.DOWNLOADS}</td>
  				<td>{contrib.DESC}</td>
  				<td>{contrib.ADDED}</td>
  				<td>{contrib.UPDATED}</td>
***************
*** 47,53 ****
  		<tr class="bg1">
  			<td colspan="5" style="text-align:center;"><strong>{L_NO_MODS}</strong></td>
  		</tr>
! 		<!-- END modlist -->
  	</tbody>
  	</table>
  
--- 88,94 ----
  		<tr class="bg1">
  			<td colspan="5" style="text-align:center;"><strong>{L_NO_MODS}</strong></td>
  		</tr>
! 		<!-- END contrib -->
  	</tbody>
  	</table>
  
***************
*** 67,72 ****
  <hr />
  
  <ul class="linklist">
! 	<li class="rightside pagination">{TOTAL_MODS}<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE -->{PAGE_NUMBER}<!-- ENDIF --></li>
  </ul>
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file
--- 108,113 ----
  <hr />
  
  <ul class="linklist">
! 	<li class="rightside pagination">{TOTAL_ROWS}<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ENDIF --></li>
  </ul>
  <!-- INCLUDE overall_footer.html -->
\ No newline at end of file

Modified: branches/highwayoflife/titania/template/overall_header.html
==============================================================================
*** branches/highwayoflife/titania/template/overall_header.html (original)
--- branches/highwayoflife/titania/template/overall_header.html Mon Nov 10 10:30:38 2008
***************
*** 176,182 ****
  
  		<!-- BEGIN errorbox -->
  		<div class="<!-- IF errorbox.S_ERROR -->errorbox<!-- ELSE -->successbox<!-- ENDIF -->">
! 			<h3>{errorbox.TITLE}</h3>
! 			<p>{errorbox.MESSAGE}</p>
  		</div>
  		<!-- END errorbox -->
--- 176,184 ----
  
  		<!-- BEGIN errorbox -->
  		<div class="<!-- IF errorbox.S_ERROR -->errorbox<!-- ELSE -->successbox<!-- ENDIF -->">
! 		    <div class="inner"><span class="corners-top"><span></span></span>
! 			     <h3>{errorbox.TITLE}</h3>
! 			     <p>{errorbox.MESSAGE}</p>
! 			<span class="corners-bottom"><span></span></span></div>
  		</div>
  		<!-- END errorbox -->

Modified: branches/highwayoflife/titania/theme/common.css
==============================================================================
*** branches/highwayoflife/titania/theme/common.css (original)
--- branches/highwayoflife/titania/theme/common.css Mon Nov 10 10:30:38 2008
***************
*** 4,15 ****
   */
  
  .successbox, .errorbox {
! 	padding: 8px;
  	margin: 10px 0;
  	color: #FFFFFF;
  	text-align: center;
  }
  
  .success {
  	color: #228822;
  }
--- 4,23 ----
   */
  
  .successbox, .errorbox {
! 	padding: 0 10px;
  	margin: 10px 0;
  	color: #FFFFFF;
  	text-align: center;
  }
  
+ .errorbox span.corners-top , .successbox span.corners-top {
+ 	margin: 0 -10px 5px -10px;
+ }
+ 
+ .errorbox span.corners-bottom , .successbox span.corners-bottom {
+ 	margin: 5px -10px 0 -10px;
+ }
+ 
  .success {
  	color: #228822;
  }
***************
*** 53,56 ****
--- 61,156 ----
  	color: #FFFFFF;
  	text-decoration: none;
  	font-weight: bold;
+ }
+ 
+ h4.details {
+     color: #000000;
+ 	padding-bottom: 2px;
+ }
+ 
+ #modlisting  strong {
+     font-weight: normal;
+ 	color: #000000;
+ }
+ 
+ /* move this to a other file later ;) */
+ #list-db ul.topiclist dt {
+    font-weight: normal;
+    width: 26%;
+ }
+ 
+ #list-db dd.rating {
+    width: 3%;
+    text-align: center;
+ }
+ 
+ #list-db dd.download-count {
+    width: 10%;
+    text-align: center;
+ }
+ 
+ #list-db dd.description {
+    width: 29%;
+    padding-left: 5px;
+ }
+ 
+ #list-db li.row dd , #author_list li.row dd {
+    font-size: 1.1em;
+ }
+ 
+ #list-db dd.added {
+    width: 14%;
+    padding-left: 5px;
+ }
+ 
+ #list-db dd.added {
+    width: 15%;
+    padding-left: 5px;
+ }
+ 
+ #list-db dd.last-update {
+    padding-left: 5px;
+ }
+ 
+ #author_list ul.topiclist dt{
+    width: 0%;
+    margin-left: -8px;
+ }
+ 
+ #author_list ul.topiclist dd{
+    white-space: normal;
+ }
+ 
+ #author_list dd.author-full {
+    width: 10%;
+ }
+ 
+ #author_list dd.full_author
+ {
+    width: 10%;
+ }
+ 
+ #author_list dd.phpbb_link
+ {
+    width: 10%;
+ }
+ 
+ #author_list dd.contribs , #author_list dd.mods , #author_list dd.styles, #author_list dd.rating, #author_list dd.post{
+    width: 6%;
+    text-align: center;
+ }
+ 
+ #author_list dd.website
+ {
+    width: 16%;
+ }
+ 
+ #author_list dd.last-visit
+ {
+    width: 13%;
+ }
+ 
+ #author_list dd.online-user
+ {
+    width: 2%;
  }
\ No newline at end of file




More information about the customisationdb-commits mailing list