aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/AMenuManager/admin
diff options
context:
space:
mode:
authorgrum <grum@piwigo.org>2008-08-03 07:48:39 +0000
committergrum <grum@piwigo.org>2008-08-03 07:48:39 +0000
commit7ebed797262c7f3371ae1b16ed455f7e9879caf0 (patch)
tree7abef8d2994ae2efa66f38e3027369c7ac0e3926 /plugins/AMenuManager/admin
parentee0af5d43d607ffb969a10e6a21e9df923651d52 (diff)
Asked by rvelices on this topic
http://forum.phpwebgallery.net/viewtopic.php?pid=92097#p92097 A plugin to integrate the menu class see test_menu directory A plugin to show how to use the menu class see AMenuManager directory And common classes needed for the AMenuManager plugin see grum_plugins_classes-2 directory See topic http://forum.phpwebgallery.net/viewtopic.php?pid=92637#p92637 for more informations git-svn-id: http://piwigo.org/svn/trunk@2466 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'plugins/AMenuManager/admin')
-rwxr-xr-xplugins/AMenuManager/admin/amm_admin.tpl13
-rw-r--r--plugins/AMenuManager/admin/amm_linksconfig.tpl108
-rw-r--r--plugins/AMenuManager/admin/amm_linkslist.tpl56
-rw-r--r--plugins/AMenuManager/admin/amm_linkslist_detail.tpl28
-rw-r--r--plugins/AMenuManager/admin/amm_linkslist_edit.tpl97
-rw-r--r--plugins/AMenuManager/admin/amm_sectionslist.tpl47
-rw-r--r--plugins/AMenuManager/admin/amm_sectionslist_detail.tpl24
-rw-r--r--plugins/AMenuManager/admin/go-down.pngbin0 -> 720 bytes
-rw-r--r--plugins/AMenuManager/admin/go-up.pngbin0 -> 630 bytes
-rwxr-xr-xplugins/AMenuManager/admin/index.php33
-rwxr-xr-xplugins/AMenuManager/admin/plugin_admin.php28
11 files changed, 434 insertions, 0 deletions
diff --git a/plugins/AMenuManager/admin/amm_admin.tpl b/plugins/AMenuManager/admin/amm_admin.tpl
new file mode 100755
index 000000000..313937722
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_admin.tpl
@@ -0,0 +1,13 @@
+<div class="titrePage">
+ <h2 style="position:absolute;right:0px;top:32px;height:auto;font-size:12px;font-weight:normal;">:: {$plugin.AMM_VERSION} ::</h2>
+ <h2>{'g002_title_page'|@translate} <span style="font-size:-1;font-weight:normal;">{$TABSHEET_TITLE}</span></h2>
+
+ {$tabsheet}
+</div>
+
+{if isset($page_nfo)}
+<p>{$page_nfo}</p>
+{/if}
+
+{$AMM_BODY_PAGE}
+
diff --git a/plugins/AMenuManager/admin/amm_linksconfig.tpl b/plugins/AMenuManager/admin/amm_linksconfig.tpl
new file mode 100644
index 000000000..55ee8b6a0
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_linksconfig.tpl
@@ -0,0 +1,108 @@
+{literal}
+<script type="text/javascript">
+
+ //global var ; need to not have to initialize them every time a value is changed
+ var objlang;
+ var objnames = new Array('iamm_links_title');
+ var objinput = new Array(); //input text from form => objinput[name]
+ var objhidden = new Array(); //input hidden from form => objhidden[name][lang]
+
+ function init()
+ {
+ objlang = document.getElementById('islang');
+ for(i=0;i<objnames.length;i++)
+ {
+ objinput[i] = document.getElementById(objnames[i]);
+ objhidden[i] = new Array();
+ for(j=0;j<objlang.options.length;j++)
+ {
+ objhidden[i][j] = document.getElementById(objnames[i]+'_'+objlang.options[j].value);
+ }
+ }
+ }
+
+ function change_lang()
+ {
+ for(i=0;i<objnames.length;i++)
+ {
+ objinput[i].value = objhidden[i][objlang.options.selectedIndex].value;
+ }
+ }
+
+ function apply_changes(input_id)
+ {
+ var obj=document.getElementById(input_id);
+ objhidden[objnames.indexOf(input_id)][objlang.options.selectedIndex].value = obj.value;
+ }
+
+</script>
+{/literal}
+
+
+
+<h3><span style="font-weight:normal"><a href="{$datas.lnk_list}" title="{'g002_configlinks'|@translate}">{'g002_linkslist'|@translate} </span></a> / {'g002_configlinks'|@translate}
+</h3>
+
+
+<form method="post" action="" class="general">
+ <fieldset>
+ <legend>{'g002_setting_link_block_menu'|@translate}</legend>
+
+ {if isset($datas.language_list) and count($datas.language_list)}
+ {foreach from=$datas.language_list key=name item=language_row}
+ <input type="hidden" name="famm_links_title_{$language_row.LANG}"
+ id="iamm_links_title_{$language_row.LANG}" value="{$language_row.MENUBARTIT}">
+ {/foreach}
+ {/if}
+
+ <table class="formtable">
+ <tr>
+ <td>{'g002_setting_link_block_active'|@translate}</td>
+ <td>
+ <select name="famm_links_active" id="iamm_links_active">
+ {html_options values=$datas.yesno_values output=$datas.yesno_labels selected=$datas.active_selected}
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>{'g002_setting_link_block_title'|@translate}</td>
+ <td>
+ <input type="text" id="iamm_links_title" value="" maxlength="50" onkeyup="apply_changes('iamm_links_title');" />
+ <select onchange="change_lang();" id="islang">
+ {html_options values=$datas.language_list_values output=$datas.language_list_labels selected=$datas.lang_selected}
+ </select>
+ </td>
+ </tr>
+
+ </table>
+
+
+ </fieldset>
+
+ <fieldset>
+ <legend>{'g002_setting_link_links'|@translate}</legend>
+ <table class="formtable">
+ <tr>
+ <td>{'g002_setting_link_show_icon'|@translate}</td>
+ <td>
+ <select name="famm_links_show_icons" id="iamm_links_show_icons">
+ {html_options values=$datas.yesno_values output=$datas.yesno_labels selected=$datas.show_icons_selected}
+ </select>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+
+ <p>
+ <input type="submit" name="famm_submit_apply" id="iamm_submit_apply" value="{'g002_apply'|@translate}" >
+ </p>
+
+ <input type="hidden" name="famm_modeedit" value="config">
+
+</form>
+
+<script type="text/javascript">
+ init();
+ change_lang();
+</script> \ No newline at end of file
diff --git a/plugins/AMenuManager/admin/amm_linkslist.tpl b/plugins/AMenuManager/admin/amm_linkslist.tpl
new file mode 100644
index 000000000..1b197c8b4
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_linkslist.tpl
@@ -0,0 +1,56 @@
+{literal}
+<script type="text/javascript">
+
+ function load_list(do_action, item, permut)
+ {
+ /*
+ do_action
+ 'list' : just load list
+ 'permut' : permut items in list
+ 'delete' : delete the item in list
+ */
+ var doc = document.getElementById("iurls");
+
+ action_todo='';
+ if(do_action=='permut')
+ {
+ action_todo='links_permut&fItem='+item+'&fPermut='+permut;
+ }
+ else if(do_action=='delete')
+ {
+ if(confirm('{/literal}{'g002_confirm_delete_link'|@translate}{literal}'))
+ {
+ action_todo='links_delete&fItem='+item;
+ }
+ }
+ else
+ {
+ action_todo='links_list';
+ }
+
+ if(action_todo!='')
+ {
+ http_request=create_httpobject('get', '', '{/literal}{$datas.AMM_AJAX_URL_LIST}{literal}'+action_todo, false);
+ http_request.send(null);
+ doc.innerHTML=http_request.responseText;
+ }
+ }
+
+</script>
+{/literal}
+
+
+<h3>{'g002_linkslist'|@translate} / <span style="font-weight:normal"><a href="{$datas.lnk_config}" title="{'g002_configlinks'|@translate}">{'g002_configlinks'|@translate}</a></span>
+</h3>
+
+[{$datas.nburl}]<br/>
+<a href="{$datas.lnk_create}" title="{'g002_addlink'|@translate}">{'g002_addlink'|@translate}</a>
+
+<br/>
+
+<div id="iurls"></div>
+
+
+<script type="text/javascript">
+ load_list('list', 0, 0);
+</script> \ No newline at end of file
diff --git a/plugins/AMenuManager/admin/amm_linkslist_detail.tpl b/plugins/AMenuManager/admin/amm_linkslist_detail.tpl
new file mode 100644
index 000000000..e97c0ff07
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_linkslist_detail.tpl
@@ -0,0 +1,28 @@
+
+{if isset($datas.urls) and count($datas.urls)}
+ <table class="table2 littlefont">
+ <tr class="throw">
+ <th width='15'>&nbsp;</th>
+ <th>{'g002_label'|@translate}</th>
+ <th>{'g002_url'|@translate}</th>
+ <th>{'g002_mode'|@translate}</th>
+ <th>{'g002_visible'|@translate}</th>
+ <th colspan=4>&nbsp;</th>
+ </tr>
+
+ {foreach from=$datas.urls key=name item=url}
+ <tr>
+ <td>{if $url.img!=""}<img src='{$url.img}'/>{else}&nbsp;{/if}</td>
+ <td>{$url.label}</td>
+ <td>{$url.url}</td>
+ <td>{$url.mode}</td>
+ <td style="text-align:center;">{$url.visible}</td>
+ <td width="15px">{if $url.up}<a style="cursor:pointer;" onclick="load_list('permut', {$url.ID}, {$url.IDPREV})"><img src='{$plugin.PATH}/admin/go-up.png'/></a>{else}&nbsp;{/if}</td>
+ <td width="15px">{if $url.down}<a style="cursor:pointer;" onclick="load_list('permut', {$url.ID}, {$url.IDNEXT})"><img src='{$plugin.PATH}/admin/go-down.png'/></a>{else}&nbsp;{/if}</td>
+ <td width="15px"><a href="{$url.edit}"><img src='{$themeconf.icon_dir}/category_edit.png'/></a></td>
+ <td width="15px"><a style="cursor:pointer;" onclick="load_list('delete', {$url.ID}, 0)"><img src='{$themeconf.icon_dir}/delete.png'/></a></td>
+ </tr>
+ {/foreach}
+
+ </table>
+{/if}
diff --git a/plugins/AMenuManager/admin/amm_linkslist_edit.tpl b/plugins/AMenuManager/admin/amm_linkslist_edit.tpl
new file mode 100644
index 000000000..0cf874dc2
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_linkslist_edit.tpl
@@ -0,0 +1,97 @@
+{literal}
+<script type="text/javascript">
+
+ function change_selected_icon()
+ {
+ var doc = document.getElementById("iamm_icon");
+
+ var icon_list = Array();
+
+ {/literal}
+ {foreach from=$datas.icons_values key=name item=icon}
+ icon_list.push('{$icon.img}');
+ {/foreach}
+ {literal}
+
+ doc.style.backgroundImage='url('+icon_list[doc.options.selectedIndex]+')';
+ }
+
+</script>
+{/literal}
+
+
+{if isset($datas.modeedit)}
+
+ <h3>
+ {if $datas.modeedit=='create'}
+ {'g002_createoflink'|@translate}
+ {else}
+ {'g002_editoflink'|@translate}
+ {/if}
+ / <span style="font-weight:normal"><a href="{$datas.lnk_list}">{'g002_linkslist'|@translate}</a></span></h3>
+ </h3>
+
+ <form method="post" action="" class="general">
+ <fieldset>
+ <table class="formtable">
+ <tr>
+ <td>{'g002_label'|@translate}<td>
+ <td><input type='text' name="famm_label" id='iamm_label' value='{$datas.label}' maxlength=50 size=50></td>
+ </tr>
+
+ <tr>
+ <td>{'g002_url'|@translate}<td>
+ <td><input type='text' name="famm_url" id='iamm_url' value='{$datas.url}' maxlength=255 size=50></td>
+ </tr>
+
+ <tr>
+ <td>{'g002_icon'|@translate}<td>
+ <td>
+ <select name="famm_icon" id="iamm_icon" onchange="change_selected_icon();" style="background-image:url('{$datas.icons_img}');background-position:2px 1px;background-repeat:no-repeat;padding-left:18px;">
+ {foreach from=$datas.icons_values key=name item=icon}
+ <option value="{$icon.value}" style="background: transparent url('{$icon.img}') no-repeat scroll 0px 0px;padding-left:20px;" {if $icon.value==$datas.icons_selected}selected{/if}>{$icon.label}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>{'g002_mode'|@translate}<td>
+ <td>
+ <select name="famm_mode" id="iamm_mode">
+ {html_options values=$datas.mode_values output=$datas.mode_labels selected=$datas.mode_selected}
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>{'g002_visible'|@translate}<td>
+ <td>
+ <select name="famm_visible" id="iamm_visible">
+ {html_options values=$datas.visible_values output=$datas.visible_labels selected=$datas.visible_selected}
+ </select>
+ </td>
+ </tr>
+
+ </table>
+ </fieldset>
+
+
+ {if $datas.modeedit=='create'}
+ <p>
+ <input type="submit" name="famm_submit_create" id="iamm_submit_create" value="{'g002_createthelink'|@translate}" >
+ </p>
+ {/if}
+
+ {if $datas.modeedit=='modify'}
+ <p>
+ <input type="submit" name="famm_submit_modify" id="iamm_submit_modify" value="{'g002_editthelink'|@translate}" >
+ </p>
+ {/if}
+
+ <input type="hidden" name="famm_modeedit" value="{$datas.modeedit}">
+ <input type="hidden" name="famm_id" value="{$datas.id}">
+
+ </form>
+
+{/if} \ No newline at end of file
diff --git a/plugins/AMenuManager/admin/amm_sectionslist.tpl b/plugins/AMenuManager/admin/amm_sectionslist.tpl
new file mode 100644
index 000000000..b9b49b074
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_sectionslist.tpl
@@ -0,0 +1,47 @@
+{literal}
+<script type="text/javascript">
+
+ function load_list(do_action, item, position)
+ {
+ /*
+ do_action
+ 'list' : just load list
+ 'permut' : permut items in list
+ 'delete' : delete the item in list
+ */
+ var doc = document.getElementById("isections");
+
+ action_todo='';
+ if(do_action=='position')
+ {
+ action_todo='sections_position&fItem='+item+'&fPosition='+position;
+ }
+ else if(do_action=='showhide')
+ {
+ action_todo='sections_showhide&fItem='+item;
+ }
+ else
+ {
+ action_todo='sections_list';
+ }
+
+ if(action_todo!='')
+ {
+ http_request=create_httpobject('get', '', '{/literal}{$datas.AMM_AJAX_URL_LIST}{literal}'+action_todo, false);
+ http_request.send(null);
+ doc.innerHTML=http_request.responseText;
+ }
+ }
+
+</script>
+{/literal}
+
+
+<h3>{'g002_sectionslist'|@translate}</h3>
+
+<div id="isections"></div>
+
+
+<script type="text/javascript">
+ load_list('list', 0, 0);
+</script> \ No newline at end of file
diff --git a/plugins/AMenuManager/admin/amm_sectionslist_detail.tpl b/plugins/AMenuManager/admin/amm_sectionslist_detail.tpl
new file mode 100644
index 000000000..b94258119
--- /dev/null
+++ b/plugins/AMenuManager/admin/amm_sectionslist_detail.tpl
@@ -0,0 +1,24 @@
+
+{if isset($datas.sections) and count($datas.sections)}
+ <table class="table2 littlefont">
+ <tr class="throw">
+ <th>{'g002_owner'|@translate}</th>
+ <th>{'g002_sectionid'|@translate}</th>
+ <th>{'g002_name'|@translate}</th>
+ <th>{'g002_visible'|@translate}</th>
+ <th colspan=2>&nbsp;</th>
+ </tr>
+
+ {foreach from=$datas.sections key=name item=section}
+ <tr>
+ <td>{$section.OWNER}</td>
+ <td>{$section.ID}</td>
+ <td>{$section.NAME}</td>
+ <td style="text-align:center;"><a style="cursor:pointer;" onclick="load_list('showhide', '{$section.ID}', '')">{$section.VISIBLE}</a></td>
+ <td width="15px">{if $section.up}<a style="cursor:pointer;" onclick="load_list('position', '{$section.ID}', '{$section.PREVPOS}')"><img src='{$plugin.PATH}/admin/go-up.png'/></a>{else}&nbsp;{/if}</td>
+ <td width="15px">{if $section.down}<a style="cursor:pointer;" onclick="load_list('position', '{$section.ID}', '{$section.NEXTPOS}')"><img src='{$plugin.PATH}/admin/go-down.png'/></a>{else}&nbsp;{/if}</td>
+ </tr>
+ {/foreach}
+
+ </table>
+{/if}
diff --git a/plugins/AMenuManager/admin/go-down.png b/plugins/AMenuManager/admin/go-down.png
new file mode 100644
index 000000000..7eeb16d2e
--- /dev/null
+++ b/plugins/AMenuManager/admin/go-down.png
Binary files differ
diff --git a/plugins/AMenuManager/admin/go-up.png b/plugins/AMenuManager/admin/go-up.png
new file mode 100644
index 000000000..bd84e76ad
--- /dev/null
+++ b/plugins/AMenuManager/admin/go-up.png
Binary files differ
diff --git a/plugins/AMenuManager/admin/index.php b/plugins/AMenuManager/admin/index.php
new file mode 100755
index 000000000..db1eae0d9
--- /dev/null
+++ b/plugins/AMenuManager/admin/index.php
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
diff --git a/plugins/AMenuManager/admin/plugin_admin.php b/plugins/AMenuManager/admin/plugin_admin.php
new file mode 100755
index 000000000..4669ac5b2
--- /dev/null
+++ b/plugins/AMenuManager/admin/plugin_admin.php
@@ -0,0 +1,28 @@
+<?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
+
+ --------------------------------------------------------------------------- */
+
+if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!'); }
+
+include(AMM_PATH."amm_aip.class.inc.php");
+
+global $prefixeTable;
+
+load_language('plugin.lang', AMM_PATH);
+
+$main_plugin_object = get_plugin_data($plugin_id);
+
+$plugin_ai = new AMM_AIP($prefixeTable, $main_plugin_object->get_filelocation());
+$plugin_ai->manage();
+
+?> \ No newline at end of file