piwigo/plugins/AMenuManager/amm_root.class.inc.php
grum 526d8006a1 updating files for the Menu class (test_menu)
+ add functionnalities

updating files for the AMenuManager plugin
 + fixes some bugs
 + add functionnalities

updating common classes grum_plugins_classes-2
(needed for the AMenuManager plugin)
 + add functionalities for google_translator use


git-svn-id: http://piwigo.org/svn/trunk@2468 68402e56-0260-453c-a942-63ccdbb3a9ee
2008-08-07 21:52:45 +00:00

187 lines
4.7 KiB
PHP

<?php
/* -----------------------------------------------------------------------------
Plugin : Advanced Menu Manager
Author : Grum
email : grum@grum.dnsalias.com
website : http://photos.grum.dnsalias.com
PWG user : http://forum.phpwebgallery.net/profile.php?id=3706
<< May the Little SpaceFrog be with you ! >>
------------------------------------------------------------------------------
See main.inc.php for release information
AMM_root : root classe for plugin
--------------------------------------------------------------------------- */
if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!'); }
include_once(PHPWG_PLUGINS_PATH.'grum_plugins_classes-2/common_plugin.class.inc.php');
class AMM_root extends common_plugin
{
function AMM_root($prefixeTable, $filelocation)
{
$this->plugin_name="Advanced Menu Manager";
$this->plugin_name_files="amm";
parent::__construct($prefixeTable, $filelocation);
$list=array('urls', 'personalised');
$this->set_tables_list($list);
}
/* ---------------------------------------------------------------------------
common AIP & PIP functions
--------------------------------------------------------------------------- */
/* this function initialize var $my_config with default values */
public function init_config()
{
global $menu;
$this->my_config=array(
'amm_links_show_icons' => 'y',
'amm_links_active' => 'y',
'amm_links_title' => array(),
'amm_sections_visible' => array(),
'amm_randompicture_active' => 'n',
'amm_randompicture_showname' => 'n', //n:no, o:over, u:under
'amm_randompicture_showcomment' => 'n', //n:no, o:over, u:under
'amm_randompicture_title' => array(),
'amm_sections_modspecial' => array(
'favorite_cat' => 'y',
'most_visited_cat' => 'y',
'best_rated_cat' => 'y',
'random_cat' => 'y',
'recent_pics_cat' => 'y',
'recent_cats_cat' => 'y',
'calendar' => 'y'
),
'amm_sections_modmenu' => array(
'qsearch' => 'y',
'Tags' => 'y',
'Search' => 'y',
'comments' => 'y',
'About' => 'y',
'Notification' => 'y'
)
);
$languages=get_languages();
foreach($languages as $key => $val)
{
if($key=='fr_FR')
{
$this->my_config['amm_links_title'][$key]=base64_encode('Liens');
$this->my_config['amm_randompicture_title'][$key]=base64_encode('Une image au hasard');
}
else
{
$this->my_config['amm_links_title'][$key]=base64_encode('Links');
$this->my_config['amm_randompicture_title'][$key]=base64_encode('A random picture');
}
}
$sections=$menu->registered();
foreach($sections as $key => $val)
{
$this->my_config['amm_sections_visible'][$key]='y';
}
}
public function load_config()
{
global $menu;
parent::load_config();
$sections=$menu->registered();
foreach($sections as $key => $val)
{
if(!isset($this->my_config['amm_sections_visible'][$key]))
{
$this->my_config['amm_sections_visible'][$key]='y';
}
}
}
// return an array of urls (each url is an array)
protected function get_urls($only_visible=false)
{
$returned=array();
$sql="SELECT * FROM ".$this->tables['urls'];
if($only_visible)
{
$sql.=" WHERE visible = 'y' ";
}
$sql.=" ORDER BY position";
$result=pwg_query($sql);
if($result)
{
while($row=mysql_fetch_array($result))
{
$row['label']=stripslashes($row['label']);
$returned[]=$row;
}
}
return($returned);
}
//return number of url
protected function get_count_url($only_visible=false)
{
$returned=0;
$sql="SELECT count(id) FROM ".$this->tables['urls'];
if($only_visible)
{
$sql.=" WHERE visible = 'y' ";
}
$result=pwg_query($sql);
if($result)
{
$tmp=mysql_fetch_row($result);
$returned=$tmp[0];
}
return($returned);
}
// return an array of sections (each section is an array)
protected function get_sections($only_visible=false, $lang="", $only_with_content=true)
{
global $user;
if($lang=="")
{
$lang=$user['language'];
}
$returned=array();
$sql="SELECT * FROM ".$this->tables['personalised']."
WHERE (lang = '*' OR lang = '".$lang."') ";
if($only_visible)
{
$sql.=" AND visible = 'y' ";
}
if($only_with_content)
{
$sql.=" AND content != '' ";
}
$sql.=" ORDER BY id, lang DESC ";
$result=pwg_query($sql);
if($result)
{
while($row=mysql_fetch_array($result))
{
$returned[]=$row;
}
}
return($returned);
}
} // amm_root class
?>