diff options
author | grum <grum@piwigo.org> | 2008-08-03 07:48:39 +0000 |
---|---|---|
committer | grum <grum@piwigo.org> | 2008-08-03 07:48:39 +0000 |
commit | 7ebed797262c7f3371ae1b16ed455f7e9879caf0 (patch) | |
tree | 7abef8d2994ae2efa66f38e3027369c7ac0e3926 /plugins/AMenuManager/admin | |
parent | ee0af5d43d607ffb969a10e6a21e9df923651d52 (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 '')
-rwxr-xr-x | plugins/AMenuManager/admin/amm_admin.tpl | 13 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_linksconfig.tpl | 108 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_linkslist.tpl | 56 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_linkslist_detail.tpl | 28 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_linkslist_edit.tpl | 97 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_sectionslist.tpl | 47 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/amm_sectionslist_detail.tpl | 24 | ||||
-rw-r--r-- | plugins/AMenuManager/admin/go-down.png | bin | 0 -> 720 bytes | |||
-rw-r--r-- | plugins/AMenuManager/admin/go-up.png | bin | 0 -> 630 bytes | |||
-rwxr-xr-x | plugins/AMenuManager/admin/index.php | 33 | ||||
-rwxr-xr-x | plugins/AMenuManager/admin/plugin_admin.php | 28 |
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'> </th> + <th>{'g002_label'|@translate}</th> + <th>{'g002_url'|@translate}</th> + <th>{'g002_mode'|@translate}</th> + <th>{'g002_visible'|@translate}</th> + <th colspan=4> </th> + </tr> + + {foreach from=$datas.urls key=name item=url} + <tr> + <td>{if $url.img!=""}<img src='{$url.img}'/>{else} {/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} {/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} {/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> </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} {/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} {/if}</td> + </tr> + {/foreach} + + </table> +{/if} diff --git a/plugins/AMenuManager/admin/go-down.png b/plugins/AMenuManager/admin/go-down.png Binary files differnew file mode 100644 index 000000000..7eeb16d2e --- /dev/null +++ b/plugins/AMenuManager/admin/go-down.png diff --git a/plugins/AMenuManager/admin/go-up.png b/plugins/AMenuManager/admin/go-up.png Binary files differnew file mode 100644 index 000000000..bd84e76ad --- /dev/null +++ b/plugins/AMenuManager/admin/go-up.png 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 |