Changeset 11081
- Timestamp:
- May 27, 2011, 11:02:05 PM (13 years ago)
- Location:
- extensions/user_tags
- Files:
-
- 2 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/user_tags/CHANGELOG
r9284 r11081 1 User Tags 0.5.0 - 2011-05-27 2 ================================ 3 * Fix incompatibility with piwigo 2.2 4 * Change jquery plugin from fcbkcomplete to tokeninput 5 1 6 User Tags 0.4.2 - 2011-02-19 2 7 ================================ -
extensions/user_tags/MANIFEST
r9284 r11081 1 user_tags/js/jquery.addtags.js 1 2 user_tags/BUGS 2 user_tags/imgs/edit.png 3 user_tags/include/t4u_admin_action.inc.php 4 user_tags/include/t4u_config.class.php 5 user_tags/include/t4u_content.class.php 6 user_tags/include/constants.inc.php 7 user_tags/include/default_values.inc.php 8 user_tags/maintain.inc.php 3 9 user_tags/MANIFEST 4 user_tags/maintain.inc.php 5 user_tags/template/add_tags.tpl 6 user_tags/template/admin.tpl 7 user_tags/js/jquery.addtags.js 8 user_tags/js/jquery.fcbkcomplete.js 10 user_tags/init.php 9 11 user_tags/main.inc.php 10 user_tags/language/fr_FR/help/readme.html 11 user_tags/language/fr_FR/help/index.php 12 user_tags/COPYING 13 user_tags/language/es_ES/plugin.lang.php 14 user_tags/language/es_ES/index.php 15 user_tags/language/es_ES/description.txt 16 user_tags/language/es_ES/help/index.php 17 user_tags/language/es_ES/help/readme.html 18 user_tags/language/en_UK/plugin.lang.php 19 user_tags/language/en_UK/index.php 20 user_tags/language/en_UK/description.txt 21 user_tags/language/en_UK/help/index.php 22 user_tags/language/en_UK/help/readme.html 23 user_tags/language/de_DE/plugin.lang.php 24 user_tags/language/de_DE/index.php 25 user_tags/language/de_DE/description.txt 26 user_tags/language/de_DE/help/index.php 27 user_tags/language/de_DE/help/readme.html 28 user_tags/language/lv_LV/plugin.lang.php 29 user_tags/language/lv_LV/index.php 30 user_tags/language/lv_LV/description.txt 31 user_tags/language/lv_LV/help/index.php 32 user_tags/language/lv_LV/help/readme.html 33 user_tags/language/no_NO/plugin.lang.php 34 user_tags/language/no_NO/index.php 35 user_tags/language/no_NO/description.txt 36 user_tags/language/no_NO/help/index.php 37 user_tags/language/no_NO/help/readme.html 38 user_tags/language/it_IT/plugin.lang.php 39 user_tags/language/it_IT/index.php 40 user_tags/language/it_IT/description.txt 41 user_tags/language/it_IT/help/index.php 42 user_tags/language/it_IT/help/readme.html 43 user_tags/language/zh_CN/plugin.lang.php 44 user_tags/language/zh_CN/index.php 45 user_tags/language/zh_CN/description.txt 46 user_tags/language/zh_CN/help/index.php 47 user_tags/language/zh_CN/help/readme.html 48 user_tags/language/hu_HU/plugin.lang.php 49 user_tags/language/hu_HU/index.php 50 user_tags/language/hu_HU/description.txt 51 user_tags/language/hu_HU/help/index.php 52 user_tags/language/hu_HU/help/readme.html 53 user_tags/language/fr_FR/plugin.lang.php 12 54 user_tags/language/fr_FR/index.php 13 55 user_tags/language/fr_FR/description.txt 14 user_tags/language/fr_FR/plugin.lang.php 15 user_tags/language/de_DE/help/readme.html 16 user_tags/language/de_DE/help/index.php 17 user_tags/language/de_DE/index.php 18 user_tags/language/de_DE/description.txt 19 user_tags/language/de_DE/plugin.lang.php 20 user_tags/language/no_NO/help/readme.html 21 user_tags/language/no_NO/help/index.php 22 user_tags/language/no_NO/index.php 23 user_tags/language/no_NO/description.txt 24 user_tags/language/no_NO/plugin.lang.php 56 user_tags/language/fr_FR/help/index.php 57 user_tags/language/fr_FR/help/readme.html 58 user_tags/language/templates/plugin.lang.php 25 59 user_tags/language/templates/index.php 26 user_tags/language/templates/plugin.lang.php 27 user_tags/language/en_UK/help/readme.html 28 user_tags/language/en_UK/help/index.php 29 user_tags/language/en_UK/index.php 30 user_tags/language/en_UK/description.txt 31 user_tags/language/en_UK/plugin.lang.php 32 user_tags/language/lv_LV/help/readme.html 33 user_tags/language/lv_LV/help/index.php 34 user_tags/language/lv_LV/index.php 35 user_tags/language/lv_LV/description.txt 36 user_tags/language/lv_LV/plugin.lang.php 37 user_tags/language/it_IT/help/readme.html 38 user_tags/language/it_IT/help/index.php 39 user_tags/language/it_IT/index.php 40 user_tags/language/it_IT/description.txt 41 user_tags/language/it_IT/plugin.lang.php 42 user_tags/language/es_ES/help/readme.html 43 user_tags/language/es_ES/help/index.php 44 user_tags/language/es_ES/index.php 45 user_tags/language/es_ES/description.txt 46 user_tags/language/es_ES/plugin.lang.php 47 user_tags/language/hu_HU/help/readme.html 48 user_tags/language/hu_HU/help/index.php 49 user_tags/language/hu_HU/index.php 50 user_tags/language/hu_HU/description.txt 51 user_tags/language/hu_HU/plugin.lang.php 60 user_tags/css/admin.css 61 user_tags/css/style.css 62 user_tags/css/imgs/close.png 63 user_tags/public.php 64 user_tags/admin.php 65 user_tags/imgs/edit.png 52 66 user_tags/CHANGELOG 53 user_tags/include/constants.inc.php 54 user_tags/include/t4u_content.class.php 55 user_tags/include/default_values.inc.php 56 user_tags/include/t4u_config.class.php 57 user_tags/include/t4u_admin_action.inc.php 58 user_tags/admin.php 59 user_tags/COPYING 60 user_tags/css/style.css 61 user_tags/css/admin.css 62 user_tags/css/imgs/close.png 63 user_tags/init.php 64 user_tags/public.php 65 user_tags/TODO 67 user_tags/template/admin.tpl 68 user_tags/template/add_tags.tpl -
extensions/user_tags/admin.php
r6846 r11081 3 3 // | User Tags - a plugin for Piwigo | 4 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2010 Nicolas Roudairehttp://www.nikrou.net |5 // | Copyright(C) 2010-2011 Nicolas Roudaire http://www.nikrou.net | 6 6 // +-----------------------------------------------------------------------+ 7 7 // | This program is free software; you can redistribute it and/or modify | … … 29 29 $save_config = false; 30 30 31 if (!empty($_GET['action']) && in_array($_GET['action'], array('add', 'get'))) { 32 include_once T4U_PLUGIN_ROOT . "/include/t4u_admin_action.inc.php"; 33 } 34 31 35 $status_options[null] = '----------'; 32 36 foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) { … … 38 42 && $_POST['permission_add']!=$me->getPermission('add')) { 39 43 $me->setPermission('add', $_POST['permission_add']); 40 array_push($GLOBALS['page']['infos'], l10n('Add permission updated'));44 $page['infos'][] = l10n('Add permission updated'); 41 45 $save_config = true; 42 46 } … … 44 48 && $_POST['permission_delete']!=$me->getPermission('delete')) { 45 49 $me->setPermission('delete', $_POST['permission_delete']); 46 array_push($GLOBALS['page']['infos'], l10n('Delete permission updated'));50 $page['infos'] = l10n('Delete permission updated'); 47 51 $save_config = true; 48 52 } … … 53 57 } 54 58 55 $ GLOBALS['template']->set_filenames(array('plugin_admin_content' => T4U_TEMPLATE . '/admin.tpl'));56 $ GLOBALS['template']->assign('T4U_CSS', T4U_CSS);59 $template->set_filenames(array('plugin_admin_content' => T4U_TEMPLATE . '/admin.tpl')); 60 $template->assign('T4U_CSS', T4U_CSS); 57 61 58 $ GLOBALS['template']->assign('T4U_PERMISSION_ADD', $me->getPermission('add'));59 $ GLOBALS['template']->assign('T4U_PERMISSION_DELETE', $me->getPermission('delete'));60 $ GLOBALS['template']->assign('STATUS_OPTIONS', $status_options);61 $ GLOBALS['template']->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');62 $template->assign('T4U_PERMISSION_ADD', $me->getPermission('add')); 63 $template->assign('T4U_PERMISSION_DELETE', $me->getPermission('delete')); 64 $template->assign('STATUS_OPTIONS', $status_options); 65 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 62 66 63 $ GLOBALS['template']->assign('U_HELP', get_root_url().'admin/popuphelp.php?page=readme');67 $template->assign('U_HELP', get_root_url().'admin/popuphelp.php?page=readme'); 64 68 ?> -
extensions/user_tags/css/style.css
r6818 r11081 8 8 .t4u-clickable{cursor:pointer;} 9 9 #t4u-addtags-form .t4u-disabled{color:#999;border-color:#666;} 10 ul.holder{margin:0;border:1px solid #999;overflow:hidden;padding:4px 5px;} 11 *:first-child+html ul.holder{padding-bottom:2px;} 12 * html ul.holder{padding-bottom:2px;} 13 ul.holder li{float:left;list-style-type:none;margin:2px 5px;white-space:nowrap;} 14 ul.holder li.bit-box{-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #CAD8F3;background:#DEE7F8;padding:1px 5px 2px 2px;} 15 ul.holder li.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff;} 16 ul.holder li.bit-input input{width:auto;overflow:visible;margin:0;border:0;outline:0;padding:3px 0 2px 2px;} 17 ul.holder li.bit-input input.smallinput{width:20px;} 18 #add{border:1px solid #999;width:550px;margin:50px;padding:20px 30px 10px 10px;} 19 form ol li{list-style-type:none;} 20 form ol{font:11px "Lucida Grande","Verdana";margin:0;padding:0;} 21 form ol li.input-text{margin-bottom:10px;list-style-type:none;padding-bottom:10px;} 22 form ol li.input-text label{font-weight:bold;cursor:pointer;display:block;font-size:13px;margin-bottom:10px;} 23 form ol li.input-text input{width:500px;padding:5px 5px 6px 6px;font:11px "Lucida Grande","Verdana";border:1px solid #999;} 24 form ul.holder{width:auto;max-width:500px;} 25 ul.holder li.bit-box{padding-right:15px;position:relative;z-index:1000;} 26 ul.holder li.bit-hover{background:#BBCEF1;border:1px solid #6D95E0;} 27 ul.holder li.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff;} 28 ul.holder li.bit-box a.closebutton{position:absolute;right:4px;top:5px;display:block;width:7px;height:7px;font-size:1px;background:url(./imgs/close.png);} 29 ul.holder li.bit-box a.closebutton:hover{background-position:7px;} 30 ul.holder li.bit-box-focus a.closebutton,ul.holder li.bit-box-focus a.closebutton:hover{background-position:bottom;} 31 .facebook-auto{display:none;position:absolute;width:512px;background:#eee;} 32 .facebook-auto .default{padding:5px 7px;border:1px solid #ccc;border-width:0 1px 1px;font-family:"Lucida Grande","Verdana";font-size:11px;} 33 .facebook-auto ul{display:none;margin:0;padding:0;overflow:auto;position:absolute;z-index:9999;} 34 .facebook-auto ul li{padding:5px 12px;z-index:1000;cursor:pointer;margin:0;list-style-type:none;border:1px solid #ccc;border-width:0 1px 1px;font:11px "Lucida Grande","Verdana";background-color:#eee;} 35 .facebook-auto ul li em{font-weight:bold;font-style:normal;background:#ccc;} 36 .facebook-auto ul li.auto-focus{background:#4173CC;color:#fff;} 37 .facebook-auto ul li.auto-focus em{background:none;} 38 .deleted{background-color:#4173CC!important;color:#fff!important;} 39 .ie6fix{height:1px;width:1px;position:absolute;top:0;left:0;z-index:1;} 10 ul.token-input-list-facebook{overflow:hidden;height:auto!important;height:1%;width:400px;border:1px solid #8496ba;cursor:text;font-size:12px;font-family:Verdana;min-height:1px;z-index:999;margin:0;padding:0;background-color:#fff;list-style-type:none;clear:left;} 11 ul.token-input-list-facebook li input{border:0;width:100px;padding:3px 8px;background-color:white;margin:2px 0;-webkit-appearance:caret;} 12 li.token-input-token-facebook,li.token-input-new-token-facebook{overflow:hidden;height:auto!important;height:15px;margin:3px;padding:1px 3px;background-color:#eff2f7;color:#000;cursor:default;border:1px solid #ccd5e4;font-size:11px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;float:left;white-space:nowrap;} 13 li.token-input-new-token-facebook{background-color:#FAF;} 14 li.token-input-token-facebook span{margin-left:5px;cursor:pointer;} 15 li.token-input-selected-token-facebook{background-color:#5670a6;border:1px solid #3b5998;color:#fff;} 16 li.token-input-input-token-facebook{float:left;margin:0;padding:0;list-style-type:none;} 17 div.token-input-dropdown-facebook{position:absolute;width:400px;background-color:#fff;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;cursor:default;font-size:11px;font-family:Verdana;z-index:1;} 18 div.token-input-dropdown-facebook p{margin:0;padding:5px;font-weight:bold;color:#777;} 19 div.token-input-dropdown-facebook ul{margin:0;padding:0;} 20 div.token-input-dropdown-facebook ul li{background-color:#fff;padding:3px;margin:0;list-style-type:none;} 21 div.token-input-dropdown-facebook ul li.token-input-dropdown-item-facebook{background-color:#fff;} 22 div.token-input-dropdown-facebook ul li.token-input-dropdown-item2-facebook{background-color:#fff;} 23 div.token-input-dropdown-facebook ul li em{font-weight:bold;font-style:normal;} 24 div.token-input-dropdown-facebook ul li.token-input-selected-dropdown-item-facebook{background-color:#3b5998;color:#fff;} -
extensions/user_tags/include/default_values.inc.php
r6806 r11081 3 3 // | User Tags - a plugin for Piwigo | 4 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2010 Nicolas Roudairehttp://www.nikrou.net |5 // | Copyright(C) 2010-2011 Nicolas Roudaire http://www.nikrou.net | 6 6 // +-----------------------------------------------------------------------+ 7 7 // | This program is free software; you can redistribute it and/or modify | -
extensions/user_tags/include/t4u_admin_action.inc.php
r9037 r11081 25 25 26 26 if (!empty($_GET['action']) && ($_GET['action']=='add') 27 && isset($_POST['tags']) && $ plugin_config->getPermission('add')) {27 && isset($_POST['tags']) && $me->getPermission('add')) { 28 28 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 29 29 … … 31 31 $_POST['tags'] = array(); 32 32 } 33 $tag_ids = get_fckb_tag_ids($_POST['tags']);33 $tag_ids = __get_tag_ids($_POST['tags']); 34 34 set_tags($tag_ids, $_POST['image_id']); 35 35 36 36 if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { 37 37 header("Content-Type: application/json"); 38 $message['info'] = 'Tags updated';38 $message['info'] = l10n('Tags updated'); 39 39 40 40 echo json_encode($message); 41 41 exit(); 42 42 } else { 43 redirect(get_ absolute_root_url().$_POST['referer']);43 redirect(get_root_url().$_POST['referer']); 44 44 } 45 } elseif (!empty($_GET['action']) && $_GET['action']=='get' && $plugin_config->getPermission('add') ) { 46 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 47 45 } elseif (!empty($_GET['action']) && $_GET['action']=='get' && $me->getPermission('add')) { 48 46 $query = ' 49 47 SELECT 50 48 id AS tag_id, 51 49 name AS tag_name 52 FROM '.TAGS_TABLE.' 53 ;'; 50 FROM '.TAGS_TABLE; 51 52 if (!empty($_GET['q'])) { 53 $query .= ' WHERE url_name like \'%'.pwg_db_real_escape_string($_GET['q']).'%\';'; 54 } else { 55 $query .= ';'; 56 } 54 57 header("Content-Type: application/json"); 55 echo json_encode( get_fckb_taglist($query));58 echo json_encode(__get_taglist($query)); 56 59 exit(); 57 60 } 61 62 /* 63 * temporary functions before piwigo 2.3 64 * See admin/include/functions.php in piwigo core 65 */ 66 function __get_taglist($query) { 67 $result = pwg_query($query); 68 69 $taglist = array(); 70 while ($row = pwg_db_fetch_assoc($result)) { 71 $taglist[] = array('name' => $row['tag_name'], 72 'id' => '~~'.$row['tag_id'].'~~' 73 ); 74 } 75 76 $cmp = create_function('$a,$b', 'return strcasecmp($a[\'name\'], $b[\'name\']);'); 77 usort($taglist, $cmp); 78 79 return $taglist; 80 } 81 82 function __get_tag_ids($raw_tags) { 83 $tag_ids = array(); 84 $raw_tags = explode(',',$raw_tags); 85 86 foreach ($raw_tags as $raw_tag) { 87 if (preg_match('/^~~(\d+)~~$/', $raw_tag, $matches)) { 88 $tag_ids[] = $matches[1]; 89 } else { 90 $tag_ids[] = tag_id_from_tag_name($raw_tag); 91 } 92 } 93 94 return $tag_ids; 95 } 58 96 ?> -
extensions/user_tags/include/t4u_config.class.php
r9037 r11081 99 99 } 100 100 101 public function getActionUrl($ base_url, $action) {102 global $conf;103 104 $url = $base_url;105 if ($conf['question_mark_in_urls']) { 106 $url .= '&';101 public function getActionUrl($action, $method='POST') { 102 $url = get_root_url().'admin.php?page=plugin'; 103 $file = basename($this->plugin_dir) . '/' .'admin.php'; 104 if (strtoupper($method)=='POST') { 105 $url .= '&section='.urlencode($file); 106 $url .= '&action='.urlencode($action); 107 107 } else { 108 $url .= '?'; 108 $url .= '§ion='.$file; 109 $url .= '&action='.$action; 109 110 } 110 $url .= 'action='.$action;111 111 112 112 return $url; -
extensions/user_tags/include/t4u_content.class.php
r9037 r11081 30 30 31 31 if (!$this->plugin_config->hasPermission('add')) { 32 return $content; 33 } 34 35 load_language('plugin.lang', T4U_PLUGIN_LANG); 36 37 if (version_compare(PHPWG_VERSION, '2.2', '>=') || (PHPWG_VERSION=='Colibri')) { 38 $template->func_combine_script(array('id' => 'jquery', 39 'path' => 'themes/default/js/jquery.min.js' 40 ), 41 $template->smarty 42 ); 43 } else { 44 $template->func_known_script(array('id' => 'jquery', 45 'src' => get_root_url().'themes/default/js/jquery.packed.js' 46 ), 47 $template->smarty 48 ); 32 return false; 49 33 } 50 34 … … 52 36 $template->assign('T4U_CSS', T4U_CSS); 53 37 $template->assign('T4U_IMGS', T4U_IMGS); 54 $template->assign('T4U_ADD_SCRIPT', $this->plugin_config->getActionUrl( $picture['url'], 'add'));55 $template->assign('T4U_GET_SCRIPT', $this->plugin_config->getActionUrl( $picture['url'], 'get'));38 $template->assign('T4U_ADD_SCRIPT', $this->plugin_config->getActionUrl('add', 'GET')); 39 $template->assign('T4U_GET_SCRIPT', $this->plugin_config->getActionUrl('get', 'GET')); 56 40 $template->assign('T4U_IMAGE_ID', $picture['id']); 57 $template->assign('T4U_REFERER', htmlentities($picture['url']));41 $template->assign('T4U_REFERER', urlencode($picture['url'])); 58 42 $template->assign('T4U_PERMISSION_DELETE', $this->plugin_config->hasPermission('delete')); 59 43 -
extensions/user_tags/js/jquery.addtags.js
r9037 r11081 1 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('( 4($){$.l=4(u,3){$(u).n(\'\');$(u).Y().m(3).13(Q).X(1c)};$.R.l=4(3){9.T(4(){U $.l(9,3)})};K 9})(15);4 D(3){c h=\'12: \';$(\'#2-r\').C(\'2-7\').y(\'7\',\'7\');g(3.A){h=\'<a t="S">\'+8[3.A]+\'</a>\'}W g(3.M){h=\'<a t="Z">\'+8[3.M]+\'</a>\'}g(h!=\'\'){$(\'#o p.f\').m(\'<a 6="P-O"></a>\');$(\'#P-O\').l(h)}}4 x(1a){$(\'#2-r\').11(\'2-7\').17(\'7\');K}$(4(){c 5=\'<i 14="\'+b[\'L\']+\'" 16="F" 6="2-G-i">\';5+=\'<B 6="d" q="d">\';5+=1b;5+=\'</B>\';5+=\'<v 6="2-19-6" s="I" q="18" f="\'+b[\'10\']+\'">\';5+=\'<v 6="2-H" s="I" q="H" f="\'+b[\'V\']+\'">\';5+=\'<v 6="2-r" s="E" 7="7" t="2-7" f="\'+8[\'1u\']+\'">\';5+=\'</i>\';g($(\'#o\').1A>0){$(\'#o p.1B\').m(\'<1z 6="2-1y" 1w="\'+b[\'1x\']+\'" 1D="\'+8[\'z\']+\'">\').y(\'1d\',8[\'z\']).C(\'2-1I\').J(4(){$(9).1K(\'J\');c w=$(9).1J().1H(\'p.f\');c 1E=w.n();w.n(5);$(\'#d\').1F({1C:b[\'1v\'],1j:8[\'1k\'],1i:N,1h:N,1e:j,1f:j,1g:j,1l:x,1m:x,1s:1t,1r:j});$(\'#2-G-i\').E(4(e){c k=$(9).1q();g(k.1n(\'d%1o%1p=\')==-1){k+=\'&d=\'}$.F(b[\'L\'],k,4(3){D(3)});e.1G()})})}});',62,109,'||t4u|data|function|newRow|id|disabled|vocab|this|div|path|var|tags||value|if|message|form|true|serialized_form|flashMessage|append|html|Tags|td|name|update|type|class|source|input|tags_value|t4u_onchange|attr|click_to_add_tags|info|select|addClass|t4u_form_sucess|submit|post|addtags|referer|hidden|click|return|t4u_add_script|error|false|messages|flash|500|fn|infos|each|new|t4u_referer|else|fadeOut|hide|errors|t4u_image_id|removeClass|Message|fadeIn|action|jQuery|method|removeAttr|image_id|image|item|related_tags|3000|title|filter_hide|firstselected|filter_selected|filter_case|cache|complete_text|start_to_type|onremove|onselect|lastIndexOf|5B|5D|serialize|newel|maxitems|100|update_tags|t4u_get_script|src|t4u_edit_icon|edit|img|length|label|json_url|alt|old_tags_value|fcbkcomplete|preventDefault|find|clickable|parent|unbind'.split('|'),0,{}))1 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(6($){7 3e={1Y:"4G 4F a 4I 2u",2i:"4K u",2v:"4C...",3v:"&4x;",42:4z,2F:1,1a:C,1v:C,2J:"4H",4h:"55",3S:"q",2A:",",2I:H,2H:C,3x:H,4q:1D,15:C,2z:C,2x:C,2s:H};7 25={3l:"c-y-4Z",c:"c-y-c",3t:"c-y-4R-c",3C:"c-y-1l-c",2n:"c-y-3u-c",2V:"c-y-4W-c",E:"c-y-E",4i:"c-y-E-B",4j:"c-y-E-4V",2p:"c-y-3u-E-B",3i:"c-y-y-c"};7 U={2j:0,1X:1,1p:2};7 x={3j:8,3s:9,3q:13,3p:27,54:32,4X:33,4Y:34,1p:35,4U:36,26:37,24:38,2b:39,2c:40,3K:4T,3n:4P};$.4a.3Z=6(1c,1N){7 3=$.2S({},3e,1N||{});r k.O(6(){1l $.1O(k,1c,3)})};$.1O=6(y,1c,3){4(3k(1c)==="4Q"){3.T=1c;4(3.22===50){4(3.T.2O("://")===-1){3.22=H}j{3.22=(58.59.1w(/\\/+/g)[1]!==3.T.1w(/\\/+/g)[1])}}}j 4(3k(1c)==="5a"){3.2P=1c}4(3.t){3.t=$.2S({},25,3.t)}j 4(3.2D){3.t={};$.O(25,6(3f,h){3.t[3f]=h+"-"+3.2D})}j{3.t=25}7 R=[];7 1b=0;7 1I=1l $.1O.45();7 2o;7 1E;7 m=$("<y 1B=\\"2q\\" 56=\\"52\\">").17({51:"53"}).W(6(){4(3.1a===C||3.1a!==1b){4p()}}).1K(6(){14()}).4N("5c 3B 1K 29",3A).3B(6(o){7 Y;7 1f;4y(o.X){P x.26:P x.2b:P x.24:P x.2c:4(!$(k).v()){Y=S.2U();1f=S.3D();4((Y.D&&Y.A(0)===w)||(1f.D&&1f.A(0)===w)){4(o.X===x.26||o.X===x.24){18($(w),U.2j)}j{18($(w),U.1X)}}j 4((o.X===x.26||o.X===x.24)&&Y.D){1g($(Y.A(0)))}j 4((o.X===x.2b||o.X===x.2c)&&1f.D){1g($(1f.A(0)))}}j{7 1r=C;4(o.X===x.2c||o.X===x.2b){1r=$(N).3D()}j{1r=$(N).2U()}4(1r.D){20(1r)}r H}1L;P x.3j:Y=S.2U();4(!$(k).v().D){4(w){2C($(w))}j 4(Y.D){1g($(Y.A(0)))}r H}j 4($(k).v().D===1){14()}j{2g(6(){2k()},5)}1L;P x.3s:P x.3q:P x.3K:P x.3n:4(N){2B($(N));r H}j 4(3.2s){4($(k).v().D>0){2f($(k).v(),$(k).v(),1D);$(k).v("")}r H}1L;P x.3p:14();r 1D;4A:4(4t.4v(o.4S)){2g(6(){2k()},5)}1L}});7 K=$(y).1h().v("").W(6(){m.W()}).1K(6(){m.1K()});7 w=C;7 M=0;7 N=C;7 19=$("<4n />").I(3.t.3l).1G(6(o){7 n=$(o.1t).1n("n");4(n&&n.A(0)&&$.f(n.A(0),"1j")){3G(n)}j{4(w){18($(w),U.1p)}m.W()}}).4m(6(o){7 n=$(o.1t).1n("n");4(n&&w!==k){n.I(3.t.2V)}}).5d(6(o){7 n=$(o.1t).1n("n");4(n&&w!==k){n.23(3.t.2V)}}).2h(K);7 S=$("<n />").I(3.t.3i).1k(19).1A(m);7 E=$("<1d>").I(3.t.E).1k("5Q").1h();7 2Q=$("<5L/>").2K(m).17({1o:"3o",2Z:-3h,2y:-3h,2X:"5G",3I:m.17("3I"),3F:m.17("3F"),3z:m.17("3z"),3y:m.17("3y"),5I:"5S"});K.v("");7 G=3.2H||K.f("5J");4(3.3x&&$.1u(3.15)){G=3.15.1y(K,G)}4(G&&G.D){$.O(G,6(J,h){2l(h.d,h.z)})}6 3A(){4(1E===(1E=m.v())){r}7 3E=1E.1s(/&/g,\'&5V;\').1s(/\\s/g,\' \').1s(/</g,\'&5T;\').1s(/>/g,\'&5U;\');2Q.16(3E);m.2X(2Q.2X()+30)}6 5Y(V){r((V>=48&&V<=5D)||(V>=5m&&V<=5l)||(V>=5n&&V<=5o)||(V>=5p&&V<=5j))}6 3w(d,h){3a(d,h,3.t.3C)}6 2l(d,h){3a(d,h,3.t.c)}6 3a(d,h,3N){7 1Q=$("<n><1P>"+h+"</1P></n>").I(3N).2h(S);$("<1P>"+3.3v+"</1P>").I(3.t.3t).1k(1Q).1G(6(){2C($(k).3U());r H});7 12={"d":d,"z":h};$.f(1Q.A(0),"1j",12);R=R.1T(0,M).2G([12]).2G(R.1T(M));M++;7 1Z=$.3r(R,6(21){r 21.d});K.v(1Z.3c(3.2A));1b+=1;r 1Q}6 2B(B){7 12=$.f(B.A(0),"1j")2f(12.d,12.z,H)}6 2f(d,z,3O){7 G={d:d,z:z};7 1i=3.2z;4(1b>0&&3.2I){7 1q=C;19.1R().O(6(){7 2L=$(k);7 2e=$.f(2L.A(0),"1j");4(2e&&2e.d===G.d){1q=2L;r H}});4(1q){1g(1q);S.2K(1q);m.W();r}}4(3O){3w(G.d,G.z)}j{2l(G.d,G.z)}4(3.1a!==C&&1b>=3.1a){m.1h();14();r}j{m.W()}m.v("");14();4($.1u(1i)){1i.1y(K,G)}}6 1g(c){c.I(3.t.2n);w=c.A(0);m.v("");14()}6 18(c,1o){c.23(3.t.2n);w=C;4(1o===U.2j){S.2h(c);M--}j 4(1o===U.1X){S.2K(c);M++}j{S.1k(19);M=1b}m.W()}6 3G(c){7 3M=w;4(w){18($(w),U.1p)}4(3M===c.A(0)){18(c,U.1p)}j{1g(c)}}6 2C(c){7 12=$.f(c.A(0),"1j");7 1i=3.2x;7 J=c.5B().D;4(J>M)J--;c.4e();w=C;m.W();R=R.1T(0,J).2G(R.1T(J+1));4(J<M)M--;7 1Z=$.3r(R,6(21){r 21.d});K.v(1Z.3c(3.2A));1b-=1;4(3.1a!==C){m.2r().v("").W()}4($.1u(1i)){1i.1y(K,12)}}6 14(){E.1h().4l();N=C}6 1x(){E.17({1o:"3o",2Z:$(19).4r().2Z+$(19).5P(),2y:$(19).4r().2y,5w:5v}).2r()}6 41(){4(3.2v){E.16("<p>"+3.2v+"</p>");1x()}}6 4p(){4(3.1Y){E.16("<p>"+3.1Y+"</p>");1x()}}6 4k(h,2u){r h.1s(1l 5u("(?![^&;]+;)(?!<[^<>]*)("+2u+")(?![^<>]*>)(?![^&;]+;)","5s"),"<b>$1</b>")}6 1J(l,u){4(u&&u.D){E.4l();7 1V=$("<4n>").1k(E).4m(6(o){20($(o.1t).1n("n"))}).5t(6(o){2B($(o.1t).1n("n"));r H}).1h();$.O(u,6(J,h){7 1z=$("<n>"+4k(h.z,l)+"</n>").1k(1V);4(J%2){1z.I(3.t.4i)}j{1z.I(3.t.4j)}4(J===0){20(1z)}$.f(1z.A(0),"1j",{"d":h.d,"z":h.z})});1x();4(3.4q){1V.5A("5z")}j{1V.2r()}}j{4(3.2i){E.16("<p>"+3.2i+"</p>");1x()}}}6 20(B){4(B){4(N){3Y($(N))}B.I(3.t.2p);N=B.A(0)}}6 3Y(B){B.23(3.t.2p);N=C}6 2k(){7 l=m.v().1F();4(l&&l.D){4(w){18($(w),U.1X)}4(l.D>=3.2F){41();5g(2o);2o=2g(6(){3X(l)},3.42)}j{14()}}}6 3X(l){7 2E=1I.A(l);4(2E){1J(l,2E)}j{4(3.T){7 L={};L.f={};4(3.T.2O("?")>-1){7 2M=3.T.1w("?");L.T=2M[0];7 3W=2M[1].1w("&");$.O(3W,6(J,h){7 3b=h.1w("=");L.f[3b[0]]=3b[1]})}j{L.T=3.T}L.f[3.3S]=l;L.1B=3.2J;L.3R=3.4h;4(3.22){L.3R="5E"}L.5k=6(u){4($.1u(3.15)){u=3.15.1y(K,u)}1I.2W(l,3.1v?u[3.1v]:u);4(m.v().1F()===l){1J(l,3.1v?u[3.1v]:u)}};$.5Z(L)}j 4(3.2P){7 u=$.5W(3.2P,6(4d){r 4d.z.1F().2O(l.1F())>-1});4($.1u(3.15)){u=3.15.1y(K,u)}1I.2W(l,u);1J(l,u)}}}};$.1O.45=6(1N){7 3=$.2S({47:46},1N);7 f={};7 1M=0;7 49=6(){f={};1M=0};k.2W=6(l,u){4(1M>3.47){49()}4(!f[l]){1M+=1}f[l]=u};k.A=6(l){r f[l]}}}(4f));(6($){$.28=6(2T,f){$(2T).16(\'\');$(2T).1h().1A(f).4M(46).4E(4D)};$.4a.28=6(f){k.O(6(){1l $.28(k,f)})};r k})(4f);6 2w(B){2N.2Y(\'2w\');2N.2Y(B);$(\'#Z\').1A(\'<1C h="\'+B.d+\'">\'+B.z+\'</1C>\');2a()}6 3m(B){$(\'#Z\').1R(\'1C\').O(6(i){4($(k).2q()==B.z){$(k).4e()}});2a()}6 2a(B){2N.2Y(\'2a\');$(\'#F-29\').23(\'F-11\').4w(\'11\');r}6 3J(f){7 1m=\'\';$(\'#F-29\').I(\'F-11\').1H(\'11\',\'11\');4(f.4c){1m=\'<1d 2m="4s">\'+f.4c+\'</1d>\'}j 4(f.44){1m=\'<1d 2m="4B">\'+f.44+\'</1d>\'}4(1m!=\'\'){$(\'#2R 31.h\').1A(\'<1d d="43-3V"></1d>\');$(\'#43-3V\').28(1m)}}$(6(){7 Q=\'<1U 57="\'+1e[\'3g\']+\'" 2J="3P" d="F-3d-1U">\';Q+=\'<3T d="Z" z="Z">\';Q+=5b;Q+=\'</3T>\';Q+=\'<y d="F-3L-d" 1B="4g" z="3H" h="\'+1e[\'4O\']+\'">\';Q+=\'<y d="F-1S" 1B="4g" z="1S" h="\'+1e[\'5y\']+\'">\';Q+=\'<y d="F-29" 1B="3Q" 11="11" 2m="F-11" h="\'+1W[\'4u\']+\'">\';Q+=\'</1U>\';4($(\'#2R\').D>0){$(\'#2R 31.4L\').1A(\'<5N d="F-5M" 5O="\'+1e[\'5K\']+\'" 5F="\'+1W[\'4b\']+\'">\').1H(\'5H\',1W[\'4b\']).I(\'F-5R\').1G(6(){$(k).5X(\'1G\');7 2d=$(k).3U().5f(\'31.h\');7 5e=2d.16();2d.16(Q);7 2t=[];$(\'#Z\').1R(\'1C\').O(6(){2t.5h({d:$(k).1H(\'d\'),z:$(k).2q()})});$.5i(1e[\'5q\'],6(f){$(\'#Z\').3Z(f,{1Y:1W[\'5r\'],2D:\'5C\',2F:2,1a:5x,2I:1D,2H:2t,2x:3m,2z:2w,2s:1D})});$(\'#F-3d-1U\').3Q(6(e){e.4o();7 10=\'3H=\'+$(\'#F-3L-d\',$(k)).v();10+=\'&1S=\'+$(\'#F-1S\',$(k)).v();10+=\'&Z=\';$(\'#Z\').1R(\'1C\').O(6(i){10+=$(k).1H(\'h\')+\',\'});10=10.4J(0,10.D-1);$.3P(1e[\'3g\'],10,6(f){3J(f)});e.4o()})})}});',62,372,'|||settings|if||function|var|||||token|id||data||value||else|this|query|input_box|li|event|||return||classes|results|val|selected_token|KEY|input|name|get|item|null|length|dropdown|t4u|li_data|false|addClass|index|hidden_input|ajax_params|selected_token_index|selected_dropdown_item|each|case|newRow|saved_tokens|input_token|url|POSITION|keycode|focus|keyCode|previous_token|tags|serialized_form|disabled|token_data||hide_dropdown|onResult|html|css|deselect_token|token_list|tokenLimit|token_count|url_or_data|div|path|next_token|select_token|hide|callback|tokeninput|appendTo|new|message|closest|position|END|found_existing_token|dropdown_item|replace|target|isFunction|jsonContainer|split|show_dropdown|call|this_li|append|type|option|true|input_val|toLowerCase|click|attr|cache|populate_dropdown|blur|break|size|options|TokenList|span|this_token|children|referer|slice|form|dropdown_ul|vocab|AFTER|hintText|token_ids|select_dropdown_item|el|crossDomain|removeClass|UP|DEFAULT_CLASSES|LEFT||flashMessage|update|t4u_on_change|RIGHT|DOWN|tags_value|existing_data|_add_token|setTimeout|insertBefore|noResultsText|BEFORE|do_search|insert_token|class|selectedToken|timeout|selectedDropdownItem|text|show|allowNewItems|existing_tags|term|searchingText|t4u_on_add|onDelete|left|onAdd|tokenDelimiter|add_token|delete_token|theme|cached_results|minChars|concat|prePopulate|preventDuplicates|method|insertAfter|existing_token|parts|console|indexOf|local_data|input_resizer|Tags|extend|source|prev|highlightedToken|add|width|log|top||td|||||||||_insert_token|kv|join|addtags|DEFAULT_SETTINGS|key|t4u_add_script|9999|inputToken|BACKSPACE|typeof|tokenList|t4u_on_delete|COMMA|absolute|ESCAPE|ENTER|map|TAB|tokenDelete|selected|deleteText|insert_new_token|processPrePopulate|letterSpacing|fontWeight|resize_input|keydown|tokenNew|next|escaped|fontFamily|toggle_select_token|image_id|fontSize|t4u_form_sucess|NUMPAD_ENTER|image|previous_selected_token|className|new_token|post|submit|dataType|queryParam|select|parent|messages|param_array|run_search|deselect_dropdown_item|tokenInput||show_dropdown_searching|searchDelay|flash|error|Cache|500|max_size||flush|fn|click_to_add_tags|info|row|remove|jQuery|hidden|contentType|dropdownItem|dropdownItem2|highlight_term|empty|mouseover|ul|preventDefault|show_dropdown_hint|animateDropdown|offset|infos|String|update_tags|fromCharCode|removeAttr|times|switch|300|default|errors|Searching|3000|fadeOut|in|Type|GET|search|substring|No|label|fadeIn|bind|t4u_image_id|188|string|delete|which|108|HOME|item2|highlighted|PAGE_UP|PAGE_DOWN|list|undefined|outline|off|none|SPACE|json|autocomplete|action|location|href|object|related_tags|keyup|mouseout|old_tags_value|find|clearTimeout|push|getJSON|222|success|111|96|186|192|219|t4u_get_script|start_to_type|gi|mousedown|RegExp|999|zindex|100|t4u_referer|fast|slideDown|prevAll|facebook|90|jsonp|alt|auto|title|whiteSpace|pre|t4u_edit_icon|tester|edit|img|src|outerHeight|body|clickable|nowrap|lt|gt|amp|grep|unbind|is_printable_character|ajax'.split('|'),0,{})) -
extensions/user_tags/language/en_UK/plugin.lang.php
r6798 r11081 3 3 // | User Tags - a plugin for Piwigo | 4 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2010 Nicolas Roudairehttp://www.nikrou.net |5 // | Copyright(C) 2010-2011 Nicolas Roudaire http://www.nikrou.net | 6 6 // +-----------------------------------------------------------------------+ 7 7 // | This program is free software; you can redistribute it and/or modify | … … 20 20 // +-----------------------------------------------------------------------+ 21 21 22 // only to change default values (see language/templates/plugin.lang.php) 22 /* 23 * The purpose of that file is to provide a way to overwrite 24 * default translation. 25 * See language/templates/plugin.lang.php for available keys 26 */ 23 27 ?> -
extensions/user_tags/language/templates/plugin.lang.php
r6813 r11081 20 20 // +-----------------------------------------------------------------------+ 21 21 22 // admin 23 $lang['Add permission updated'] = ''; 24 $lang['Be careful, whatever the configuration value is, new tag can be deleted anyway'] = ''; 25 $lang['Delete permission updated'] = ''; 26 $lang['Submit'] = ''; 27 $lang['Tags updated'] = ''; 28 $lang['That plugin allow visitors to add tags to image.'] = ''; 29 $lang['User Tags'] = ''; 30 $lang['Who can add tags?'] = ''; 31 $lang['Who can delete related tags?'] = ''; 32 $lang['You can choose which users (per status) can add and delete tags.'] = ''; 33 34 // public 22 35 $lang['Click to add tags'] = ''; 23 36 $lang['Start to type'] = ''; 24 37 $lang['Update tags'] = ''; 25 $lang['Tags updated'] = '';26 $lang['Cancel'] = '';27 28 // admin29 $lang['That plugin allow visitors to add tags to image.'] = '';30 $lang['You can choose which users (per status) can add and delete tags.'] = '';31 $lang['Be careful, whatever the configuration value is, new tag can be deleted anyway'] = '';32 $lang['Who can add tags?'] = '';33 $lang['Who can delete related tags?'] = '';34 35 $lang['Add permission updated'] = '';36 $lang['Delete permission updated'] = '';37 38 ?> -
extensions/user_tags/main.inc.php
r9284 r11081 22 22 /* 23 23 Plugin Name: User Tags 24 Version: 0. 4.224 Version: 0.5.0 25 25 Description: Allow visitors to add tag to images 26 26 Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=441 -
extensions/user_tags/maintain.inc.php
r6895 r11081 3 3 // | User Tags - a plugin for Piwigo | 4 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2010 Nicolas Roudairehttp://www.nikrou.net |5 // | Copyright(C) 2010-2011 Nicolas Roudaire http://www.nikrou.net | 6 6 // +-----------------------------------------------------------------------+ 7 7 // | This program is free software; you can redistribute it and/or modify | … … 36 36 $config_file = $GLOBALS['conf']['local_data_dir'].'/plugins/'; 37 37 $config_file .= basename(dirname(__FILE__)).'.dat'; 38 unlink($config_file); 38 if (file_exists($config_file)) { 39 unlink($config_file); 40 } 39 41 } 40 42 ?> -
extensions/user_tags/public.php
r6846 r11081 3 3 // | User Tags - a plugin for Piwigo | 4 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2010 Nicolas Roudairehttp://www.nikrou.net |5 // | Copyright(C) 2010-2011 Nicolas Roudaire http://www.nikrou.net | 6 6 // +-----------------------------------------------------------------------+ 7 7 // | This program is free software; you can redistribute it and/or modify | -
extensions/user_tags/template/add_tags.tpl
r9056 r11081 1 {html_head} 2 <script type="text/javascript" src="{$ROOT_URL}{$T4U_JS}/jquery.fcbkcomplete.js"></script> 3 <script type="text/javascript"> 1 {combine_css path="$T4U_CSS/style.css"} 2 {combine_script id="addtags" require="jquery" path="$T4U_JS/jquery.addtags.js"} 3 4 {footer_script require="addtags"} 4 5 var related_tags = ''; 5 var option_class = 'selected';6 {if ($T4U_PERMISSION_DELETE==false)}7 option_class += ' locked';8 {/if}9 6 {foreach from=$T4U_RELATED_TAGS item=tag key=id} 10 related_tags += '<option value="{$id}" class="'+option_class+'">{$tag}</option>';7 related_tags += '<option value="{$id}">{$tag}</option>'; 11 8 {/foreach} 12 9 var path = new Array(); … … 21 18 vocab['start_to_type'] = "{'Start to type'|@translate}..."; 22 19 vocab['update_tags'] = "{'Update tags'|@translate}"; 23 vocab['Tags updated'] = "{'Tags updated'|@translate}"; 24 </script> 25 <script type="text/javascript" src="{$ROOT_URL}{$T4U_JS}/jquery.addtags.js"></script> 26 <link rel="stylesheet" type="text/css" href="{$ROOT_URL}{$T4U_CSS}/style.css"> 27 {/html_head} 20 {/footer_script}
Note: See TracChangeset
for help on using the changeset viewer.