source: extensions/lmt/lmt_aip.class.inc.php @ 11298

Last change on this file since 11298 was 10974, checked in by grum, 13 years ago

feature:2150 - Compatibility with Piwigo 2.2

  • Property svn:executable set to *
File size: 24.4 KB
Line 
1<?php
2/* -----------------------------------------------------------------------------
3  Plugin     : LMT
4  Author     : Grum
5    email    : grum@piwigo.org
6    website  : http://photos.grum.fr
7
8    << May the Little SpaceFrog be with you ! >>
9  ------------------------------------------------------------------------------
10  See main.inc.php for release information
11
12  LMT_AIP : classe to manage plugin admin pages
13
14  --------------------------------------------------------------------------- */
15
16include_once('lmt_root.class.inc.php');
17include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCTranslate.class.inc.php');
18include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCTables.class.inc.php');
19include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php');
20include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/genericjs.class.inc.php');
21include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCPagesNavigation.class.inc.php');
22include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
23
24class LMT_AIP extends LMT_root
25{
26  protected $tabsheet;
27
28  public function __construct($prefixeTable, $filelocation)
29  {
30    parent::__construct($prefixeTable, $filelocation);
31    $this->loadConfig();
32    $this->initEvents();
33
34    $this->tabsheet = new tabsheet();
35    $this->tabsheet->add('list',
36                          l10n('lmt_list'),
37                          $this->getAdminLink()."&amp;f_tabsheet=list");
38    $this->tabsheet->add('manage',
39                          l10n('lmt_manage'),
40                          $this->getAdminLink()."&amp;f_tabsheet=manage");
41    $this->tabsheet->add('manageaut',
42                          l10n('lmt_manageaut'),
43                          $this->getAdminLink()."&amp;f_tabsheet=manageaut");
44    $this->tabsheet->add('search',
45                          l10n('lmt_search'),
46                          $this->getAdminLink()."&amp;f_tabsheet=search");
47    $this->tabsheet->add('config',
48                          l10n('lmt_config'),
49                          $this->getAdminLink()."&amp;f_tabsheet=config");
50    $this->tabsheet->add('help',
51                          l10n('lmt_help'),
52                          $this->getAdminLink()."&amp;f_tabsheet=help");
53  }
54
55  public function __destruct()
56  {
57    unset($this->tabsheet);
58    parent::__destruct();
59  }
60
61  /*
62    initialize events call for the plugin
63  */
64  public function initEvents()
65  {
66    parent::initEvents();
67
68    if(isset($_REQUEST['f_tabsheet']) and $_REQUEST['f_tabsheet']=='search')
69    {
70      // load request builder JS only on the search page
71      GPCRequestBuilder::loadJSandCSS();
72    }
73
74    add_event_handler('loc_end_page_header', array(&$this->css, 'applyCSS'));
75    add_event_handler('loc_end_page_header', array(&$this->css_icn, 'applyCSS'));
76
77    GPCCss::applyGpcCss();
78  }
79
80  /*
81    display administration page
82  */
83  public function manage()
84  {
85    global $template;
86
87    $template->set_filename('plugin_admin_content', dirname(__FILE__)."/admin/lmt_admin.tpl");
88
89    if(!isset($_REQUEST['f_tabsheet']))
90    {
91      $_REQUEST['f_tabsheet']='list';
92    }
93
94    switch($_REQUEST['f_tabsheet'])
95    {
96      case 'list':
97        $this->display_list_page();
98        break;
99      case 'manage':
100        $this->display_manage_page();
101        break;
102      case 'manageaut':
103        $this->display_manageaut_page();
104        break;
105      case 'managedoc':
106        $this->display_managedoc_page();
107        break;
108      case 'search':
109        $this->displaySearch();
110        break;
111      case 'help':
112        $this->display_help_page();
113        break;
114      case 'config':
115        $this->display_config_page();
116        break;
117    }
118
119    $this->tabsheet->select($_REQUEST['f_tabsheet']);
120    $this->tabsheet->assign();
121    $selected_tab=$this->tabsheet->get_selected();
122    $template->assign($this->tabsheet->get_titlename(), "[".$selected_tab['caption']."]");
123
124    $template_plugin["LMT_VERSION"] = "<i>".$this->getPluginName()."</i> ".l10n('lmt_release').LMT_VERSION;
125    $template_plugin["LMT_PAGE"] = $_REQUEST['f_tabsheet'];
126    $template_plugin["LMT_TITLE"] = "";
127
128    $template->assign('plugin', $template_plugin);
129    $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
130  }
131
132
133  /*
134    manage display of config page & save config
135  */
136  protected function display_config_page()
137  {
138    $languages=get_languages();
139    if(!$this->adviser_abort())
140    {
141
142      if(isset($_POST['submit_save_config']))
143      {
144        foreach($this->config as $key => $val)
145        {
146          if(is_array($val))
147          {
148            foreach($languages as $key2 => $val2)
149            {
150              if(isset($_REQUEST[str2url('f_'.$key.'_'.$key2)]))
151              {
152                $this->config[$key][$key2] = htmlspecialchars(stripslashes($_REQUEST[str2url('f_'.$key.'_'.$key2)]), ENT_QUOTES);
153              }
154            }
155          }
156          else
157          {
158            if(isset($_REQUEST['f_'.$key]))
159            {
160              $this->config[$key] = $_REQUEST['f_'.$key];
161            }
162          }
163
164        }
165        $this->displayResult(l10n('lmt_save_config'), $this->saveConfig());
166      }
167    }
168    $this->display_config();
169  }
170
171
172  /*
173
174  */
175  protected function display_help_page()
176  {
177    global $template;
178
179    $template->set_filename('body_page',
180                dirname($this->getFileLocation()).'/admin/plugin_admin_help.tpl');
181
182    $template->assign('imgdir', LMT_PATH."img/");
183
184    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
185  }
186
187  /*
188  */
189  protected function display_list_page()
190  {
191    global $template, $conf, $user;
192
193    $template->set_filename('body_page',
194                dirname($this->getFileLocation()).'/admin/plugin_admin_list.tpl');
195
196    if(!isset($_REQUEST['filter']) ||
197       !($_REQUEST['filter']=="BY" ||
198         $_REQUEST['filter']=="BY-SA" ||
199         $_REQUEST['filter']=="BY-ND" ||
200         $_REQUEST['filter']=="BY-NC-ND" ||
201         $_REQUEST['filter']=="BY-NC-SA" ||
202         $_REQUEST['filter']=="BY-NC" ||
203         $_REQUEST['filter']=="CRIGHT" ||
204         $_REQUEST['filter']=="CLEFT"
205      ))
206    {
207      $_REQUEST['filter']='';
208    }
209
210    $datas=array(
211      "LMT_AJAX_URL_LIST" =>  $this->getAdminLink('ajax')
212    );
213
214    $filter_list_selected = '';
215    $filter_list_values = array_slice(LMT_root::$licences,0,count(LMT_root::$licences)-1);
216    $filter_list_labels = array();
217    foreach($filter_list_values as $key=>$val)
218    {
219      $filter_list_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val));
220      if($val==$_REQUEST['filter'])
221      {
222        $filter_list_selected = $val;
223      }
224    }
225
226    $filter_list_values = array_merge(array(''), $filter_list_values);
227    $filter_list_labels = array_merge(array(l10n('lmt_nofilter')), $filter_list_labels);
228    $default_licence = l10n("lmt_lbl_cc-".strtolower($this->config['lmt_licence_default']));
229    $default_licence_img =LMT_PATH."img/".strtolower($this->config['lmt_licence_default'])."_80x15.png";
230
231    $results=true;
232    if(isset($_POST["submit_replace_caddie"]))
233    {
234      $sql="DELETE FROM ".CADDIE_TABLE." WHERE user_id='".$user['id']."'";
235      $result=pwg_query($sql);
236      ($result)?$results=true:$results=false;
237    }
238
239    if(isset($_POST["submit_add_to_caddie"]) || isset($_POST["submit_replace_caddie"]))
240    {
241
242      $sql="REPLACE INTO ".CADDIE_TABLE."
243        SELECT '".$user['id']."', it.id FROM ".IMAGES_TABLE." it, ".$this->tables["images"]." lmti
244        WHERE it.id = lmti.image_id";
245      if($_REQUEST['filter']!="")
246      {
247        $sql.=" AND lmti.licence_type='".$_REQUEST['filter']."'";
248      }
249
250      $result=pwg_query($sql);
251      if((!$results)||(!$result))
252      {
253        $this->displayResult(l10n("lmt_caddie_not_updated"), false);
254      }
255      else
256      {
257        $this->displayResult(l10n("lmt_caddie_updated"), true);
258      }
259    }
260
261    $template->assign('datas', $datas);
262    $template->assign('default_licence', $default_licence);
263    $template->assign('default_licence_img', $default_licence_img);
264    $template->assign('filter_list_values', $filter_list_values);
265    $template->assign('filter_list_labels', $filter_list_labels);
266    $template->assign('filter_list_selected', $filter_list_selected);
267    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
268  }
269
270
271  /*
272  */
273  protected function display_manage_page()
274  {
275    global $template, $conf, $user;
276
277    /*
278      apply licence
279    */
280    if(isset($_POST['submit_apply_licence']))
281    {
282      $results=array("", "");
283      $lst=array();
284      foreach($_POST as $key => $val)
285      {
286        if((substr($key,0,2)=="fn")&&($val=="1")) $lst[]=substr($key,2);
287      }
288
289      if(count($lst)>0)
290      {
291        if($_POST['manage_caddie']!="napp_clear_selected")
292        {
293          if($_POST['licence']=='DEFAULT')
294          {
295            $sql="DELETE FROM ".$this->tables['images']."
296                    WHERE image_id IN (".implode(",", $lst).")";
297          }
298          else
299          {
300            $sql="REPLACE INTO ".$this->tables['images']."
301                    SELECT id, '".$_POST['licence']."', '".$_POST['author']."'
302                    FROM ".IMAGES_TABLE."
303                    WHERE id IN (".implode(",", $lst).")";
304          }
305          $result=pwg_query($sql);
306          ($result)?$results[0].=l10n("lmt_add_licence_ok")."<br/>":$results[1].=l10n("lmt_add_licence_ko")."<br/>";
307        }
308
309        switch($_POST['manage_caddie'])
310        {
311          case 'app_clear':
312            $sql="DELETE FROM ".CADDIE_TABLE." WHERE user_id = '".$user['id']."'";
313            $result=pwg_query($sql);
314            ($result)?$results[0].=l10n("lmt_clear_caddie_ok")."<br/>":$results[1].=l10n("lmt_clear_caddie_ko")."<br/>";
315            break;
316          case 'app_clear_selected':
317          case 'napp_clear_selected':
318            $sql="DELETE FROM ".CADDIE_TABLE."
319                  WHERE user_id = '".$user['id']."'
320                  AND element_id IN (".implode(",", $lst).")";
321            $result=pwg_query($sql);
322            ($result)?$results[0].=l10n("lmt_clear_si_caddie_ok")."<br/>":$results[1].=l10n("lmt_clear_si_caddie_ko")."<br/>";
323            break;
324        }
325
326        if($results[0]!="")
327        {
328          $this->displayResult($results[0], true);
329        }
330
331        if($results[1]!="")
332        {
333          $this->displayResult($results[1], false);
334        }
335      }
336      else
337      {
338        $this->displayResult(l10n("lmt_no_element_selected"), false);
339      }
340    }
341
342
343    $template->set_filename('body_page',
344                dirname($this->getFileLocation()).'/admin/plugin_admin_manage.tpl');
345
346    $datas=array(
347      "LMT_AJAX_URL_LIST" =>  $this->getAdminLink('ajax')
348    );
349
350    if(!isset($_REQUEST['select']))
351    {
352      $_REQUEST['select']="caddie";
353    }
354
355    $sql="SELECT count(element_id) FROM ".CADDIE_TABLE." WHERE user_id = '".$user['id']."'";
356    $result=pwg_query($sql);
357    $nbphotos=pwg_db_fetch_row($result);
358
359    $author_list_values = array(0);
360    $author_list_labels = array(l10n("lmt_no_author"));
361    $sql="SELECT * FROM ".$this->tables["licence_author"]." ORDER BY id";
362    $result=pwg_query($sql);
363    if($result)
364    {
365      while($row=pwg_db_fetch_assoc($result))
366      {
367        $author_list_values[]=$row['id'];
368        $author_list_labels[]=$row['text1']."&nbsp;".$row['text2'];
369      }
370    }
371
372    $licences_list_values = array();
373    $licences_list_values = self::$licences;
374    $licences_list_labels = array();
375    foreach($licences_list_values as $key=>$val)
376    {
377      $licences_list_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val));
378    }
379
380/*    $licences_list_values = array_merge(array('DEFAULT'), $licences_list_values);
381    $licences_list_labels = array_merge(array(l10n('lmt_bydefault')), $licences_list_labels);*/
382
383    $selectlist_list_values=array("-", "all", "none", "invert");
384    $selectlist_list_values=array_merge($selectlist_list_values, $licences_list_values);
385
386    $selectlist_list_labels=array(
387        l10n("lmt_choose_select"),
388        l10n("lmt_select_all"),
389        l10n("lmt_select_none"),
390        l10n("lmt_select_invert")
391    );
392    $selectlist_list_labels=array_merge($selectlist_list_labels, $licences_list_labels);
393
394    $template->assign('datas', $datas);
395    $template->assign('nbphotos', $nbphotos[0]);
396    $template->assign('selectlist_list_values', $selectlist_list_values);
397    $template->assign('selectlist_list_labels', $selectlist_list_labels);
398    $template->assign('filter_list_selected', "");
399    $template->assign('licences_list_values', $licences_list_values);
400    $template->assign('licences_list_labels', $licences_list_labels);
401    $template->assign('licences_list_selected', "");
402    $template->assign('author_list_values', $author_list_values);
403    $template->assign('author_list_labels', $author_list_labels);
404    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
405  }
406
407
408  /*
409    display config page
410  */
411  protected function display_config()
412  {
413    global $template, $lang;
414
415    $template->set_filename('body_page',
416                dirname($this->getFileLocation()).'/admin/plugin_admin_config.tpl');
417
418
419    $datas=array(
420      "img_directory" => LMT_PATH."img/"
421    );
422    foreach($this->config as $key => $val)
423    {
424      if(!is_array($val))
425      {
426        $datas[$key]=$val;
427      }
428    }
429
430    $lmt_yesno_values=array("y", "n");
431    $lmt_yesno_labels=array(l10n("lmt_yesno_y"), l10n("lmt_yesno_n"));
432
433    $lmt_licence_logo_values=array("80x15", "88x31", "text");
434    $lmt_licence_logo_labels=array(l10n("lmt_icon_80x15"), l10n("lmt_icon_88x31"), l10n("lmt_icon_text"));
435
436    $datas['lmt_redirect_urls']=array();
437    $lmt_licence_default_values = array_slice(self::$licences,0,count(self::$licences)-1);
438    $lmt_licence_default_labels = array();
439
440    $tmp=array();
441    foreach($lmt_licence_default_values as $key=>$val)
442    {
443      $lmt_licence_default_labels[] = "[".l10n("lmt_lbl_cc_s-".strtolower($val))."] ".l10n("lmt_lbl_cc-".strtolower($val));
444
445      $tmp[]="'".str2url("ilmt_redirect_url-".strToLower($val))."'";
446      $datas['lmt_redirect_urls'][str2url('lmt_redirect_url-'.strToLower($val))]=array(
447        'text' => l10n("lmt_lbl_cc_s-".strToLower($val)),
448        'langs' => array()
449      );
450    }
451    $datas['objnames2'] = implode(",", $tmp);
452
453
454    //langs list & texts
455    $datas['lmt_warning_texts']=array();
456
457    $lmt_language_list=array();
458    $lmt_language_list_values=array();
459    $lmt_language_list_labels=array();
460    $lmt_language_selected=str2url(get_default_language());
461    $languages=get_languages();
462
463    foreach($languages as $key => $val)
464    {
465      $lmt_language_list_values[]=str2url($key);
466      $lmt_language_list_labels[]=$val;
467
468      $datas['lmt_warning_texts'][]=array(
469        'lang' => str2url($key),
470        'text' => $this->config['lmt_warning_texts'][$key]
471      );
472
473      foreach($lmt_licence_default_values as $key2 => $val2)
474      {
475        $datas['lmt_redirect_urls'][str2url('lmt_redirect_url-'.strToLower($val2))]['langs'][str2url($key)]=
476            $this->config['lmt_redirect_url-'.strToLower($val2)][$key];
477      }
478    }
479
480    $datas['help']=array();
481    foreach($lang["lmt_help_config"] as $key => $val)
482    {
483      $datas['help']['hlp'.$key]=addslashes($val);
484    }
485
486    $lmt_licence_default_author_values=array(0);
487    $lmt_licence_default_author_labels=array(l10n("lmt_no_author"));
488    $sql="SELECT * FROM ".$this->tables['licence_author']." ORDER BY id";
489    $result=pwg_query($sql);
490    if($result)
491    {
492      while($row=pwg_db_fetch_assoc($result))
493      {
494        $lmt_licence_default_author_values[]=$row['id'];
495        $lmt_licence_default_author_labels[]=$row['text1']." ".$row['text2'];
496      }
497    }
498
499    $template->assign('datas', $datas);
500    $template->assign('extended_code', $this->generate_js_licence_author());
501    $template->assign('lmt_yesno_values', $lmt_yesno_values);
502    $template->assign('lmt_yesno_labels', $lmt_yesno_labels);
503    $template->assign('lmt_licence_logo_values', $lmt_licence_logo_values);
504    $template->assign('lmt_licence_logo_labels', $lmt_licence_logo_labels);
505    $template->assign('lmt_licence_default_values', $lmt_licence_default_values);
506    $template->assign('lmt_licence_default_labels', $lmt_licence_default_labels);
507    $template->assign('lmt_licence_default_author_values', $lmt_licence_default_author_values);
508    $template->assign('lmt_licence_default_author_labels', $lmt_licence_default_author_labels);
509    $template->assign('lmt_language_list_values', $lmt_language_list_values);
510    $template->assign('lmt_language_list_labels', $lmt_language_list_labels);
511    $template->assign('lmt_language_selected', $lmt_language_selected);
512    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
513
514  } //display_config
515
516
517
518  /**
519   * display the search page
520   *
521   */
522  protected function displaySearch()
523  {
524    global $template;
525
526    $template->set_filename('body_page',
527                dirname($this->getFileLocation()).'/admin/lmt_search.tpl');
528
529    $template->assign('lmt_search_page', GPCRequestBuilder::displaySearchPage($this->getPluginName()));
530
531    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
532  }
533
534
535
536  /*
537  */
538  protected function display_manageaut_page()
539  {
540    global $template, $conf, $user;
541
542    if(!isset($_REQUEST['action']))
543    {
544      $_REQUEST['action']="list";
545    }
546    if(!isset($_REQUEST['id']))
547    {
548      $_REQUEST['id']="";
549    }
550
551
552    /* ------------------------------------------------------------------------
553     * Add an author
554     * ---------------------------------------------------------------------- */
555    if(isset($_POST['submit_add_author']))
556    {
557      if($_POST["text1"]!="")
558      {
559        $sql="INSERT INTO ".$this->tables["licence_author"]." VALUES('', '". htmlspecialchars($_POST["text1"], ENT_QUOTES)."', '".htmlspecialchars($_POST["text2"], ENT_QUOTES)."')";
560        $result=pwg_query($sql);
561        if($result)
562        {
563          $this->displayResult(l10n("lmt_author_added"), true);
564          $_REQUEST['action']="list";
565        }
566        else
567        {
568          $this->displayResult(l10n("lmt_cannot_add_author"), false);
569        }
570      }
571      else
572      {
573        $this->displayResult(l10n("lmt_no_text"), false);
574      }
575    }
576
577    /* ------------------------------------------------------------------------
578     * Modify an author
579     * ---------------------------------------------------------------------- */
580    if(isset($_POST['submit_modify_author']))
581    {
582      if($_POST["text1"]!="")
583      {
584        $sql="UPDATE ".$this->tables["licence_author"]."
585              SET text1 = '". htmlspecialchars($_POST["text1"], ENT_QUOTES)."',
586                  text2 = '".htmlspecialchars($_POST["text2"], ENT_QUOTES)."'
587              WHERE id = '".$_POST["id"]."'";
588        $result=pwg_query($sql);
589        if($result)
590        {
591          $this->displayResult(l10n("lmt_author_modified"), true);
592          $_REQUEST['action']="list";
593        }
594        else
595        {
596          $this->displayResult(l10n("lmt_cannot_modify_author"), false);
597        }
598      }
599      else
600      {
601        $this->displayResult(l10n("lmt_no_text"), false);
602      }
603    }
604
605    /* ------------------------------------------------------------------------
606     * delete an author
607     * ---------------------------------------------------------------------- */
608    if($_REQUEST['action']=="delete")
609    {
610      $sql="DELETE FROM ".$this->tables['licence_author']." WHERE id = '".$_REQUEST['id']."'";
611      $result=pwg_query($sql);
612      if($result)
613      {
614        if(pwg_db_changes($result)==1)
615        {
616          $this->displayResult(l10n("lmt_author_deleted"), true);
617
618          $sql="UPDATE ".$this->tables["images"]." SET author_id = NULL
619                WHERE author_id = '".$_REQUEST['id']."'";
620          $result=pwg_query($sql);
621          if($result)
622          {
623            $nbimages=pwg_db_changes($result);
624            if($nbimages>0)
625            {
626              $this->displayResult($nbimages."&nbsp;".l10n("lmt_author_nb_images_updated"), true);
627            }
628          }
629          else
630          {
631            $this->displayResult(l10n("lmt_cannot_delete_author"), false);
632          }
633        }
634        else
635        {
636          $this->displayResult(l10n("lmt_cannot_delete_author"), false);
637        }
638      }
639      else
640      {
641        $this->displayResult(l10n("lmt_cannot_delete_author"), false);
642      }
643      $this->display_manageaut_page_list();
644    }
645    elseif($_REQUEST['action']=="add")
646    {
647      $this->display_manageaut_page_add_modify("add");
648    }
649    elseif($_REQUEST['action']=="edit")
650    {
651      $this->display_manageaut_page_add_modify("edit");
652    }
653    else
654    {
655      // list
656      $this->display_manageaut_page_list();
657    }
658  } //display_manageaut
659
660  protected function display_manageaut_page_list()
661  {
662    global $template;
663
664    $template->set_filename('body_page',
665                dirname($this->getFileLocation()).'/admin/plugin_admin_manageaut.tpl');
666
667    $datas=array(
668      "author_list" => array(),
669      "img_directory" => LMT_PATH."img/",
670      "default_licencepublished" => l10n("lmt_lbl_under-".strToLower($this->config['lmt_licence_default'])),
671      "default_licenceL" => strToLower($this->config['lmt_licence_default']),
672      "default_licenceU" => l10n("lmt_lbl_cc_s-".strToLower($this->config['lmt_licence_default'])),
673      "lmt_licence_logo" => $this->config['lmt_licence_logo'],
674      "nbauthor" => 0,
675      "add_link" => $this->getAdminLink().'&amp;f_tabsheet=manageaut&amp;action=add'
676    );
677
678    $sql="SELECT * FROM ".$this->tables['licence_author']." ORDER BY id";
679    $result=pwg_query($sql);
680    if($result)
681    {
682      while($row=pwg_db_fetch_assoc($result))
683      {
684        $datas["author_list"][]=array(
685          "id" => $row['id'],
686          "text1" => $row['text1'],
687          "text2" => $row['text2'],
688          "lnk_delete" => $this->getAdminLink().'&amp;f_tabsheet=manageaut&amp;action=delete&amp;id='.$row['id'],
689          "lnk_edit" => $this->getAdminLink().'&amp;f_tabsheet=manageaut&amp;action=edit&amp;id='.$row['id']
690        );
691      }
692      $datas["nbauthor"] = count($datas["author_list"]);
693    }
694
695    $template->assign('datas', $datas);
696    //$template->assign('extended_code', $this->generate_js_licence_author());
697    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
698  }
699
700  protected function display_manageaut_page_add_modify()
701  {
702    global $template;
703
704    $template->set_filename('body_page',
705                dirname($this->getFileLocation()).'/admin/plugin_admin_manageaut_edit.tpl');
706
707    if($_REQUEST["action"]=="edit")
708    {
709      $sql="SELECT * FROM ".$this->tables['licence_author']." WHERE id = '".$_REQUEST['id']."'";
710      $result = pwg_query($sql);
711      if($result)
712      {
713        while($row=pwg_db_fetch_assoc($result))
714        {
715          $datas=array(
716            "action" => "modify",
717            "id" => $_REQUEST['id'],
718            "text1" => $row["text1"],
719            "text2" => $row["text2"]
720          );
721        }
722      }
723      else
724      {
725        $datas=array(
726          "action" => "add",
727          "id" => "",
728          "text1" => "",
729          "text2" => "",
730        );
731      }
732    }
733    else
734    {
735      $datas=array(
736        "action" => "add",
737        "id" => "",
738        "text1" => "",
739        "text2" => "",
740      );
741    }
742
743    $datas["urllist"] = $this->getAdminLink().'&f_tabsheet=manageaut';
744
745    $template->assign('datas', $datas);
746    //$template->assign('extended_code', $this->generate_js_licence_author());
747    $template->assign_var_from_handle('LMT_BODY_PAGE', 'body_page');
748  }
749
750
751  /*
752    manage adviser profile
753      return true if user is adviser
754  */
755  protected function adviser_abort()
756  {
757    if(is_adviser())
758    {
759      $this->displayResult(l10n("lmt_adviser_not_allowed"), false);
760      return(true);
761    }
762    return(false);
763  }
764
765
766  /*
767    this function return a js to manage licence text
768  */
769  protected function generate_js_licence_author()
770  {
771    $local_tpl = new Template(LMT_PATH."admin/", "");
772    $local_tpl->set_filename('body_page',
773                  dirname($this->getFileLocation()).'/admin/lmt_js.tpl');
774
775    $lmt_licence_default_values=array_slice(self::$licences,0,count(self::$licences)-1);
776    $datas['shortlicencetext']=array();
777    foreach($lmt_licence_default_values as $key=>$val)
778    {
779      $datas['shortlicencetext'][$val] = array(
780        "txt" => l10n("lmt_lbl_cc_s-".strtolower($val)),
781        "published" => l10n("lmt_lbl_under-".strtolower($val))
782      );
783    }
784
785    $local_tpl->assign("datas",$datas);
786
787    return($local_tpl->parse('body_page', true));
788  }
789
790
791  /* ---------------------------------------------------------------------------
792    function to manage database manipulation
793  --------------------------------------------------------------------------- */
794
795} //class
796
797
798?>
Note: See TracBrowser for help on using the repository browser.