> ------------------------------------------------------------------------------ See main.inc.php for release information LMT_AIP : classe to manage plugin admin pages --------------------------------------------------------------------------- */ include_once('lmt_root.class.inc.php'); include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCTranslate.class.inc.php'); include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCTables.class.inc.php'); include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/genericjs.class.inc.php'); include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCPagesNavigation.class.inc.php'); include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); class LMT_AIP extends LMT_root { protected $google_translate; protected $tabsheet; public function __construct($prefixeTable, $filelocation) { parent::__construct($prefixeTable, $filelocation); $this->loadConfig(); $this->initEvents(); $this->tabsheet = new tabsheet(); $this->tabsheet->add('list', l10n('lmt_list'), $this->getAdminLink()."&f_tabsheet=list"); $this->tabsheet->add('manage', l10n('lmt_manage'), $this->getAdminLink()."&f_tabsheet=manage"); $this->tabsheet->add('manageaut', l10n('lmt_manageaut'), $this->getAdminLink()."&f_tabsheet=manageaut"); $this->tabsheet->add('config', l10n('lmt_config'), $this->getAdminLink()."&f_tabsheet=config"); $this->tabsheet->add('help', l10n('lmt_help'), $this->getAdminLink()."&f_tabsheet=help"); // don't create the google_translate object everytime, otherwise google's js // code is always included in the header even if translation functionalities // aren't needed // translation is needed only if we are in a ajax request /*if((isset($_POST['fmypolls_gomodify_translation'])||isset($_POST['fmypolls_goadd_translation']))) { $this->google_translate = new GPCTranslate(); } */ } public function __destruct() { unset($this->google_translate); unset($this->tabsheet); parent::__destruct(); } /* initialize events call for the plugin */ public function initEvents() { parent::initEvents(); add_event_handler('loc_end_page_header', array(&$this->css, 'applyCSS')); add_event_handler('loc_end_page_header', array(&$this->css_icn, 'applyCSS')); } /* display administration page */ public function manage() { global $template; $this->return_ajax_content(); $template->set_filename('plugin_admin_content', dirname(__FILE__)."/admin/lmt_admin.tpl"); if(!isset($_REQUEST['f_tabsheet'])) { $_REQUEST['f_tabsheet']='list'; } switch($_REQUEST['f_tabsheet']) { case 'list': $this->display_list_page(); break; case 'manage': $this->display_manage_page(); break; case 'manageaut': $this->display_manageaut_page(); break; case 'managedoc': $this->display_managedoc_page(); break; case 'help': $this->display_help_page(); break; case 'config': $this->display_config_page(); break; } $this->tabsheet->select($_REQUEST['f_tabsheet']); $this->tabsheet->assign(); $selected_tab=$this->tabsheet->get_selected(); $template->assign($this->tabsheet->get_titlename(), "[".$selected_tab['caption']."]"); $template_plugin["LMT_VERSION"] = "".$this->getPluginName()." ".l10n('lmt_release').LMT_VERSION; $template_plugin["LMT_PAGE"] = $_REQUEST['f_tabsheet']; $template_plugin["LMT_TITLE"] = ""; $template->assign('plugin', $template_plugin); $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); } /* return ajax content */ protected function return_ajax_content() { global $ajax, $template; if(isset($_REQUEST['ajaxfct'])) { //$this->debug("AJAXFCT:".$_REQUEST['ajaxfct']); $result="

An error has occured

"; switch($_REQUEST['ajaxfct']) { case 'img_list': $result=$this->ajax_img_list($_REQUEST['numpage']); break; case 'manage_list': $result=$this->ajax_manage_list($_REQUEST['numpage']); break; } GPCAjax::returnResult($result); } } /* manage display of config page & save config */ protected function display_config_page() { $languages=get_languages(); if(!$this->adviser_abort()) { if(isset($_POST['submit_save_config'])) { foreach($this->config as $key => $val) { if(is_array($val)) { foreach($languages as $key2 => $val2) { if(isset($_REQUEST[str2url('f_'.$key.'_'.$key2)])) { $this->config[$key][$key2] = htmlspecialchars(stripslashes($_REQUEST[str2url('f_'.$key.'_'.$key2)]), ENT_QUOTES); } } } else { if(isset($_REQUEST['f_'.$key])) { $this->config[$key] = $_REQUEST['f_'.$key]; } } } $this->displayResult(l10n('lmt_save_config'), $this->saveConfig()); } } $this->display_config(); } /* */ protected function display_help_page() { global $template; $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_help.tpl'); $template->assign('imgdir', LMT_PATH."img/"); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } /* */ protected function display_list_page() { global $template, $conf, $user; $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_list.tpl'); if(!isset($_REQUEST['filter']) || !($_REQUEST['filter']=="BY" || $_REQUEST['filter']=="BY-SA" || $_REQUEST['filter']=="BY-ND" || $_REQUEST['filter']=="BY-NC-ND" || $_REQUEST['filter']=="BY-NC-SA" || $_REQUEST['filter']=="BY-NC" || $_REQUEST['filter']=="CRIGHT" || $_REQUEST['filter']=="CLEFT" )) { $_REQUEST['filter']=''; } $datas=array( "LMT_AJAX_URL_LIST" => $this->getAdminLink().'&ajaxfct=img_list&numpage=' ); $filter_list_selected = ''; $filter_list_values = array_slice($this->licences,0,count($this->licences)-1); $filter_list_labels = array(); foreach($filter_list_values as $key=>$val) { $filter_list_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val)); if($val==$_REQUEST['filter']) { $filter_list_selected = $val; } } $filter_list_values = array_merge(array(''), $filter_list_values); $filter_list_labels = array_merge(array(l10n('lmt_nofilter')), $filter_list_labels); $default_licence = l10n("lmt_lbl_cc-".strtolower($this->config['lmt_licence_default'])); $default_licence_img =LMT_PATH."img/".strtolower($this->config['lmt_licence_default'])."_80x15.png"; $results=true; if(isset($_POST["submit_replace_caddie"])) { $sql="DELETE FROM ".CADDIE_TABLE." WHERE user_id='".$user['id']."'"; $result=pwg_query($sql); ($result)?$results=true:$results=false; } if(isset($_POST["submit_add_to_caddie"]) || isset($_POST["submit_replace_caddie"])) { $sql="REPLACE INTO ".CADDIE_TABLE." SELECT '".$user['id']."', it.id FROM ".IMAGES_TABLE." it, ".$this->tables["images"]." lmti WHERE it.id = lmti.image_id"; if($_REQUEST['filter']!="") { $sql.=" AND lmti.licence_type='".$_REQUEST['filter']."'"; } $result=pwg_query($sql); if((!$results)||(!$result)) { $this->displayResult(l10n("lmt_caddie_not_updated"), false); } else { $this->displayResult(l10n("lmt_caddie_updated"), true); } } $template->assign('datas', $datas); $template->assign('default_licence', $default_licence); $template->assign('default_licence_img', $default_licence_img); $template->assign('filter_list_values', $filter_list_values); $template->assign('filter_list_labels', $filter_list_labels); $template->assign('filter_list_selected', $filter_list_selected); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } /* */ protected function display_manage_page() { global $template, $conf, $user; /* apply licence */ if(isset($_POST['submit_apply_licence'])) { $results=array("", ""); $lst=array(); foreach($_POST as $key => $val) { if((substr($key,0,2)=="fn")&&($val=="1")) $lst[]=substr($key,2); } if(count($lst)>0) { if($_POST['manage_caddie']!="napp_clear_selected") { if($_POST['licence']=='DEFAULT') { $sql="DELETE FROM ".$this->tables['images']." WHERE image_id IN (".implode(",", $lst).")"; } else { $sql="REPLACE INTO ".$this->tables['images']." SELECT id, '".$_POST['licence']."', '".$_POST['author']."' FROM ".IMAGES_TABLE." WHERE id IN (".implode(",", $lst).")"; } $result=pwg_query($sql); ($result)?$results[0].=l10n("lmt_add_licence_ok")."
":$results[1].=l10n("lmt_add_licence_ko")."
"; } switch($_POST['manage_caddie']) { case 'app_clear': $sql="DELETE FROM ".CADDIE_TABLE." WHERE user_id = '".$user['id']."'"; $result=pwg_query($sql); ($result)?$results[0].=l10n("lmt_clear_caddie_ok")."
":$results[1].=l10n("lmt_clear_caddie_ko")."
"; break; case 'app_clear_selected': case 'napp_clear_selected': $sql="DELETE FROM ".CADDIE_TABLE." WHERE user_id = '".$user['id']."' AND element_id IN (".implode(",", $lst).")"; $result=pwg_query($sql); ($result)?$results[0].=l10n("lmt_clear_si_caddie_ok")."
":$results[1].=l10n("lmt_clear_si_caddie_ko")."
"; break; } if($results[0]!="") { $this->displayResult($results[0], true); } if($results[1]!="") { $this->displayResult($results[1], false); } } else { $this->displayResult(l10n("lmt_no_element_selected"), false); } } $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_manage.tpl'); $datas=array( "LMT_AJAX_URL_LIST" => $this->getAdminLink().'&ajaxfct=manage_list&numpage=' ); if(!isset($_REQUEST['select'])) { $_REQUEST['select']="caddie"; } $sql="SELECT count(element_id) FROM ".CADDIE_TABLE." WHERE user_id = '".$user['id']."'"; $result=pwg_query($sql); $nbphotos=pwg_db_fetch_row($result); $author_list_values = array(0); $author_list_labels = array(l10n("lmt_no_author")); $sql="SELECT * FROM ".$this->tables["licence_author"]." ORDER BY id"; $result=pwg_query($sql); if($result) { while($row=pwg_db_fetch_assoc($result)) { $author_list_values[]=$row['id']; $author_list_labels[]=$row['text1']." ".$row['text2']; } } $licences_list_values = array(); $licences_list_values = $this->licences; $licences_list_labels = array(); foreach($licences_list_values as $key=>$val) { $licences_list_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val)); } /* $licences_list_values = array_merge(array('DEFAULT'), $licences_list_values); $licences_list_labels = array_merge(array(l10n('lmt_bydefault')), $licences_list_labels);*/ $selectlist_list_values=array("-", "all", "none", "invert"); $selectlist_list_values=array_merge($selectlist_list_values, $licences_list_values); $selectlist_list_labels=array( l10n("lmt_choose_select"), l10n("lmt_select_all"), l10n("lmt_select_none"), l10n("lmt_select_invert") ); $selectlist_list_labels=array_merge($selectlist_list_labels, $licences_list_labels); $template->assign('datas', $datas); $template->assign('nbphotos', $nbphotos[0]); $template->assign('selectlist_list_values', $selectlist_list_values); $template->assign('selectlist_list_labels', $selectlist_list_labels); $template->assign('filter_list_selected', ""); $template->assign('licences_list_values', $licences_list_values); $template->assign('licences_list_labels', $licences_list_labels); $template->assign('licences_list_selected', ""); $template->assign('author_list_values', $author_list_values); $template->assign('author_list_labels', $author_list_labels); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } /* display config page */ protected function display_config() { global $template, $lang; $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_config.tpl'); $datas=array( "img_directory" => LMT_PATH."img/" ); foreach($this->config as $key => $val) { if(!is_array($val)) { $datas[$key]=$val; } } $lmt_yesno_values=array("y", "n"); $lmt_yesno_labels=array(l10n("lmt_yesno_y"), l10n("lmt_yesno_n")); $lmt_licence_logo_values=array("80x15", "88x31", "text"); $lmt_licence_logo_labels=array(l10n("lmt_icon_80x15"), l10n("lmt_icon_88x31"), l10n("lmt_icon_text")); $datas['lmt_redirect_urls']=array(); $lmt_licence_default_values = array_slice($this->licences,0,count($this->licences)-1); $lmt_licence_default_labels = array(); $tmp=array(); foreach($lmt_licence_default_values as $key=>$val) { $lmt_licence_default_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val)); $tmp[]="'".str2url("ilmt_redirect_url-".strToLower($val))."'"; $datas['lmt_redirect_urls'][str2url('lmt_redirect_url-'.strToLower($val))]=array( 'text' => l10n("lmt_lbl_cc_s-".strToLower($val)), 'langs' => array() ); } $datas['objnames2'] = implode(",", $tmp); //langs list & texts $datas['lmt_warning_texts']=array(); $lmt_language_list=array(); $lmt_language_list_values=array(); $lmt_language_list_labels=array(); $lmt_language_selected=str2url(get_default_language()); $languages=get_languages(); foreach($languages as $key => $val) { $lmt_language_list_values[]=str2url($key); $lmt_language_list_labels[]=$val; $datas['lmt_warning_texts'][]=array( 'lang' => str2url($key), 'text' => $this->config['lmt_warning_texts'][$key] ); foreach($lmt_licence_default_values as $key2 => $val2) { $datas['lmt_redirect_urls'][str2url('lmt_redirect_url-'.strToLower($val2))]['langs'][str2url($key)]= $this->config['lmt_redirect_url-'.strToLower($val2)][$key]; } } $datas['help']=array(); foreach($lang["lmt_help_config"] as $key => $val) { $datas['help']['hlp'.$key]=addslashes($val); } $lmt_licence_default_author_values=array(0); $lmt_licence_default_author_labels=array(l10n("lmt_no_author")); $sql="SELECT * FROM ".$this->tables['licence_author']." ORDER BY id"; $result=pwg_query($sql); if($result) { while($row=pwg_db_fetch_assoc($result)) { $lmt_licence_default_author_values[]=$row['id']; $lmt_licence_default_author_labels[]=$row['text1']." ".$row['text2']; } } $template->assign('datas', $datas); $template->assign('extended_code', $this->generate_js_licence_author()); $template->assign('lmt_yesno_values', $lmt_yesno_values); $template->assign('lmt_yesno_labels', $lmt_yesno_labels); $template->assign('lmt_licence_logo_values', $lmt_licence_logo_values); $template->assign('lmt_licence_logo_labels', $lmt_licence_logo_labels); $template->assign('lmt_licence_default_values', $lmt_licence_default_values); $template->assign('lmt_licence_default_labels', $lmt_licence_default_labels); $template->assign('lmt_licence_default_author_values', $lmt_licence_default_author_values); $template->assign('lmt_licence_default_author_labels', $lmt_licence_default_author_labels); $template->assign('lmt_language_list_values', $lmt_language_list_values); $template->assign('lmt_language_list_labels', $lmt_language_list_labels); $template->assign('lmt_language_selected', $lmt_language_selected); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } //display_config /* */ protected function display_manageaut_page() { global $template, $conf, $user; if(!isset($_REQUEST['action'])) { $_REQUEST['action']="list"; } if(!isset($_REQUEST['id'])) { $_REQUEST['id']=""; } /* ------------------------------------------------------------------------ * Add an author * ---------------------------------------------------------------------- */ if(isset($_POST['submit_add_author'])) { if($_POST["text1"]!="") { $sql="INSERT INTO ".$this->tables["licence_author"]." VALUES('', '". htmlspecialchars($_POST["text1"], ENT_QUOTES)."', '".htmlspecialchars($_POST["text2"], ENT_QUOTES)."')"; $result=pwg_query($sql); if($result) { $this->displayResult(l10n("lmt_author_added"), true); $_REQUEST['action']="list"; } else { $this->displayResult(l10n("lmt_cannot_add_author"), false); } } else { $this->displayResult(l10n("lmt_no_text"), false); } } /* ------------------------------------------------------------------------ * Modify an author * ---------------------------------------------------------------------- */ if(isset($_POST['submit_modify_author'])) { if($_POST["text1"]!="") { $sql="UPDATE ".$this->tables["licence_author"]." SET text1 = '". htmlspecialchars($_POST["text1"], ENT_QUOTES)."', text2 = '".htmlspecialchars($_POST["text2"], ENT_QUOTES)."' WHERE id = '".$_POST["id"]."'"; $result=pwg_query($sql); if($result) { $this->displayResult(l10n("lmt_author_modified"), true); $_REQUEST['action']="list"; } else { $this->displayResult(l10n("lmt_cannot_modify_author"), false); } } else { $this->displayResult(l10n("lmt_no_text"), false); } } /* ------------------------------------------------------------------------ * delete an author * ---------------------------------------------------------------------- */ if($_REQUEST['action']=="delete") { $sql="DELETE FROM ".$this->tables['licence_author']." WHERE id = '".$_REQUEST['id']."'"; $result=pwg_query($sql); if($result) { if(pwg_db_changes($result)==1) { $this->displayResult(l10n("lmt_author_deleted"), true); $sql="UPDATE ".$this->tables["images"]." SET author_id = NULL WHERE author_id = '".$_REQUEST['id']."'"; $result=pwg_query($sql); if($result) { $nbimages=pwg_db_changes($result); if($nbimages>0) { $this->displayResult($nbimages." ".l10n("lmt_author_nb_images_updated"), true); } } else { $this->displayResult(l10n("lmt_cannot_delete_author"), false); } } else { $this->displayResult(l10n("lmt_cannot_delete_author"), false); } } else { $this->displayResult(l10n("lmt_cannot_delete_author"), false); } $this->display_manageaut_page_list(); } elseif($_REQUEST['action']=="add") { $this->display_manageaut_page_add_modify("add"); } elseif($_REQUEST['action']=="edit") { $this->display_manageaut_page_add_modify("edit"); } else { // list $this->display_manageaut_page_list(); } } //display_manageaut protected function display_manageaut_page_list() { global $template; $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_manageaut.tpl'); $datas=array( "author_list" => array(), "img_directory" => LMT_PATH."img/", "default_licencepublished" => l10n("lmt_lbl_under-".strToLower($this->config['lmt_licence_default'])), "default_licenceL" => strToLower($this->config['lmt_licence_default']), "default_licenceU" => l10n("lmt_lbl_cc_s-".strToLower($this->config['lmt_licence_default'])), "lmt_licence_logo" => $this->config['lmt_licence_logo'], "nbauthor" => 0, "add_link" => $this->getAdminLink().'&f_tabsheet=manageaut&action=add' ); $sql="SELECT * FROM ".$this->tables['licence_author']." ORDER BY id"; $result=pwg_query($sql); if($result) { while($row=pwg_db_fetch_assoc($result)) { $datas["author_list"][]=array( "id" => $row['id'], "text1" => $row['text1'], "text2" => $row['text2'], "lnk_delete" => $this->getAdminLink().'&f_tabsheet=manageaut&action=delete&id='.$row['id'], "lnk_edit" => $this->getAdminLink().'&f_tabsheet=manageaut&action=edit&id='.$row['id'] ); } $datas["nbauthor"] = count($datas["author_list"]); } $template->assign('datas', $datas); //$template->assign('extended_code', $this->generate_js_licence_author()); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } protected function display_manageaut_page_add_modify() { global $template; $template->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_manageaut_edit.tpl'); if($_REQUEST["action"]=="edit") { $sql="SELECT * FROM ".$this->tables['licence_author']." WHERE id = '".$_REQUEST['id']."'"; $result = pwg_query($sql); if($result) { while($row=pwg_db_fetch_assoc($result)) { $datas=array( "action" => "modify", "id" => $_REQUEST['id'], "text1" => $row["text1"], "text2" => $row["text2"] ); } } else { $datas=array( "action" => "add", "id" => "", "text1" => "", "text2" => "", ); } } else { $datas=array( "action" => "add", "id" => "", "text1" => "", "text2" => "", ); } $datas["urllist"] = $this->getAdminLink().'&f_tabsheet=manageaut'; $template->assign('datas', $datas); //$template->assign('extended_code', $this->generate_js_licence_author()); $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page'); } /* manage adviser profile return true if user is adviser */ protected function adviser_abort() { if(is_adviser()) { $this->displayResult(l10n("lmt_adviser_not_allowed"), false); return(true); } return(false); } /* this function return a js to manage licence text */ protected function generate_js_licence_author() { $local_tpl = new Template(LMT_PATH."admin/", ""); $local_tpl->set_filename('body_page', dirname($this->getFileLocation()).'/admin/lmt_js.tpl'); $lmt_licence_default_values=array_slice($this->licences,0,count($this->licences)-1); $datas['shortlicencetext']=array(); foreach($lmt_licence_default_values as $key=>$val) { $datas['shortlicencetext'][$val] = array( "txt" => l10n("lmt_lbl_cc_s-".strtolower($val)), "published" => l10n("lmt_lbl_under-".strtolower($val)) ); } $local_tpl->assign("datas",$datas); return($local_tpl->parse('body_page', true)); } protected function make_image_data($tmp, $imageId) { $tmp2=array(); foreach($tmp['id'] as $key=>$val) { $tmp2[]=array( 'id' => $tmp['id'][$key], 'name' => $tmp['name'][$key], 'type' => $tmp['type'][$key], 'plinks' => $tmp['plinks'][$key], 'link'=> make_picture_url( array( 'image_id' => $imageId, 'category' => array ( 'id' => $tmp['id'][$key], 'name' => $tmp['name'][$key], 'permalink' => $tmp['plinks'][$key] ) ) ) ); } return($tmp2); } /* --------------------------------------------------------------------------- function to manage database manipulation --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------- ajax functions --------------------------------------------------------------------------- */ protected function ajax_img_list($pagenum) { global $conf; $local_tpl = new Template(LMT_PATH."admin/", ""); $local_tpl->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_listitems.tpl'); if(!isset($_REQUEST['filter']) || !($_REQUEST['filter']=="BY" || $_REQUEST['filter']=="BY-SA" || $_REQUEST['filter']=="BY-ND" || $_REQUEST['filter']=="BY-NC-ND" || $_REQUEST['filter']=="BY-NC-SA" || $_REQUEST['filter']=="BY-NC" || $_REQUEST['filter']=="CRIGHT" || $_REQUEST['filter']=="CLEFT" )) { $_REQUEST['filter']=''; } $img_ids=array(); $img_liste = array(); $sql="SELECT SQL_CALC_FOUND_ROWS lmti.*, img.file, img.path, img.tn_ext, GROUP_CONCAT(cat.id) AS catid, GROUP_CONCAT(CASE WHEN cat.name IS NULL THEN '' ELSE cat.name END SEPARATOR '@sep@') AS catname, GROUP_CONCAT(CASE WHEN cat.permalink IS NULL THEN '' ELSE cat.permalink END SEPARATOR '@sep@') AS catpermalink, GROUP_CONCAT(CASE WHEN cat.dir IS NULL THEN 'V' ELSE 'P' END) AS cattype, lmtla.text1, lmtla.text2 FROM ".$this->tables["images"]." lmti LEFT OUTER JOIN ".$this->tables["licence_author"]." lmtla ON lmtla.id = lmti.author_id, ".IMAGES_TABLE." img LEFT OUTER JOIN ".IMAGE_CATEGORY_TABLE." imgcat ON img.id = imgcat.image_id LEFT OUTER JOIN ".CATEGORIES_TABLE." cat ON imgcat.category_id = cat.id WHERE lmti.image_id = img.id "; if($_REQUEST['filter']!="") { $sql.=" AND lmti.licence_type='".$_REQUEST['filter']."'"; } $sql.=" GROUP BY lmti.image_id ORDER BY cat.id, img.id "; if($this->config['lmt_list_maxitems']>0) { $refdbt = ($pagenum-1)*$this->config['lmt_list_maxitems']; $sql.=" LIMIT ".$refdbt.", ".$this->config['lmt_list_maxitems']; } $result=pwg_query($sql); if($result) { while($row = pwg_db_fetch_assoc($result)) { $filenfo = pathinfo($row['path']); preg_match("/(.*)\./i", $filenfo["basename"], $tmp); $filenfo['filename'] = $tmp[1]; $tmp=array( 'id'=>explode(',',$row['catid']), 'name'=>explode('@sep@',$row['catname']), 'type'=>explode(',',$row['cattype']), 'plinks'=>explode('@sep@',$row['catpermalink']), 'link'=>array() ); $tmpcat=$this->make_image_data($tmp, $row['image_id']); $img_ids[]=$row['image_id']; $img_liste[]=array( 'id' => $row['image_id'], 'licence' => ($row['licence_type']=="CRIGHT")?l10n("lmt_lbl_cc_s-".strtolower($row['licence_type'])):"", 'licencei' => LMT_PATH."img/".strtolower($row['licence_type'])."_80x15.png", 'aut_text1' => $row['text1'], 'aut_text2' => $row['text2'], 'file' => $row['file'], 'cat' => $tmpcat, 'thumb' => $filenfo["dirname"]."/thumbnail/".$conf["prefix_thumbnail"].$filenfo["filename"].".".$row["tn_ext"] ); } } $sql="select FOUND_ROWS()"; $result=pwg_query($sql); $nb=pwg_db_fetch_row($result); $GPCPagesNavigation = new GPCPagesNavigation(); $GPCPagesNavigation->setNbItems($nb[0]); $GPCPagesNavigation->setNbItemsPerPage($this->config['lmt_list_maxitems']); $GPCPagesNavigation->setCurrentPage($pagenum); $GPCPagesNavigation->setOptions(array( "text_prev" => l10n("lmt_nav_prev"), "text_next" => l10n("lmt_nav_next"), "text_first" => l10n("lmt_nav_first"), "text_last" => l10n("lmt_nav_last") )); $navbar=$GPCPagesNavigation->makeNavigation("loadpage"); if($navbar!="") { $navbar=", ".$navbar; } $local_tpl->assign('imgliste', $img_liste); return($nb[0]." ".l10n("lmt_lst_nb_photos").$navbar."#".$local_tpl->parse('body_page', true)); } protected function ajax_manage_list($pagenum) { global $conf, $user; $local_tpl = new Template(LMT_PATH."admin/", ""); $local_tpl->set_filename('body_page', dirname($this->getFileLocation()).'/admin/plugin_admin_manageitems.tpl'); if(!isset($_REQUEST['select'])) { $_REQUEST['select']="caddie"; } $img_liste = array(); $sql="SELECT SQL_CALC_FOUND_ROWS img.id as image_id, img.file, img.path, img.tn_ext, GROUP_CONCAT(cat.id) AS catid, GROUP_CONCAT(CASE WHEN cat.name IS NULL THEN '' ELSE cat.name END SEPARATOR '@sep@') AS catname, GROUP_CONCAT(CASE WHEN cat.permalink IS NULL THEN '' ELSE cat.permalink END SEPARATOR '@sep@') AS catpermalink, GROUP_CONCAT(CASE WHEN cat.dir IS NULL THEN 'V' ELSE 'P' END) AS cattype, lmti.licence_type, lmtla.text1, lmtla.text2 FROM ".CADDIE_TABLE." caddie, (".IMAGES_TABLE." img LEFT OUTER JOIN ".IMAGE_CATEGORY_TABLE." imgcat ON img.id = imgcat.image_id LEFT OUTER JOIN ".CATEGORIES_TABLE." cat ON imgcat.category_id = cat.id) LEFT OUTER JOIN ".$this->tables["images"]." AS lmti ON img.id = lmti.image_id LEFT OUTER JOIN ".$this->tables["licence_author"]." lmtla ON lmtla.id = lmti.author_id WHERE img.id = caddie.element_id AND caddie.user_id = '".$user['id']."' GROUP BY img.id ORDER BY cat.id, img.id "; if($this->config['lmt_list_maxitems']>0) { $refdbt = ($pagenum-1)*$this->config['lmt_list_maxitems']; $sql.=" LIMIT ".$refdbt.", ".$this->config['lmt_list_maxitems']; } $result=pwg_query($sql); if($result) { while($row = pwg_db_fetch_assoc($result)) { $filenfo = pathinfo($row['path']); preg_match("/(.*)\./i", $filenfo["basename"], $tmp); $filenfo['filename'] = $tmp[1]; $tmp=array( 'id'=>explode(',',$row['catid']), 'name'=>explode('@sep@',$row['catname']), 'type'=>explode(',',$row['cattype']), 'plinks'=>explode('@sep@',$row['catpermalink']), 'link'=>array() ); $tmpcat=$this->make_image_data($tmp, $row['image_id']); $img_liste[]=array( 'id' => $row['image_id'], 'licence' => ($row['licence_type']=="")?"DEFAULT":$row['licence_type'], 'licencei' => ($row['licence_type']=="")?"":LMT_PATH."img/".strtolower($row['licence_type'])."_80x15.png", 'aut_text1' => $row['text1'], 'aut_text2' => $row['text2'], 'file' => $row['file'], 'cat' => $tmpcat, 'thumb' => $filenfo["dirname"]."/thumbnail/".$conf["prefix_thumbnail"].$filenfo["filename"].".".$row["tn_ext"] ); } } $sql="select FOUND_ROWS()"; $result=pwg_query($sql); $nb=pwg_db_fetch_row($result); $GPCPagesNavigation = new GPCPagesNavigation(); $GPCPagesNavigation->setNbItems($nb[0]); $GPCPagesNavigation->setNbItemsPerPage($this->config['lmt_list_maxitems']); $GPCPagesNavigation->setCurrentPage($pagenum); $GPCPagesNavigation->setOptions(array( "text_prev" => l10n("lmt_nav_prev"), "text_next" => l10n("lmt_nav_next"), "text_first" => l10n("lmt_nav_first"), "text_last" => l10n("lmt_nav_last") )); $navbar=$GPCPagesNavigation->makeNavigation("loadpage"); if($navbar!="") { $navbar=", ".$navbar; } $local_tpl->assign('imgliste', $img_liste); return($nb[0]." ".l10n("lmt_lst_nb_photos").$navbar."#".$local_tpl->parse('body_page', true)); } } //class ?>