From: <ny...@us...> - 2008-07-18 15:33:28
|
Revision: 13717 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=13717&view=rev Author: nyloth Date: 2008-07-18 15:31:48 +0000 (Fri, 18 Jul 2008) Log Message: ----------- [FIX] fixes to make TikiWiki work on quite hostile environments (e.g. french ISP 'free.fr') where, for example, the path can't be modified (thx to Cyril Chaboisseau). Modified Paths: -------------- trunk/lib/setup/theme.php trunk/lib/sheet/grid.php trunk/lib/tikidate.php Modified: trunk/lib/setup/theme.php =================================================================== --- trunk/lib/setup/theme.php 2008-07-18 15:21:03 UTC (rev 13716) +++ trunk/lib/setup/theme.php 2008-07-18 15:31:48 UTC (rev 13717) @@ -22,7 +22,7 @@ $prefs['style'] = $userlib->get_user_group_theme($user); -include_once("csslib.php"); +include_once("lib/csslib.php"); if ($prefs['transition_style_ver'] && $prefs['transition_style_ver'] == 'css_specified_only') { $transition_style = $csslib->transition_css('styles/'.$prefs['style'], ''); } elseif ($prefs['transition_style_ver'] && $prefs['transition_style_ver'] != 'none') { Modified: trunk/lib/sheet/grid.php =================================================================== --- trunk/lib/sheet/grid.php 2008-07-18 15:21:03 UTC (rev 13716) +++ trunk/lib/sheet/grid.php 2008-07-18 15:31:48 UTC (rev 13717) @@ -9,7 +9,7 @@ ini_set( 'include_path', ini_get( 'include_path' ) . ":lib/sheet" ); // Nice dependencies, mostly for excel support. Don't try changing the order. -require_once( "PEAR.php" ); +require_once( "lib/pear/PEAR.php" ); require_once( "lib/sheet/excel/reader_ole.php" ); require_once( "lib/sheet/excel/reader.php" ); require_once( "lib/sheet/excel/writer/format.php" ); Modified: trunk/lib/tikidate.php =================================================================== --- trunk/lib/tikidate.php 2008-07-18 15:21:03 UTC (rev 13716) +++ trunk/lib/tikidate.php 2008-07-18 15:31:48 UTC (rev 13717) @@ -17,7 +17,7 @@ exit; } -require_once("Date.php"); +require_once("lib/pear/Date.php"); class TikiDate extends Date { var $trad = array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Mon","Tue","Wed","Thu","Fri","Sat","Sun","of"); var $translated_trad = array(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-07-18 20:03:09
|
Revision: 13732 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=13732&view=rev Author: sylvieg Date: 2008-07-18 20:03:18 +0000 (Fri, 18 Jul 2008) Log Message: ----------- [FIX]tracker: to have a value 0 in drop down not translated to empty string Modified Paths: -------------- trunk/lib/init/tra.php trunk/lib/smarty_tiki/block.tr.php Modified: trunk/lib/init/tra.php =================================================================== --- trunk/lib/init/tra.php 2008-07-18 17:57:58 UTC (rev 13731) +++ trunk/lib/init/tra.php 2008-07-18 20:03:18 UTC (rev 13732) @@ -7,7 +7,7 @@ function tra($content, $lg='', $no_interactive = false) { global $prefs; - if ($content) { + if ($content != '') { if ($prefs['lang_use_db'] != 'y') { global $lang; if ($lg != "") { Modified: trunk/lib/smarty_tiki/block.tr.php =================================================================== --- trunk/lib/smarty_tiki/block.tr.php 2008-07-18 17:57:58 UTC (rev 13731) +++ trunk/lib/smarty_tiki/block.tr.php 2008-07-18 20:03:18 UTC (rev 13732) @@ -18,7 +18,7 @@ include_once('lib/init/tra.php'); function smarty_block_tr($params, $content, &$smarty) { - if (empty($content) ) + if ($content == '') return; if (empty($params['lang'])) { $lang = ''; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ny...@us...> - 2008-07-27 13:22:44
|
Revision: 13900 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=13900&view=rev Author: nyloth Date: 2008-07-27 13:22:53 +0000 (Sun, 27 Jul 2008) Log Message: ----------- [FIX] tiki tabs: when using AJAX and tabs together, the current tab has to be set again after replacing content with the AJAX response, because it is usually done through the onload param of the body tag which is not included again in the AJAX response. This fixes, for example, the 'New Item' tab to be displayed under the 'List items' tab when using pagination links and AJAX in trackers. Modified Paths: -------------- trunk/lib/ajax/ajaxlib.php trunk/lib/ajax/tiki-ajax.js trunk/lib/smarty_tiki/block.ajax_href.php Modified: trunk/lib/ajax/ajaxlib.php =================================================================== --- trunk/lib/ajax/ajaxlib.php 2008-07-27 10:14:36 UTC (rev 13899) +++ trunk/lib/ajax/ajaxlib.php 2008-07-27 13:22:53 UTC (rev 13900) @@ -157,13 +157,26 @@ $ajaxlib = new TikiAjax(); $ajaxlib->registerFunction("loadComponent"); -function loadComponent($template, $htmlElementId) { - global $smarty, $ajaxlib; +function loadComponent($template, $htmlElementId, $max_tikitabs = 0) { + global $smarty, $ajaxlib, $prefs; $objResponse = new xajaxResponse(); if ($ajaxlib->templateIsRegistered($template)) { + $content = $smarty->fetch($template); $objResponse->addAssign($htmlElementId, "innerHTML", $content); + + // Handle TikiTabs in order to display only the current tab in the XAJAX response + // This has to be done here, since it is tikitabs() is usually called when loading the <body> tag + // which is not done again when replacing content by the XAJAX response + // + $max_tikitabs = (int)$max_tikitabs; + if ( $max_tikitabs > 0 && $prefs['feature_tabs'] == 'y' ) { + global $cookietab; + $tab = ( $cookietab != '' ) ? (int)$cookietab : 1; + $objResponse->addScript("tikitabs($tab,$max_tikitabs);"); + } + } else { $objResponse->addAlert(sprintf(tra("Template %s not registered"),$template)); } Modified: trunk/lib/ajax/tiki-ajax.js =================================================================== --- trunk/lib/ajax/tiki-ajax.js 2008-07-27 10:14:36 UTC (rev 13899) +++ trunk/lib/ajax/tiki-ajax.js 2008-07-27 13:22:53 UTC (rev 13900) @@ -1,6 +1,6 @@ -function loadComponent(url, template, htmlelement) { - xajaxRequestUri = url; - xajax_loadComponent(template, htmlelement); +function loadComponent(url, template, htmlelement, max_tikitabs) { + xajaxRequestUri = url; + xajax_loadComponent(template, htmlelement, max_tikitabs); } if (typeof xajax != "undefined") { xajax.loadingFunction = function() { Modified: trunk/lib/smarty_tiki/block.ajax_href.php =================================================================== --- trunk/lib/smarty_tiki/block.ajax_href.php 2008-07-27 10:14:36 UTC (rev 13899) +++ trunk/lib/smarty_tiki/block.ajax_href.php 2008-07-27 13:22:53 UTC (rev 13900) @@ -17,7 +17,8 @@ if ( $prefs['feature_ajax'] != 'y' || $prefs['javascript_enabled'] == 'n' ) { return " href=\"$url\" "; } else { - return " href=\"#\" onclick=\"loadComponent('$url','$template','$htmlelement');return false;\" "; + $max_tikitabs = 5; // Same value as in header.tpl, <body> tag onload's param + return " href=\"#\" onclick=\"loadComponent('$url','$template','$htmlelement',$max_tikitabs);return false;\" "; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-05 18:43:11
|
Revision: 14074 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14074&view=rev Author: lphuberdeau Date: 2008-08-05 18:43:19 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [NEW] Allow profiles to assign modules Modified Paths: -------------- trunk/lib/modules/modlib.php trunk/lib/profilelib/installlib.php Modified: trunk/lib/modules/modlib.php =================================================================== --- trunk/lib/modules/modlib.php 2008-08-05 17:37:23 UTC (rev 14073) +++ trunk/lib/modules/modlib.php 2008-08-05 18:43:19 UTC (rev 14074) @@ -24,7 +24,7 @@ } } - function assign_module($moduleId=0, $name, $title, $position, $order, $cache_time = 0, $rows = 10, $groups, $params,$type) { + function assign_module($moduleId=0, $name, $title, $position, $order, $cache_time = 0, $rows = 10, $groups = null, $params = null,$type = null) { //check for valid values $cache_time = is_numeric($cache_time) ? $cache_time : 0; $rows = is_numeric($rows) ? $rows : 10; Modified: trunk/lib/profilelib/installlib.php =================================================================== --- trunk/lib/profilelib/installlib.php 2008-08-05 17:37:23 UTC (rev 14073) +++ trunk/lib/profilelib/installlib.php 2008-08-05 18:43:19 UTC (rev 14074) @@ -10,6 +10,7 @@ 'wiki_page' => 'Tiki_Profile_InstallHandler_WikiPage', 'category' => 'Tiki_Profile_InstallHandler_Category', 'file_gallery' => 'Tiki_Profile_InstallHandler_FileGallery', + 'module' => 'Tiki_Profile_InstallHandler_Module', ); function __construct() // {{{ @@ -735,6 +736,54 @@ } } // }}} +class Tiki_Profile_InstallHandler_Module extends Tiki_Profile_InstallHandler // {{{ +{ + function getData() + { + if( $this->data ) + return $this->data; + + $defaults = array( + 'cache' => 0, + 'rows' => 10, + 'groups' => array(), + 'params' => array(), + ); + + $data = array_merge( + $defaults, + $this->obj->getData() + ); + + $data['groups'] = serialize( $data['groups'] ); + $data['params'] = http_build_query( $data['params'], '', '&' ); + + return $this->data = $data; + } + + function canInstall() + { + $data = $this->getData(); + if( ! isset( $data['name'], $data['position'], $data['order'] ) ) + return false; + + return true; + } + + function _install() + { + global $modlib; + if( ! $modlib ) require_once 'lib/modules/modlib.php'; + + $data = $this->getData(); + $data['position'] = ($data['position'] == 'left') ? 'l' : 'r'; + + $this->obj->replaceReferences( $data ); + + return $modlib->assign_module( 0, $data['name'], null, $data['position'], $data['order'], $data['cache'], $data['rows'], $data['groups'], $data['params'] ); + } +} // }}} + interface Tiki_Profile_Converter { function convert( $value ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-05 22:05:58
|
Revision: 14080 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14080&view=rev Author: sylvieg Date: 2008-08-05 22:06:04 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [MRG] Automatic merge, branches/2.0 14049 to 14076 Modified Paths: -------------- trunk/lib/setup/sanitization.php trunk/lib/tikilib.php Modified: trunk/lib/setup/sanitization.php =================================================================== --- trunk/lib/setup/sanitization.php 2008-08-05 22:02:06 UTC (rev 14079) +++ trunk/lib/setup/sanitization.php 2008-08-05 22:06:04 UTC (rev 14080) @@ -57,7 +57,7 @@ // keep replacing as long as the previous round replaced something while ( RemoveXSSregexp($ra_as_tag_only, $val, '(\<|\[\\\\xC0\]\[\\\\xBC\])') || RemoveXSSregexp($ra_as_attribute, $val) - || RemoveXSSregexp($ra_as_content, $val, '[\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\|\:;\-\/`#"\']') + || RemoveXSSregexp($ra_as_content, $val, '[\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\|\:;\-\/`#"\']', '(?![a-z0-9])') || RemoveXSSregexp($ra_javascript, $val, '', ':', true) || RemoveXSSregexp($ra_style, $val, '[^a-z0-9]', '=') ); @@ -90,8 +90,13 @@ $pattern_end = '/i'; if ( $suffix != '' ) { - $pattern_end = '(' . $pattern_sep . '\s*' . $suffix . ')' . $pattern_end; - if ( $suffix == '=' || $suffix == ':' ) $replacement_end = $suffix; + if ( $suffix == '=' || $suffix == ':' ) { + $replacement_end = $suffix; + $pattern_end = '(' . $pattern_sep . '\s*' . $suffix . ')' . $pattern_end; + } else { + $replacement_end = ''; + $pattern_end = $suffix . $pattern_end; + } } else { $replacement_end = ''; } Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-08-05 22:02:06 UTC (rev 14079) +++ trunk/lib/tikilib.php 2008-08-05 22:06:04 UTC (rev 14080) @@ -5510,11 +5510,19 @@ } } + + /* <x> XSS Sanitization handling */ + // Converts <x> (<x> tag using HTML entities) into the tag <x>. This tag comes from the input sanitizer (XSS filter). // This is not HTML valid and avoids using <x> in a wiki text, // but hide '<x>' text inside some words like 'style' that are considered as dangerous by the sanitizer. $data = str_replace('<x>', '<x>', $data); + // Fix false positive in wiki syntax + // It can't be done in the sanitizer, that can't know if the input will be wiki parsed or not + $data = preg_replace('/(\{img [^\}]+li)<x>(nk[^\}]+\})/i', '\\1\\2', $data); + + // Replace dynamic content occurrences if (preg_match_all("/\{content +id=([0-9]+)\}/", $data, $dcs)) { $temp_max = count($dcs[0]); @@ -6065,23 +6073,26 @@ preg_match_all("/(\{img [^\}]+\})/", $data, $pages); foreach (array_unique($pages[1])as $page_parse) { - $parts = $this->split_tag( $page_parse); + $parts = $this->split_tag( $page_parse); - $imgdata = array(); // pre-set preferences - $imgdata["src"] = ''; - $imgdata["height"] = ''; - $imgdata["width"] = ''; - $imgdata["link"] = ''; - $imgdata["rel"] = ''; - $imgdata["title"] = ''; - $imgdata["align"] = ''; - $imgdata["desc"] = ''; - $imgdata["imalign"] = ''; - $imgdata["alt"] = ''; - $imgdata["usemap"] = ''; - $imgdata["class"] = ''; - $imgdata = $this->split_assoc_array( $parts, $imgdata); + $imgdata = array(); // pre-set preferences + $imgdata["src"] = ''; + $imgdata["height"] = ''; + $imgdata["width"] = ''; + $imgdata["lnk"] = ''; + $imgdata["rel"] = ''; + $imgdata["title"] = ''; + $imgdata["align"] = ''; + $imgdata["desc"] = ''; + $imgdata["imalign"] = ''; + $imgdata["alt"] = ''; + $imgdata["usemap"] = ''; + $imgdata["class"] = ''; + $imgdata = $this->split_assoc_array( $parts, $imgdata ); + // Support both 'link' and 'lnk' syntax + if ( isset($imgdata['link']) && $imgdata['lnk'] == '' ) $imgdata['lnk'] = $imgdata['link']; + if (stristr(str_replace(' ', '', $imgdata["src"]),'javascript:')) { $imgdata["src"] = ''; } @@ -6131,14 +6142,14 @@ $repl .= ' />'; - if ($imgdata["link"]) { + if ($imgdata["lnk"]) { $imgtarget= ''; - if ($prefs['popupLinks'] == 'y' && (preg_match('#^([a-z0-9]+?)://#i', $imgdata['link']) || preg_match('#^www\.([a-z0-9\-]+)\.#i',$imgdata['link']))) { + if ($prefs['popupLinks'] == 'y' && (preg_match('#^([a-z0-9]+?)://#i', $imgdata['lnk']) || preg_match('#^www\.([a-z0-9\-]+)\.#i',$imgdata['lnk']))) { $imgtarget = ' target="_blank"'; } if ($imgdata['rel']) $linkrel = ' rel="'.$imgdata['rel'].'"'; if ($imgdata['title']) $linktitle = ' title="'.$imgdata['title'].'"'; - $repl = '<a href="'.$imgdata["link"].'"'.$linkrel.$imgtarget.$linktitle.'>' . $repl . '</a>'; + $repl = '<a href="'.$imgdata["lnk"].'"'.$linkrel.$imgtarget.$linktitle.'>' . $repl . '</a>'; } if ($imgdata["desc"]) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-07 18:04:51
|
Revision: 14118 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14118&view=rev Author: lphuberdeau Date: 2008-08-07 18:04:54 +0000 (Thu, 07 Aug 2008) Log Message: ----------- [MOD] Make plugin UI optional and allow to disable plugins independantly Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/lib/tikilib.php trunk/lib/wiki-plugins/wikiplugin_agentinfo.php trunk/lib/wiki-plugins/wikiplugin_alink.php trunk/lib/wiki-plugins/wikiplugin_aname.php trunk/lib/wiki-plugins/wikiplugin_annotation.php trunk/lib/wiki-plugins/wikiplugin_article.php trunk/lib/wiki-plugins/wikiplugin_articles.php trunk/lib/wiki-plugins/wikiplugin_attach.php trunk/lib/wiki-plugins/wikiplugin_avatar.php trunk/lib/wiki-plugins/wikiplugin_backlinks.php trunk/lib/wiki-plugins/wikiplugin_box.php trunk/lib/wiki-plugins/wikiplugin_category.php trunk/lib/wiki-plugins/wikiplugin_catorphans.php trunk/lib/wiki-plugins/wikiplugin_catpath.php trunk/lib/wiki-plugins/wikiplugin_center.php trunk/lib/wiki-plugins/wikiplugin_chart.php trunk/lib/wiki-plugins/wikiplugin_code.php trunk/lib/wiki-plugins/wikiplugin_copyright.php trunk/lib/wiki-plugins/wikiplugin_countdown.php trunk/lib/wiki-plugins/wikiplugin_div.php trunk/lib/wiki-plugins/wikiplugin_dl.php trunk/lib/wiki-plugins/wikiplugin_equation.php trunk/lib/wiki-plugins/wikiplugin_events.php trunk/lib/wiki-plugins/wikiplugin_example.php trunk/lib/wiki-plugins/wikiplugin_fancytable.php trunk/lib/wiki-plugins/wikiplugin_flash.php trunk/lib/wiki-plugins/wikiplugin_gauge.php trunk/lib/wiki-plugins/wikiplugin_group.php trunk/lib/wiki-plugins/wikiplugin_include.php trunk/lib/wiki-plugins/wikiplugin_lang.php trunk/lib/wiki-plugins/wikiplugin_lastmod.php trunk/lib/wiki-plugins/wikiplugin_listpages.php trunk/lib/wiki-plugins/wikiplugin_trackerlist.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/setup/prefs.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -159,7 +159,80 @@ $prefs['wikiapproval_delete_staging'] = 'n'; $prefs['wikiapproval_master_group'] = ''; $prefs['wiki_edit_section'] = 'y'; + $prefs['wiki_edit_plugin'] = 'y'; + $prefs['wikiplugin_agentinfo'] = 'y'; + $prefs['wikiplugin_alink'] = 'y'; + $prefs['wikiplugin_aname'] = 'y'; + $prefs['wikiplugin_annotation'] = 'y'; + $prefs['wikiplugin_article'] = 'y'; + $prefs['wikiplugin_articles'] = 'y'; + $prefs['wikiplugin_attach'] = 'y'; + $prefs['wikiplugin_avatar'] = 'y'; + $prefs['wikiplugin_backlinks'] = 'y'; + $prefs['wikiplugin_box'] = 'y'; + $prefs['wikiplugin_category'] = 'y'; + $prefs['wikiplugin_catorphans'] = 'y'; + $prefs['wikiplugin_catpath'] = 'y'; + $prefs['wikiplugin_center'] = 'y'; + $prefs['wikiplugin_chart'] = 'y'; + $prefs['wikiplugin_code'] = 'y'; + $prefs['wikiplugin_copyright'] = 'y'; + $prefs['wikiplugin_countdown'] = 'y'; + $prefs['wikiplugin_div'] = 'y'; + $prefs['wikiplugin_dl'] = 'y'; + $prefs['wikiplugin_equation'] = 'y'; + $prefs['wikiplugin_events'] = 'y'; + $prefs['wikiplugin_example'] = 'n'; + $prefs['wikiplugin_fancytable'] = 'y'; + $prefs['wikiplugin_flash'] = 'y'; + $prefs['wikiplugin_gauge'] = 'y'; + $prefs['wikiplugin_group'] = 'y'; + $prefs['wikiplugin_include'] = 'y'; + $prefs['wikiplugin_lang'] = 'y'; + $prefs['wikiplugin_lastmod'] = 'y'; + $prefs['wikiplugin_listpages'] = 'y'; + $prefs['wikiplugin_map'] = 'y'; + $prefs['wikiplugin_miniquiz'] = 'y'; + $prefs['wikiplugin_module'] = 'y'; + $prefs['wikiplugin_mono'] = 'y'; + $prefs['wikiplugin_myspace'] = 'y'; + $prefs['wikiplugin_objecthits'] = 'y'; + $prefs['wikiplugin_pluginmanager'] = 'y'; + $prefs['wikiplugin_poll'] = 'y'; + $prefs['wikiplugin_proposal'] = 'y'; + $prefs['wikiplugin_quote'] = 'y'; + $prefs['wikiplugin_remarksbox'] = 'y'; + $prefs['wikiplugin_rss'] = 'y'; + $prefs['wikiplugin_sf'] = 'y'; + $prefs['wikiplugin_sheet'] = 'y'; + $prefs['wikiplugin_showpages'] = 'y'; + $prefs['wikiplugin_skype'] = 'y'; + $prefs['wikiplugin_sort'] = 'y'; + $prefs['wikiplugin_split'] = 'y'; + $prefs['wikiplugin_sql'] = 'y'; + $prefs['wikiplugin_sub'] = 'y'; + $prefs['wikiplugin_subscribegroup'] = 'y'; + $prefs['wikiplugin_subscribegroups'] = 'y'; + $prefs['wikiplugin_sup'] = 'y'; + $prefs['wikiplugin_tag'] = 'y'; + $prefs['wikiplugin_thumb'] = 'y'; + $prefs['wikiplugin_titlesearch'] = 'y'; + $prefs['wikiplugin_topfriends'] = 'y'; + $prefs['wikiplugin_trackerfilter'] = 'y'; + $prefs['wikiplugin_trackeritemfield'] = 'y'; + $prefs['wikiplugin_trackerlist'] = 'y'; + $prefs['wikiplugin_tracker'] = 'y'; + $prefs['wikiplugin_trackerprefill'] = 'y'; + $prefs['wikiplugin_trackerstat'] = 'y'; + $prefs['wikiplugin_translated'] = 'y'; + $prefs['wikiplugin_tr'] = 'y'; + $prefs['wikiplugin_usercount'] = 'y'; + $prefs['wikiplugin_versions'] = 'y'; + $prefs['wikiplugin_vote'] = 'y'; + $prefs['wikiplugin_wantedpages'] = 'y'; + $prefs['wikiplugin_youtube'] = 'y'; + # wysiwyg $prefs['feature_wysiwyg'] = 'n'; $prefs['wysiwyg_optional'] = 'y'; Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/tikilib.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -5033,7 +5033,7 @@ // This recursive function handles pre- and no-parse sections and plugins function parse_first(&$data, &$preparsed, &$noparsed, $real_start_diff='0') { - global $dbTiki, $smarty, $tiki_p_edit; + global $dbTiki, $smarty, $tiki_p_edit, $prefs; if( strlen( $data ) <= 1 ) { @@ -5202,38 +5202,68 @@ if (file_exists($php_name)) { include_once ($php_name); - static $plugin_indexes = array(); + if( function_exists( $func_name_info ) ) + { + $plugin_enabled = true; + $meta = $func_name_info(); - if( ! array_key_exists( $plugin_name, $plugin_indexes ) ) - $plugin_indexes[$plugin_name] = 0; + if( isset( $meta['prefs'] ) ) + { + foreach( $meta['prefs'] as $pref ) + if( $prefs[$pref] != 'y' ) + { + $plugin_enabled = false; + break; + } - $current_index = ++$plugin_indexes[$plugin_name]; + $plugin_editable = $plugin_enabled && $tiki_p_edit == 'y' && $prefs['wiki_edit_plugin'] == 'y'; + } + } + else + { + $plugin_enabled = true; + $plugin_editable = false; + } - // We store CODE stuff out of the way too, but then process it as a plugin as well. - if( preg_match( '/^ *\{CODE\(/', $plugin_start ) ) - { - $ret = $func_name($plugin_data, $arguments); + if( $plugin_enabled ) { + static $plugin_indexes = array(); - // Pull the np out. - preg_match( "/~np~(.*)~\/np~/s", $ret, $stuff ); + if( ! array_key_exists( $plugin_name, $plugin_indexes ) ) + $plugin_indexes[$plugin_name] = 0; - if( count( $stuff ) > 0 ) - { - $key = md5($this->genPass()); - $noparsed["key"][] = "/". preg_quote($key)."/"; - $noparsed["data"][] = $stuff[1]; + $current_index = ++$plugin_indexes[$plugin_name]; - $ret = preg_replace( "/~np~.*~\/np~/s", $key, $ret ); - } + // We store CODE stuff out of the way too, but then process it as a plugin as well. + if( preg_match( '/^ *\{CODE\(/', $plugin_start ) ) + { + $ret = $func_name($plugin_data, $arguments); - } else { - // Handle nested plugins. - $this->parse_first($plugin_data, $preparsed, $noparsed, $real_start_diff + $pos+strlen($plugin_start)); + // Pull the np out. + preg_match( "/~np~(.*)~\/np~/s", $ret, $stuff ); - $ret = $func_name($plugin_data, $arguments, $real_start_diff + $pos+strlen($plugin_start)); - } + if( count( $stuff ) > 0 ) + { + $key = md5($this->genPass()); + $noparsed["key"][] = "/". preg_quote($key)."/"; + $noparsed["data"][] = $stuff[1]; - if( function_exists( $func_name_info ) && $tiki_p_edit == 'y' ) { + $ret = preg_replace( "/~np~.*~\/np~/s", $key, $ret ); + } + + } else { + // Handle nested plugins. + $this->parse_first($plugin_data, $preparsed, $noparsed, $real_start_diff + $pos+strlen($plugin_start)); + + $ret = $func_name($plugin_data, $arguments, $real_start_diff + $pos+strlen($plugin_start)); + } + } else { + // Handle nested plugins. + $this->parse_first($plugin_data, $preparsed, $noparsed); + + $ret = tra( "__WARNING__: Plugin disabled $plugin! " ) . $plugin_data; + } + + if( $plugin_editable ) { include_once('lib/smarty_tiki/function.icon.php'); global $headerlib, $page; $headerlib->add_jsfile( 'tiki-jsplugin.php?plugin=' . urlencode( $plugin_name ) ); Modified: trunk/lib/wiki-plugins/wikiplugin_agentinfo.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_agentinfo.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_agentinfo.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -13,7 +13,7 @@ return array( 'name' => tra( 'User-Agent Info' ), 'description' => tra( 'Displays various information about the client.' ), - 'prefs' => array(), + 'prefs' => array('wikiplugin_agentinfo'), 'params' => array(), ); } Modified: trunk/lib/wiki-plugins/wikiplugin_alink.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_alink.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_alink.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -27,7 +27,7 @@ return array( 'name' => tra('Anchor Link'), 'description' => tra('Creates a link to an anchor within a page. Anchors can be created using the ANAME plugin.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_alink'), 'body' => tra('Anchor link label.'), 'params' => array( 'aname' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_aname.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_aname.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_aname.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -25,7 +25,7 @@ return array( 'name' => tra('Anchor Name'), 'description' => tra('Inserts an anchor in th wiki page. Anchors can be linked to using the ALINK plugin.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_aname'), 'body' => tra('The name of the anchor.'), 'params' => array(), ); Modified: trunk/lib/wiki-plugins/wikiplugin_annotation.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_annotation.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_annotation.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -24,7 +24,7 @@ return array( 'name' => tra('Image Annotation'), 'description' => tra("Displays an image and allow the users to define zones to highlight information on the image."), - 'prefs' => array(), + 'prefs' => array('wikiplugin_annotation'), 'body' => tra('Autogenerated content. Leave blank initially.'), 'params' => array( 'src' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_article.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_article.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_article.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -19,7 +19,7 @@ return array( 'name' => tra('Article'), 'description' => tra('Includes an article\'s content within the page.'), - 'prefs' => array( 'feature_article' ), + 'prefs' => array( 'feature_article', 'wikiplugin_article' ), 'params' => array( 'Field' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_articles.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_articles.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_articles.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -17,7 +17,7 @@ return array( 'name' => tra('Article List'), 'description' => tra('Includes a list of articles within the page.'), - 'prefs' => array( 'feature_article' ), + 'prefs' => array( 'feature_article', 'wikiplugin_articles' ), 'params' => array( 'max' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_attach.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_attach.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_attach.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -45,7 +45,7 @@ return array( 'name' => tra( 'Attachment' ), 'description' => tra("Displays an attachment or a list of them"), - 'prefs' => array( 'feature_wiki_attachments' ), + 'prefs' => array( 'feature_wiki_attachments', 'wikiplugin_attach' ), 'body' => tra("Comment"), 'params' => array( 'name' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_avatar.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_avatar.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_avatar.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -15,7 +15,7 @@ return array( 'name' => tra('Avatar'), 'description' => tra('Displays the user Avatar'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_avatar'), 'body' => tra('username'), 'params' => array( 'page' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_backlinks.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_backlinks.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_backlinks.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -115,7 +115,7 @@ return array( 'name' => tra('Backlinks'), 'description' => tra('List all pages linking to the specified page.'), - 'prefs' => array( 'feature_wiki' ), + 'prefs' => array( 'feature_wiki', 'wikiplugin_backlinks' ), 'params' => array( 'page' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_box.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_box.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_box.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -19,7 +19,7 @@ return array( 'name' => tra('Box'), 'description' => tra('Insert theme styled box on wiki page'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_box'), 'body' => tra('text'), 'params' => array( 'title' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_category.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_category.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_category.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -26,7 +26,7 @@ return array( 'name' => tra('Category'), 'description' => tra("Insert list of items for the current/given category into wiki page"), - 'prefs' => array( 'feature_categories' ), + 'prefs' => array( 'feature_categories', 'wikiplugin_category' ), 'params' => array( 'id' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_catorphans.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_catorphans.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_catorphans.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -20,7 +20,7 @@ return array( 'name' => tra('Category Orphans'), 'description' => tra('Display Tiki objects that have not been categorized'), - 'prefs' => array( 'feature_categories' ), + 'prefs' => array( 'feature_categories', 'wikiplugin_categories' ), 'params' => array( 'objects' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_catpath.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_catpath.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_catpath.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -20,7 +20,7 @@ return array( 'name' => tra('Category Path'), 'description' => tra("Insert the full category path for each category that this wiki page belongs to"), - 'prefs' => array( 'feature_categories'), + 'prefs' => array( 'feature_categories', 'wikiplugin_catpath' ), 'params' => array( 'divider' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_center.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_center.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_center.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -13,7 +13,7 @@ return array( 'name' => tra('Center'), 'description' => tra("Centers the plugin content in the wiki page"), - 'prefs' => array(), + 'prefs' => array('wikiplugin_center'), 'body' => tra('text'), 'params' => array( ), Modified: trunk/lib/wiki-plugins/wikiplugin_chart.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_chart.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_chart.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -11,7 +11,7 @@ return array( 'name' => tra('Chart'), 'description' => tra('Displays a chart from TikiSheet. This plugin can be generated by the TikiSheet chart tool.'), - 'prefs' => array( 'feature_sheets' ), + 'prefs' => array( 'feature_sheets', 'wikiplugin_chart' ), 'body' => tra('Chart caption.'), 'params' => array( 'id' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_code.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_code.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_code.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -10,7 +10,7 @@ return array( 'name' => tra('Code'), 'description' => tra('Displays a snippet of code'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_code'), 'body' => tra('code'), 'params' => array( 'caption' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_copyright.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_copyright.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_copyright.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -20,7 +20,7 @@ return array( 'name' => tra('Copyright'), 'description' => tra('Insert copyright notices'), - 'prefs' => array( 'feature_wiki_copyrights' ), + 'prefs' => array( 'feature_wiki_copyrights', 'wikiplugin_copyright' ), 'body' => tra('Pattern to display the copyright in. May contain ~title~, ~year~ and ~authors~.'), 'params' => array( ), Modified: trunk/lib/wiki-plugins/wikiplugin_countdown.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_countdown.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_countdown.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -22,7 +22,7 @@ return array( 'name' => tra('Countdown'), 'description' => tra('Displays a countdown from now until the specified date.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_countdown'), 'body' => tra('Text to append to the countdown.'), 'params' => array( 'enddate' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_div.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_div.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_div.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -20,7 +20,7 @@ return array( 'name' => tra('Div'), 'description' => tra("Insert a division block on wiki page"), - 'prefs' => array(), + 'prefs' => array('wikiplugin_div'), 'body' => tra('text'), 'params' => array( 'bg' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_dl.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_dl.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_dl.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -4,11 +4,11 @@ return tra("Creates a definition list").":<br />~np~{DL()}".tra("term").":".tra("definition")."{DL}~/np~ - ''".tra("one definition per line")."''"; } -function wikiplugin_db_info() { +function wikiplugin_dl_info() { return array( 'name' => tra('Definition List'), 'description' => tra("Creates a definition list"), - 'prefs' => array(), + 'prefs' => array('wikiplugin_dl'), 'body' => tra('One entry per line. Each line is in "Term: Definition" format.'), 'params' => array( ), Modified: trunk/lib/wiki-plugins/wikiplugin_equation.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_equation.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_equation.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -25,7 +25,7 @@ return array( 'name' => tra('Equation'), 'description' => tra('Renders an equation written in LaTeX syntax as an image.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_equation'), 'body' => tra('equation'), 'params' => array( 'size' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_events.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_events.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_events.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -12,7 +12,7 @@ return array( 'name' => tra('Events'), 'description' => tra('Includes the list of events from a calendar in the page.'), - 'prefs' => array( 'feature_calendar', 'feature_events' ), + 'prefs' => array( 'feature_calendar', 'feature_events', 'wikiplugin_events' ), 'params' => array( 'calendarid' => array( 'required' => true, Modified: trunk/lib/wiki-plugins/wikiplugin_example.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_example.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_example.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -22,7 +22,7 @@ return array( 'name' => tra('Example'), 'description' => tra('Sample plugin.'), - 'prefs' => array( 'feature_example' ), + 'prefs' => array( 'wikiplugin_example' ), 'body' => tra('text'), 'params' => array( 'face' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_fancytable.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_fancytable.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_fancytable.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -23,7 +23,7 @@ return array( 'name' => tra('Fancy Table'), 'description' => tra("Displays the data using the Tikiwiki odd/even table style"), - 'prefs' => array(), + 'prefs' => array('wikiplugin_fancytable'), 'body' => tra('One row per line, cells separated by ~|~.'), 'params' => array( 'head' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_flash.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_flash.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_flash.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -13,7 +13,7 @@ return array( 'name' => tra('Flash video'), 'description' => tra('Displays a SWF on the wiki page'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_flash'), 'params' => array( 'movie' => array( 'required' => true, Modified: trunk/lib/wiki-plugins/wikiplugin_gauge.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_gauge.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_gauge.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -26,7 +26,7 @@ return array( 'name' => tra('Gauge'), 'description' => tra('Displays a graphical gauge'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_gauge'), 'body' => tra('description'), 'params' => array( 'value' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_group.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_group.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_group.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -17,6 +17,7 @@ 'name' => tra('Group'), 'description' => tra("Display wiki text if user is in one of listed groups"), 'body' => tra('Wiki text to display if conditions are met. The body may contain {ELSE}. Text after the marker will be displayed to users not matching the condition.'), + 'prefs' => array('wikiplugin_group'), 'params' => array( 'groups' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_include.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_include.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_include.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -42,7 +42,7 @@ return array( 'name' => tra('Include'), 'description' => tra('Include a page\'s content.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_include'), 'params' => array( 'page' => array( 'required' => true, Modified: trunk/lib/wiki-plugins/wikiplugin_lang.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_lang.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_lang.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -12,7 +12,7 @@ return array( 'name' => tra('Language'), 'description' => tra("Displays the text only if the language matchs"), - 'prefs' => array( 'feature_multilingual' ), + 'prefs' => array( 'feature_multilingual', 'wikiplugin_lang' ), 'body' => tra('text'), 'params' => array( 'lang' => array( Modified: trunk/lib/wiki-plugins/wikiplugin_lastmod.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_lastmod.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_lastmod.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -13,7 +13,7 @@ return array( 'name' => tra('Last Modification'), 'description' => tra("The last_mod plugin replaces itself with last modification time of the named wiki page, or the current page if no name given"), - 'prefs' => array(), + 'prefs' => array('wikiplugin_lastmod'), 'params' => array( 'page' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_listpages.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_listpages.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_listpages.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -12,7 +12,7 @@ return array( 'name' => tra('List Pages'), 'description' => tra('List wiki pages.'), - 'prefs' => array(), + 'prefs' => array('wikiplugin_listpages'), 'params' => array( 'offset' => array( 'required' => false, Modified: trunk/lib/wiki-plugins/wikiplugin_trackerlist.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_trackerlist.php 2008-08-07 17:25:14 UTC (rev 14117) +++ trunk/lib/wiki-plugins/wikiplugin_trackerlist.php 2008-08-07 18:04:54 UTC (rev 14118) @@ -11,7 +11,7 @@ return array( 'name' => tra('Tracker List'), 'description' => tra('Displays the output of a tracker content, fields are indicated with numeric ids.'), - 'prefs' => array( 'feature_trackers' ), + 'prefs' => array( 'feature_trackers', 'wikiplugin_trackerlist' ), 'body' => tra('Notice'), 'params' => array( 'trackerId' => array( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-08 13:20:59
|
Revision: 14127 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14127&view=rev Author: lphuberdeau Date: 2008-08-08 13:21:08 +0000 (Fri, 08 Aug 2008) Log Message: ----------- [MOD] More info functions Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/lib/wiki-plugins/wikiplugin_objecthits.php trunk/lib/wiki-plugins/wikiplugin_pluginmanager.php trunk/lib/wiki-plugins/wikiplugin_poll.php trunk/lib/wiki-plugins/wikiplugin_proposal.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-08 12:03:45 UTC (rev 14126) +++ trunk/lib/setup/prefs.php 2008-08-08 13:21:08 UTC (rev 14127) @@ -198,7 +198,7 @@ $prefs['wikiplugin_mono'] = 'y'; $prefs['wikiplugin_myspace'] = 'y'; $prefs['wikiplugin_objecthits'] = 'y'; - $prefs['wikiplugin_pluginmanager'] = 'y'; + $prefs['wikiplugin_pluginmanager'] = 'n'; $prefs['wikiplugin_poll'] = 'y'; $prefs['wikiplugin_proposal'] = 'y'; $prefs['wikiplugin_quote'] = 'y'; Modified: trunk/lib/wiki-plugins/wikiplugin_objecthits.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_objecthits.php 2008-08-08 12:03:45 UTC (rev 14126) +++ trunk/lib/wiki-plugins/wikiplugin_objecthits.php 2008-08-08 13:21:08 UTC (rev 14127) @@ -9,6 +9,31 @@ return tra("Displays object hit info by object and days").":<br />~np~{OBJECTHITS(object=>,type=>,days=>)/}~/np~"; } +function wikiplugin_objecthits_info() { + return array( + 'name' => tra('Object Hits'), + 'description' => tra("Displays object hit info by object and days"), + 'prefs' => array( 'wikiplugin_objecthits' ), + 'params' => array( + 'object' => array( + 'required' => true, + 'name' => tra( 'Object' ), + 'description' => tra( 'Object ID' ), + ), + 'type' => array( + 'required' => true, + 'name' => tra('Type'), + 'description' => tra('Object Type'), + ), + 'days' => array( + 'required' => false, + 'name' => tra('Days'), + 'description' => tra('?'), + ), + ), + ); +} + function wikiplugin_objecthits($data, $params) { global $tikilib; Modified: trunk/lib/wiki-plugins/wikiplugin_pluginmanager.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_pluginmanager.php 2008-08-08 12:03:45 UTC (rev 14126) +++ trunk/lib/wiki-plugins/wikiplugin_pluginmanager.php 2008-08-08 13:21:08 UTC (rev 14127) @@ -96,6 +96,22 @@ return $sDescription; } } + + function wikiplugin_pluginmanager_info() { + return array( + 'name' => tra('Plugin Manager'), + 'description' => tra("Provides a list of plugins on this wiki."), + 'prefs' => array( 'wikiplugin_pluginmanager' ), + 'params' => array( + 'info' => array( + 'required' => false, + 'name' => tra('Information'), + 'description' => tra('version|description|arguments, multiple values can be used.'), + ), + ), + ); + } + function wikiplugin_pluginmanager($data, $params) { $plugin = new WikiPluginPluginManager(); return $plugin->run($data, $params); Modified: trunk/lib/wiki-plugins/wikiplugin_poll.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_poll.php 2008-08-08 12:03:45 UTC (rev 14126) +++ trunk/lib/wiki-plugins/wikiplugin_poll.php 2008-08-08 13:21:08 UTC (rev 14127) @@ -8,6 +8,23 @@ $help.= "~np~{POLL(pollId=>1)}Good Poll{POLL}~/np~"; return $help; } + +function wikiplugin_poll_info() { + return array( + 'name' => tra('Poll'), + 'description' => tra("Displays the output of a poll, fields are indicated with numeric ids."), + 'prefs' => array( 'feature_polls', 'wikiplugin_poll' ), + 'body' => tra('Title'), + 'params' => array( + 'pollId' => array( + 'required' => true, + 'name' => tra('Poll'), + 'description' => tra('Poll ID'), + ), + ), + ); +} + function wikiplugin_poll($data, $params) { global $smarty, $polllib, $trklib, $tikilib, $dbTiki, $userlib, $tiki_p_admin, $prefs, $_REQUEST, $user; Modified: trunk/lib/wiki-plugins/wikiplugin_proposal.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_proposal.php 2008-08-08 12:03:45 UTC (rev 14126) +++ trunk/lib/wiki-plugins/wikiplugin_proposal.php 2008-08-08 13:21:08 UTC (rev 14127) @@ -12,7 +12,7 @@ return array( 'name' => tra('Proposal'), 'description' => tra('Provides a widget for users to vote on a proposal and view the current decision.'), - 'prefs' => array(), + 'prefs' => array( 'wikiplugin_proposal' ), 'body' => tra('The list of votes casted. One vote per line. Either 0, +1 or -1 followed by a username.'), 'params' => array( 'caption' => array( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-12 09:43:09
|
Revision: 14178 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14178&view=rev Author: sept_7 Date: 2008-08-12 09:43:19 +0000 (Tue, 12 Aug 2008) Log Message: ----------- [FIX] add ifNull adn Concat to tikidblib-pdo.php and remove extra bindvar in commentslib.php Modified Paths: -------------- trunk/lib/commentslib.php trunk/lib/tikidblib-pdo.php Modified: trunk/lib/commentslib.php =================================================================== --- trunk/lib/commentslib.php 2008-08-12 09:22:16 UTC (rev 14177) +++ trunk/lib/commentslib.php 2008-08-12 09:43:19 UTC (rev 14178) @@ -655,8 +655,7 @@ .(( $include_archived ) ? '' : ' and (a.`archived` is null or a.`archived`=?)') ." and a.`type` $stickytest ? and a.`objectType` = 'forum' and a.`parentId` = ? $time_cond group by a.`threadId`"; - global $ADODB_LASTDB; - if($ADODB_LASTDB != 'sybase') { + if($this->driver != 'sybase') { $query .=",a.`object`,a.`objectType`,a.`parentId`,a.`userName`,a.`commentDate`,a.`hits`,a.`type`,a.`points`,a.`votes`,a.`average`,a.`title`,a.`data`,a.`hash`,a.`user_ip`,a.`summary`,a.`smiley`,a.`message_id`,a.`in_reply_to`,a.`comment_rating` "; } $query .="order by ".$this->convert_sortmode($sort_mode).", `threadId`"; @@ -949,9 +948,7 @@ if ( $res['comments'] > 0 ) { $result2 = $this->query( 'select * from `tiki_comments` where `object`= ? and `objectType` = ? order by commentDate desc', - array($res['forumId'], 'forum', (int)$res['lastPost']), - 1 - ); + array($res['forumId'], 'forum')); $res['lastPostData'] = $result2->fetchRow(); $res['lastPost'] = $res['lastPostData']['commentDate']; } else { Modified: trunk/lib/tikidblib-pdo.php =================================================================== --- trunk/lib/tikidblib-pdo.php 2008-08-12 09:22:16 UTC (rev 14177) +++ trunk/lib/tikidblib-pdo.php 2008-08-12 09:43:19 UTC (rev 14178) @@ -379,7 +379,8 @@ break; case "mysql3": - case "mysql": case "mysqli": + case "mysql": + case "mysqli": default: $sort = preg_replace('/_asc$/', '` asc', $sort); $sort = preg_replace('/_desc$/', '` desc', $sort); @@ -435,6 +436,21 @@ } } + function IfNull($field, $ifNull ) { + return " IFNULL($field, $ifNull) "; // if MySQL + } + + function Concat() { + $s = ""; + $arr = func_get_args(); + + // suggestion by and...@mn... + $s = implode(',',$arr); + if (strlen($s) > 0) return "CONCAT($s)"; + else return ''; + } + + function debugger_log($query, $values) { // Will spam only if debug parameter present in URL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-12 17:38:25
|
Revision: 14187 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14187&view=rev Author: lphuberdeau Date: 2008-08-12 17:38:32 +0000 (Tue, 12 Aug 2008) Log Message: ----------- [MOD] More info functions Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/lib/wiki-plugins/wikiplugin_tag.php trunk/lib/wiki-plugins/wikiplugin_thumb.php trunk/lib/wiki-plugins/wikiplugin_titlesearch.php trunk/lib/wiki-plugins/wikiplugin_topfriends.php trunk/lib/wiki-plugins/wikiplugin_trackerfilter.php trunk/lib/wiki-plugins/wikiplugin_trackeritemfield.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/setup/prefs.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -217,7 +217,7 @@ $prefs['wikiplugin_sup'] = 'y'; $prefs['wikiplugin_tag'] = 'y'; $prefs['wikiplugin_thumb'] = 'y'; - $prefs['wikiplugin_titlesearch'] = 'y'; + $prefs['wikiplugin_titlesearch'] = 'n'; $prefs['wikiplugin_topfriends'] = 'y'; $prefs['wikiplugin_trackerfilter'] = 'y'; $prefs['wikiplugin_trackeritemfield'] = 'y'; Modified: trunk/lib/wiki-plugins/wikiplugin_tag.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_tag.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_tag.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -9,6 +9,27 @@ return tra("Displays text between an html tag").":<br />~np~{TAG(tag=a_tag, style=a_style)}text{TAG}~/np~"; } +function wikiplugin_tag_info() { + return array( + 'name' => tra('Tag'), + 'description' => tra('Displays the text between an html tag'), + 'prefs' => array( 'wikiplugin_tag' ), + 'body' => tra('text'), + 'params' => array( + 'tag' => array( + 'required' => false, + 'name' => tra('Tag Name'), + 'description' => tra('Any valid HTML tag, span by default.'), + ), + 'style' => array( + 'required' => false, + 'name' => tra('CSS Style'), + 'description' => tra('Equivalent of the style attribute on the HTML tag.'), + ), + ), + ); +} + function wikiplugin_tag($data, $params) { extract ($params,EXTR_SKIP); if (!isset($tag)) Modified: trunk/lib/wiki-plugins/wikiplugin_thumb.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_thumb.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_thumb.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -3,6 +3,53 @@ function wikiplugin_thumb_help() { return tra("Displays the thumbnail for an image").":<br />~np~{THUMB(image=>url,id=url,max=>,float=>,url=>,original=y, sticky=n)}".tra("description")."{THUMB}~/np~"; } + +function wikiplugin_thumb_info() { + return array( + 'name' => tra('Thumbnail'), + 'description' => tra('Displays the thumbnail for an image'), + 'prefs' => array( 'wikiplugin_thumb' ), + 'body' => tra('description'), + 'params' => array( + 'image' => array( + 'required' => false, + 'name' => tra('Image'), + 'description' => tra('URL to the image.'), + ), + 'id' => array( + 'required' => false, + 'name' => tra('Image ID'), + 'description' => tra('Image ID from the image gallery.'), + ), + 'max' => array( + 'required' => false, + 'name' => tra('Maximum Size'), + 'description' => tra('Maximum width or height for the image.'), + ), + 'float' => array( + 'required' => false, + 'name' => tra('Floating'), + 'description' => tra('left|right|none'), + ), + 'url' => array( + 'required' => false, + 'name' => tra('URL'), + 'description' => tra('Link target of the image.'), + ), + 'original' => array( + 'required' => false, + 'name' => tra('Original'), + 'description' => tra('y|n'), + ), + 'sticky' => array( + 'required' => false, + 'name' => tra('Sticky'), + 'description' => tra('y|n'), + ), + ), + ); +} + function wikiplugin_thumb($data, $params) { global $smarty, $tikidomain; extract ($params,EXTR_SKIP); Modified: trunk/lib/wiki-plugins/wikiplugin_titlesearch.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_titlesearch.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_titlesearch.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -22,6 +22,35 @@ function wikiplugin_titlesearch_help() { return tra("Search the titles of all pages in this wiki").":<br />~np~{TITLESEARCH(search=>Admin,info=>hits|user,exclude=>HomePage|SandBox,noheader=>0)}{TITLESEARCH}~/np~"; } + function wikiplugin_titlesearch_info() { + return array( + 'name' => tra('Title Search'), + 'description' => tra('Search wiki page titles.'), + 'prefs' => array( 'wikiplugin_titlesearch' ), + 'params' => array( + 'search' => array( + 'required' => true, + 'name' => tra('Search Criteria'), + 'description' => tra('Portion of a page name.'), + ), + 'info' => array( + 'required' => false, + 'name' => tra('Information'), + 'description' => tra('hits|user'), + ), + 'exclude' => array( + 'required' => false, + 'name' => tra('Exclude'), + 'description' => tra('Pipe separated list of page names to exclude from results.'), + ), + 'noheader' => array( + 'required' => false, + 'name' => tra('No Header'), + 'description' => tra('0|1'), + ), + ), + ); + } class WikiPluginTitleSearch extends PluginsLib { var $expanded_params = array("exclude", "info"); function getDescription() { Modified: trunk/lib/wiki-plugins/wikiplugin_topfriends.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_topfriends.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_topfriends.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -3,6 +3,26 @@ return tra("List top scoring users").":<br />~np~{TOPFRIENDS(limit=>5,public=>y)}{TOPFRIENDS}~/np~"; } +function wikiplugin_topfriends_info() { + return array( + 'name' => tra('Top Friends'), + 'description' => tra('List top scoring users.'), + 'prefs' => array( 'feature_friends', 'wikiplugin_topfriends' ), + 'params' => array( + 'limit' => array( + 'required' => false, + 'name' => tra('Limit'), + 'description' => tra('Maximum result count.'), + ), + 'public' => array( + 'required' => false, + 'name' => tra('Public'), + 'description' => tra('y|n'), + ), + ), + ); +} + function wikiplugin_topfriends($data, $params) { global $smarty, $prefs, $tiki_p_list_users, $tikilib; Modified: trunk/lib/wiki-plugins/wikiplugin_trackerfilter.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_trackerfilter.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_trackerfilter.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -5,6 +5,43 @@ $help .= "~np~{TRACKERFILTER(filters=>2/d:4/r:5,action=>Name of submit button,displayList=y|n,line=y|n,TRACKERLIST_params )}Notice{TRACKERFILTER}~/np~"; return $help; } + +function wikiplugin_trackerfilter_info() { + return array( + 'name' => tra('Tracker Filter'), + 'description' => tra("Filters the items of a tracker, fields are indicated with numeric ids."), + 'prefs' => array( 'feature_trackers', 'wikiplugin_trackerfilter' ), + 'body' => tra('notice'), + 'params' => array( + 'filters' => array( + 'required' => true, + 'name' => tra('Filters'), + 'description' => tra('2/d:4/r:5'), + ), + 'action' => array( + 'required' => false, + 'name' => tra('Action'), + 'description' => tra('Label on the submit button'), + ), + 'displayList' => array( + 'required' => false, + 'name' => tra('Display List'), + 'description' => tra('y|n'), + ), + 'line' => array( + 'required' => false, + 'name' => tra('Line'), + 'description' => tra('y|n'), + ), + 'TRACKERLIST_params' => array( + 'required' => false, + 'name' => tra('Tracker List Parameters'), + 'description' => tra('?'), + ), + ), + ); +} + function wikiplugin_trackerfilter($data, $params) { global $smarty, $prefs; global $trklib; include_once('lib/trackers/trackerlib.php'); Modified: trunk/lib/wiki-plugins/wikiplugin_trackeritemfield.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_trackeritemfield.php 2008-08-12 17:32:50 UTC (rev 14186) +++ trunk/lib/wiki-plugins/wikiplugin_trackeritemfield.php 2008-08-12 17:38:32 UTC (rev 14187) @@ -5,6 +5,53 @@ $help .= "~np~{TRACKERITEMFIELD(trackerId=1, itemId=1, fieldId=1, fields=1:2, status=o|p|c|op|oc|pc|opc, test=1|0, value=x)}".tra('Wiki text')."{ELSE}".tra('Wiki text')."{TRACKERITEMFIELD}~/np~"; return $help; } + +function wikiplugin_trackeritemfield_info() { + return array( + 'name' => tra('Tracker Item Field'), + 'description' => tra("Displays the value of a tracker item field or the wiki text if the value of the field is set or has a value(if itemId not specified, use the itemId of the url or the user tracker)."), + 'prefs' => array( 'wikiplugin_trackeritemfield', 'feature_trackers' ), + 'body' => tra('Wiki text containing an {ELSE} marker.'), + 'params' => array( + 'trackerId' => array( + 'required' => false, + 'name' => tra('Tracker ID'), + 'description' => tra('Numeric value.'), + ), + 'itemId' => array( + 'required' => false, + 'name' => tra('Item ID'), + 'description' => tra('Numeric value.'), + ), + 'fieldId' => array( + 'required' => false, + 'name' => tra('Field ID'), + 'description' => tra('Numeric value.'), + ), + 'fields' => array( + 'required' => false, + 'name' => tra('Fields'), + 'description' => tra('Colon separated list of field IDs.'), + ), + 'status' => array( + 'required' => false, + 'name' => tra('Status'), + 'description' => tra('o|p|c|op|oc|pc|opc'), + ), + 'test' => array( + 'required' => false, + 'name' => tra('Test'), + 'description' => tra('0|1'), + ), + 'value' => array( + 'required' => true, + 'name' => tra('Value'), + 'description' => tra('Value to compare against.'), + ), + ), + ); +} + function wikiplugin_trackeritemfield($data, $params) { global $userTracker, $group, $user, $userlib, $tiki_p_admin_trackers, $prefs; global $trklib; include_once('lib/trackers/trackerlib.php'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-13 19:07:20
|
Revision: 14232 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14232&view=rev Author: lphuberdeau Date: 2008-08-13 19:07:18 +0000 (Wed, 13 Aug 2008) Log Message: ----------- [MOD] Removing plugins -dist directory and including plugins in default directory, disabled by default Modified Paths: -------------- trunk/lib/setup/prefs.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_bloglist.php trunk/lib/wiki-plugins/wikiplugin_jabber.php trunk/lib/wiki-plugins/wikiplugin_lsdir.php trunk/lib/wiki-plugins/wikiplugin_regex.php trunk/lib/wiki-plugins/wikiplugin_snarf.php trunk/lib/wiki-plugins/wikiplugin_userlist.php Removed Paths: ------------- trunk/lib/wiki-plugins-dist/ Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-13 18:06:13 UTC (rev 14231) +++ trunk/lib/setup/prefs.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -170,6 +170,7 @@ $prefs['wikiplugin_attach'] = 'y'; $prefs['wikiplugin_avatar'] = 'y'; $prefs['wikiplugin_backlinks'] = 'y'; + $prefs['wikiplugin_bloglist'] = 'n'; $prefs['wikiplugin_box'] = 'y'; $prefs['wikiplugin_category'] = 'y'; $prefs['wikiplugin_catorphans'] = 'y'; @@ -189,9 +190,11 @@ $prefs['wikiplugin_gauge'] = 'y'; $prefs['wikiplugin_group'] = 'y'; $prefs['wikiplugin_include'] = 'y'; + $prefs['wikiplugin_jabber'] = 'n'; $prefs['wikiplugin_lang'] = 'y'; $prefs['wikiplugin_lastmod'] = 'y'; $prefs['wikiplugin_listpages'] = 'y'; + $prefs['wikiplugin_lsdir'] = 'n'; $prefs['wikiplugin_map'] = 'y'; $prefs['wikiplugin_miniquiz'] = 'y'; $prefs['wikiplugin_module'] = 'y'; @@ -202,12 +205,14 @@ $prefs['wikiplugin_poll'] = 'y'; $prefs['wikiplugin_proposal'] = 'y'; $prefs['wikiplugin_quote'] = 'y'; + $prefs['wikiplugin_regex'] = 'n'; $prefs['wikiplugin_remarksbox'] = 'y'; $prefs['wikiplugin_rss'] = 'y'; $prefs['wikiplugin_sf'] = 'y'; $prefs['wikiplugin_sheet'] = 'y'; $prefs['wikiplugin_showpages'] = 'y'; $prefs['wikiplugin_skype'] = 'y'; + $prefs['wikiplugin_snarf'] = 'n'; $prefs['wikiplugin_sort'] = 'y'; $prefs['wikiplugin_split'] = 'y'; $prefs['wikiplugin_sql'] = 'n'; @@ -228,6 +233,7 @@ $prefs['wikiplugin_translated'] = 'y'; $prefs['wikiplugin_tr'] = 'y'; $prefs['wikiplugin_usercount'] = 'y'; + $prefs['wikiplugin_userlist'] = 'n'; $prefs['wikiplugin_versions'] = 'y'; $prefs['wikiplugin_vote'] = 'y'; $prefs['wikiplugin_wantedpages'] = 'y'; Copied: trunk/lib/wiki-plugins/wikiplugin_bloglist.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_bloglist.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_bloglist.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_bloglist.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,60 @@ +<?php + +// Includes an article field +// Usage: +// {BLOGLIST(Id=>blogId)}{BLOGLIST} +// FieldName can be any field in the tiki_articles table, but title,heading, or body are probably the most useful. +function wikiplugin_bloglist_help() { + return tra("Use BLOGLIST to include posts from a blog. Syntax is").":<br />~np~{BLOGLIST(Id=n, Items=n)}{BLOGLIST}~/np~<br />" . tra(" where Id is the blog Id and Items is the max number of posts to display"). "<br />" . tra("Ex: ~np~{BLOGLIST(Id=2, Items=15)}{BLOGLIST}~/np~"); +} + +function wikiplugin_bloglist_info() { + return array( + 'name' => tra('Blog List'), + 'description' => tra('Use BLOGLIST to include posts from a blog.'), + 'prefs' => array( 'feature_blogs', 'wikiplugin_bloglist' ), + 'params' => array( + 'Id' => array( + 'required' => true, + 'name' => tra('Blog ID'), + 'description' => tra('Numeric value'), + ), + 'Items' => array( + 'required' => false, + 'name' => tra('Items'), + 'description' => tra('Maximum amount of entries to list.'), + ), + ), + ); +} + +function wikiplugin_bloglist($data, $params) { + global $tikilib; + + extract ($params,EXTR_SKIP); + + if (!isset($Id)) { + $text = ("<b>missing blog Id for BLOGLIST plugins</b><br />"); + $text .= wikiplugin_bloglist_help(); + return $text; + } +// if (!isset($Field)) { +// $Field = 'heading'; +// } + $text="<div class=\"blogtools\"><table><tr><th>" . tra("Date") . "</th><th>" . tra("Title") . "</th><th>" . tra("Author") . "</th></tr>\n"; + $query = "select `postId`, `title`, `user`, `created` from `tiki_blog_posts` where `blogId`=? order by `created` desc"; + $result = $tikilib->query($query, array($Id)); + $i=0; + while (($res = $result->fetchRow()) && ($i < $Items)) { + $text.="<tr><td>" . TikiLib::date_format("%d/%M/%Y %H:%M", $res["created"]) . "</td>"; + $text.="<td><a href=\"tiki-view_blog_post.php?blogId=" . $Id . "&postId=" . $res["postId"] . "\">" . $res["title"] . "</a></td>"; + $text.= "<td>" . $res["user"] . "</td></tr>\n"; + $i++; + } + $text.="</table></div>\n"; + + + return $text; +} + +?> Copied: trunk/lib/wiki-plugins/wikiplugin_jabber.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_jabber.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_jabber.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_jabber.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,82 @@ +<?php +/* Tiki plugin for Jabber + Written by Dennis Heltzel, 9/15/2003 + You can only use this plugin to connect to a jabber server that is running on the same server as the http server for tiki. This is a constraint of the applet for security reasons. you can get more info about that at jabberapplet.jabberstudio.org. + + Example usage: + {JABBER(height=>200,width=>200,xmlhostname=>jabber.org,defaultColor=>255,255,255)}{JABBER} + + To make this plugin work: + 1) get the JabberApplet from here: http://jabberapplet.jabberstudio.org/JabberApplet.jar + 2) put it in a directory called jabber under $TIKI_BASE/lib, the path must resolve to: lib/jabber/JabberApplet.jar + 3) make sure your local jabber server is started and you know it's name + 4) substitute the name of your local jabber server for 'jabber.org' in the example avobe and put it into a wiki page. + +*/ + +function wikiplugin_jabber_help() { + return tra("Runs a Java applet to access a local Jabber service").":<br />~np~{JABBER(height=>200,width=>200,xmlhostname=>jabber.org,defaultColor=>255,255,255)}{JABBER}~/np~. See lib/wiki-plugins/wikiplugin_jabber.php to make this plugin work"; +} + +function wikiplugin_jabber_info() { + return array( + 'name' => tra('Jabber'), + 'description' => tra('Runs a Java applet to access a local Jabber service'), + 'prefs' => array( 'wikiplugin_jabber' ), + 'params' => array( + 'height' => array( + 'required' => false, + 'name' => tra('Height'), + 'description' => tra('Applet height in pixels'), + ), + 'width' => array( + 'required' => false, + 'name' => tra(''), + 'description' => tra('Applet width in pixels'), + ), + 'xmlhostname' => array( + 'required' => false, + 'name' => tra(''), + 'description' => tra('jabber.org'), + ), + 'defaultColor' => array( + 'required' => false, + 'name' => tra('Default Color'), + 'description' => tra('255,255,255'), + ), + ), + ); +} + +function wikiplugin_jabber($data,$params) { + global $userlib; + global $user; + extract($params,EXTR_SKIP); + + if(!isset($height)) { + $height = 200; + } + if(!isset($width)) { + $width = 200; + } + if(!isset($xmlhostname)) { + $xmlhostname = 'jabber.org'; + } + if(!isset($defaultColor)) { + $defaultColor = '255,255,255'; + } + $userpwd = $userlib->get_user_password($user); + + $result='<APPLET ARCHIVE="lib/jabber/JabberApplet.jar" CODE="org/jabber/applet/JabberApplet.class" HEIGHT='.$height.' WIDTH='.$width.' VIEWASTEXT>'; + $result.='<param name="xmlhostname" value="'.$xmlhostname.'">'; + $result.='<param name="defaultColor" value="'.$defaultColor.'">'; + if(isset($user)) { + $result.='<param name="user" value="'.$user.'">'; + } + if($userpwd != '') { + $result.='<param name="pwd" value="'.$userpwd.'">'; + } + $result.='</APPLET>'; + return $result; +} +?> Copied: trunk/lib/wiki-plugins/wikiplugin_lsdir.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_lsdir.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_lsdir.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_lsdir.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,157 @@ +<?php +/* + * $Id: /cvsroot/tikiwiki/tiki/lib/wiki-plugins-dist/wikiplugin_lsdir.php,v 1.5 2007-03-02 19:49:18 luciash Exp $ + * + * Tikiwiki LSDIR plugin: lists files in a directory + * + * Syntax: + * + * {LSDIR([dir=>/dirpath/],[urlprefix=>prefix],[sortby=>name|atime|ctime|mtime|size],[sortmode=>asc|desc],[filter=>search_text],[limit=>#])} + * {LSDIR} + * + */ + +function wikiplugin_lsdir_help() { + return tra("Lists files in a directory").":<br />~np~{LSDIR(dir=>/dirpath/,urlprefix=>http://localhost/,sort=>name,filter=>.ext,limit=>5)}{LSDIR}~/np~"; +} + +function wikiplugin_lsdir_info() { + return array( + 'name' => tra('List Directory'), + 'description' => tra('Lists files in a directory'), + 'prefs' => array( 'wikiplugin_lsdir' ), + 'params' => array( + 'dir' => array( + 'required' => true, + 'name' => tra('Directory'), + 'description' => tra('Full path to the server-local directory.'), + ), + 'urlprefix' => array( + 'required' => false, + 'name' => tra('URL Prefix'), + 'description' => tra('?'), + ), + 'sort' => array( + 'required' => false, + 'name' => tra('Sort Order'), + 'description' => tra('name'), + ), + 'filter' => array( + 'required' => false, + 'name' => tra('Filter'), + 'description' => tra('.ext'), + ), + 'limit' => array( + 'required' => false, + 'name' => tra('Limit'), + 'description' => tra('Maximum amount of files to display'), + ), + ), + ); +} + +function wikiplugin_lsdir($data, $params) { + global $tikilib; + $dir = ''; + $urlprefix = NULL; + $sort = 'name'; + $sortmode = 'asc'; + $filter = NULL; + $limit = 0; + $tmp_array = array(); + $ret = ''; + + extract ($params, EXTR_SKIP); + + // make sure document_root has no trailing slash + if (!empty($_SERVER['DOCUMENT_ROOT'])) { + $tail = strlen($_SERVER['DOCUMENT_ROOT']) - 1; + if (substr($_SERVER['DOCUMENT_ROOT'], $tail) == '/') { + $pathprefix = substr($_SERVER['DOCUMENT_ROOT'], 0, $tail); + } else { + $pathprefix = $_SERVER['DOCUMENT_ROOT']; + } + } + + // make sure dir has starting slash + if (!empty($dir)) { + if (substr($dir, 0, 1) != '/') { + $dir = '/' . $dir; + } + } + + $dir = $pathprefix . $dir; + + // make sure urlprefix has a trailing slash + if (!empty($urlprefix)) { + $tail = strlen($urlprefix) - 1; + if (substr($urlprefix, $tail) != '/') { + $urlprefix .= '/'; + } + } + + if ($limit>0) { + $count = 0; + } else { + $count = -1; + } + + // fileatime, filectime, filemtime, filesize are PHP functions + if ($sort == 'atime') { + $getkey = 'fileatime'; + } elseif ($sort == 'ctime') { + $getkey = 'filectime'; + } elseif ($sort == 'mtime') { + $getkey = 'filemtime'; + } elseif ($sort == 'size') { + $getkey = 'filesize'; + } + + // supress the PHP error because that causes Tiki to crash + $dh = @opendir($dir); + + if (!$dh) { + $error = "<span class='attention'><b>$dir</b> ". tra("could not be opened because it doesn't exist or permission was denied") ."</span>"; + return $error; + } + + while ($file = readdir($dh)) { + if (empty($filter) || stristr($file,$filter)) { + //Don't list subdirectories + if (!is_dir("$dir/$file")) { + if ($sort == 'name') { + $key = "$file"; + } else { + $key = $getkey("$dir/$file"); + } + $tmp_array["$key"] = "$file"; + } + } + } + closedir($dh); + + if ($sortmode == 'asc') { + ksort($tmp_array); + } elseif ($sortmode == 'desc') { + krsort($tmp_array); + } + + foreach($tmp_array as $filename) { + if ($count >= $limit) { + break 1; + } + if (!empty($urlprefix)) { + $ret .= "<a href='$urlprefix$filename' class='wiki'>$filename</a><br />"; + } else { + $ret .= "$filename<br />"; + } + if ($limit>0) { + $count++; + } + } + + return $ret; + +} + +?> Copied: trunk/lib/wiki-plugins/wikiplugin_regex.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_regex.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_regex.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_regex.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,48 @@ +<?php +// Performs a regular expression on the $data between the {REGEX()} $data {REGEX} tags +// Usage the WikiPageName holds the regex find replace commands +// for example /^i/i:: $1 is the first letter +// where $1 is the value of the first expression +// example two: /(it's|its)(your|you're):: Check $1 $2 is correct +// {REGEX(search=>WikiPageName)} +// line 2 +// line 3{REGEX} + +function wikiplugin_regex_help() { +return tra("Takes regex expressions and parses the content between the REGEX tags and replaces the text.").": +<br />~np~{REGEX(search=>(WikiPageWithRegexCommands)}".tra("data")."{REGEX}~/np~ - ''".tra("one data per line")."''"; +} + +function wikiplugin_regexp_info() { + return array( + 'name' => tra('Regular Expression'), + 'description' => tra('Takes regex expressions and parses the content between REGEX tags and replaces the text.'), + 'prefs' => array( 'wikiplugin_regexp' ), + 'body' => tra('one data per line'), + 'params' => array( + 'search' => array( + 'required' => true, + 'name' => tra('Search'), + 'description' => tra('Page name containing the regular expression.'), + ), + ), + ); +} + +function wikiplugin_regex($data, $params) { +global $tikilib; + +extract ($params,EXTR_SKIP); +$pageName = (isset($pageName)) ? $pageName : "pageName";//gets a page +$info = $tikilib->get_page_info($pageName); +$content=$info["data"]; +$lines = explode("\n", $content); // separate lines into array no emtpy lines at beginning mid or end +foreach($lines as $line){ +list($search[],$replace[])=explode("::",$line);// use two colons to separate your find and replace +} + +$data=preg_replace($search,$replace,$data); + $data = trim($data); + return $data; +} +?> Copied: trunk/lib/wiki-plugins/wikiplugin_snarf.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_snarf.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_snarf.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_snarf.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,84 @@ +<?php +/* Tiki-Wiki plugin SNARF + * + * This plugin replaces itself with the body (HTML) text at the URL given in the url argument. + * + */ + + +function wikiplugin_snarf_help() { + return tra("The SNARF plugin replaces itself with the HTML body of a URL. Arbitrary regex replacement can be done on this content using regex and regexres, the latter being used as the second argument to preg_replace.").":<br />~np~{SNARF(url=>http://www.lojban.org,regex=>;.*<!-- Content -->(.*)<!-- /Content -->.*;, regexres=>$1)}".tra("This data is put in a CODE caption.")."{SNARF}~/np~"; +} + +function wikiplugin_snarf_info() { + return array( + 'name' => tra('Snarf'), + 'description' => tra('Include the content of a remote HTTP page. Regular expression selecting the content portion to include must be specified.'), + 'prefs' => array( 'wikiplugin_snarf' ), + 'params' => array( + 'url' => array( + 'required' => true, + 'name' => tra('URL'), + 'description' => tra('Full URL to the page to include.'), + ), + 'regex' => array( + 'required' => true, + 'name' => tra('Regular Expression'), + 'description' => tra('PCRE compliant regular expression'), + ), + 'regexres' => array( + 'required' => false, + 'name' => tra('Regular Expression Part'), + 'description' => tra('ex: $1'), + ), + ), + ); +} + +function wikiplugin_snarf($data, $params) +{ + + global $tikilib; + + extract ($params,EXTR_SKIP); + + if( ! isset( $url ) ) + { + return ("<b>". tra( "Missing url parameter for SNARF plugin." ) . "</b><br />"); + } + + if( function_exists("curl_init") ) + { + //print("<pre>url: $url</pre>"); + + $ch = curl_init( $url ); + // use output buffering instead of returntransfer -itmaybebuggy + ob_start(); + curl_exec($ch); + curl_close($ch); + $html = ob_get_contents(); + ob_end_clean(); + + $snarf = preg_replace( "/.*<\s*body[^>]*>(.*)<[^>]*\/\s*body[^>]*>.*/si", "$1", $html ); + + // If the user specified a more specialized regex + if( isset( $regex ) && isset( $regexres ) + and preg_match('/^(.)(.)+\1[^e]*$/', $regex)) + { + //print("<pre>regex: ".htmlspecialchars($regex)."</pre>"); + //print("<pre>regexres: ".htmlspecialchars($regexres)."</pre>"); + $snarf = preg_replace( $regex, $regexres, $snarf ); + } + + //print("<pre>BODY: " . htmlspecialchars( $snarf ) . "</pre>"); + + $ret = "{CODE(wrap=>1,wiki=>1,caption=>" . $data . ")}" . $snarf . "{CODE}"; + } else { + $ret = "<p>You need php-curl for the SNARF plugin!</p>\n"; + } + + + return $ret; +} + +?> Copied: trunk/lib/wiki-plugins/wikiplugin_userlist.php (from rev 14215, trunk/lib/wiki-plugins-dist/wikiplugin_userlist.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_userlist.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_userlist.php 2008-08-13 19:07:18 UTC (rev 14232) @@ -0,0 +1,86 @@ +<?php + +// Displays a list of users +// Use: +// {USERLIST(sep=>", ",max=>10,sort=>asc|desc,layout=>table)}substring{USERLIST} +// +// If no pattern is given returns all users or all that contain 'substring' + +function wikiplugin_userlist_help() { + return tra("Displays a list of registered users").":<br />~np~{USERLIST(sep=>\"SEPARATOR\",max=>MAXROWS,sort=>asc|desc,layout=>table)}substring{USERLIST}~/np~"; +} + +function wikiplugin_userlist_info() { + return array( + 'name' => tra('User List'), + 'description' => tra('Displays a list of registered users'), + 'prefs' => array( 'wikiplugin_userlist' ), + 'body' => tra('substring'), + 'params' => array( + 'sep' => array( + 'required' => false, + 'name' => tra('Separator'), + 'description' => tra('String to use between elements of the list.'), + ), + 'max' => array( + 'required' => false, + 'name' => tra('Maximum'), + 'description' => tra('Result limit.'), + ), + 'sort' => array( + 'required' => false, + 'name' => tra('Sort Order'), + 'desctiption' => tra('asc|desc'), + ), + 'layout' => array( + 'required' => false, + 'name' => tra('Layout'), + 'description' => tra('table'), + ), + ), + ); +} + +function wikiplugin_userlist($data, $params) { + global $tikilib; + global $userlib; + + extract ($params,EXTR_SKIP); + + if (!isset($sep)) $sep=', '; + if (!isset($max)) { $numRows = -1; } else { $numRows = (int) $max; } + + if ($data) { + $mid = '`login` like ?'; + $findesc = '%' . $data . '%'; + $bindvars=array($findesc); + } else { + $mid = '1'; + $bindvars=array(); + } + if (isset($sort)) { + $sort=strtolower($sort); + if (($sort=='asc') || ($sort=='desc')) { + $mid .= ' ORDER BY `login` '.$sort; + } + } + $pre=''; $post=''; + if (isset($layout)) { + if ($layout=='table') { + $pre='<table class=\'sortable\' id=\''.$tikilib->now.'\'><tr><th>'.tra('users').'</th></tr><tr><td>'; + $sep = '</td></tr><tr><td>'; + $post='</td></tr></table>'; + } + } + + $query = 'select `login` from `users_users` where '.$mid; + $result = $tikilib->query($query, $bindvars, $numRows); + $ret = array(); + + while ($row = $result->fetchRow()) { + $ret[] = $row['login']; + } + return $pre.implode ( $sep, $ret ).$post; +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-16 16:27:02
|
Revision: 14286 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14286&view=rev Author: lphuberdeau Date: 2008-08-16 16:27:11 +0000 (Sat, 16 Aug 2008) Log Message: ----------- [NEW] Mouseover plugin imported from mods and fixing bug #1550 Modified Paths: -------------- trunk/lib/setup/prefs.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_mouseover.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-16 15:41:40 UTC (rev 14285) +++ trunk/lib/setup/prefs.php 2008-08-16 16:27:11 UTC (rev 14286) @@ -199,6 +199,7 @@ $prefs['wikiplugin_miniquiz'] = 'y'; $prefs['wikiplugin_module'] = 'y'; $prefs['wikiplugin_mono'] = 'y'; + $prefs['wikiplugin_mouseover'] = 'y'; $prefs['wikiplugin_myspace'] = 'y'; $prefs['wikiplugin_objecthits'] = 'y'; $prefs['wikiplugin_pluginmanager'] = 'n'; Added: trunk/lib/wiki-plugins/wikiplugin_mouseover.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_mouseover.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_mouseover.php 2008-08-16 16:27:11 UTC (rev 14286) @@ -0,0 +1,121 @@ +<?php +/* + * $Header: /cvsroot/tikiwiki/_mods/wiki-plugins/mouseover/wiki-plugins/wikiplugin_mouseover.php,v 1.2 2008-03-17 17:59:19 sylvieg Exp $ + * PLugin mouseover - See documentation http://www.bosrup.com/web/overlib/?Documentation + */ +function wikiplugin_mouseover_help() { + return tra("Create a mouseover feature on some text").":<br />~np~{MOUSEOVER(url=url,text=text,parse=y,width=300,height=300, sticky=>y,left=y,right=n,center=n,above=n,below=y,offsetx=0,offsety=0,sticky=0|1)}".tra('text')."{MOUSEOVER}~/np~"; +} + +function wikiplugin_mouseover_info() { + return array( + 'name' => tra('Mouse Over'), + 'description' => tra('Create a mouseover feature on some text'), + 'prefs' => array( 'wikiplugin_mouseover' ), + 'body' => tra('Text displayed in the mouse over box.'), + 'params' => array( + 'url' => array( + 'required' => false, + 'name' => tra('URL'), + 'description' => tra('?'), + ), + 'text' => array( + 'required' => true, + 'name' => tra('Text'), + 'description' => tra('Text displayed on the page.'), + ), + 'parse' => array( + 'required' => false, + 'name' => tra('Parse'), + 'description' => tra('y|n'), + ), + 'width' => array( + 'required' => false, + 'name' => tra('Width'), + 'description' => tra('Mouse over box width.'), + ), + 'height' => array( + 'required' => false, + 'name' => tra('Height'), + 'description' => tra('Mouse over box height.'), + ), + 'sticky' => array( + 'required' => false, + 'name' => tra('Sticky'), + 'description' => tra('y|n'), + ), + 'left' => array( + 'required' => false, + 'name' => tra('Left'), + 'description' => tra('y|n'), + ), + 'right' => array( + 'required' => false, + 'name' => tra('Center'), + 'description' => tra('y|n'), + ), + 'center' => array( + 'required' => false, + 'name' => tra('Center'), + 'description' => tra('y|n'), + ), + 'above' => array( + 'required' => false, + 'name' => tra('Above'), + 'description' => tra('y|n'), + ), + 'below' => array( + 'required' => false, + 'name' => tra('Below'), + 'description' => tra('y|n'), + ), + 'offsetx' => array( + 'required' => false, + 'name' => tra('Horizontal Offset'), + 'description' => tra('Numeric'), + ), + 'offsety' => array( + 'required' => false, + 'name' => tra('Vertical Offset'), + 'description' => tra('Numeric'), + ), + ), + ); +} + +function wikiplugin_mouseover($data, $params) { + global $smarty, $tikilib; + extract ($params,EXTR_SKIP); + $html = ''; + if (empty($url)) { + $url = 'javascript:void()'; + } + if (!$smarty->get_template_vars('overlib_loaded')) { + $html .= '<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>'; + $html .= '<script type="text/javascript" src="lib/overlib.js"></script>'; + $smarty->assign('overlib_loaded',1); + } + $html .= "<a href='$url'"; + if (!empty($parse) && ($parse == 'y' || $parse == '1')) { + $data = $tikilib->parse_data($data); + $data = substr($data, 0, -1);// do not ask me why - but the parsing adds a CR + } + $data = preg_replace('/\r\n/', '<br />', $data); + $html .= " onmouseover=\"return overlib('".str_replace("'", "\'", htmlspecialchars($data))."'"; + foreach ($params as $param=>$value) { + $p = strtoupper($param); + if ($p != 'URL' && $p != 'TEXT' && $p != 'PARSE') { + if ((!empty($value) || $value != 'n') && ($p == 'STICKY' || $p == 'LEFT' || $p == 'RIGHT' || $p == 'CENTER' || $p == 'ABOVE' || $p == 'BELOW' || $p == 'AUTOSTATUS' || $p == 'AUTOSTATUSCAP' || $p == 'HAUTO' || $p == 'VAUTO' || $p == 'CLOSECLICK' || $p == 'FULLHTML' || $p == 'CSSOFF' || $p == 'CSSSTYLE' || $p == 'CSSCLASS' || $p == 'NOCLOSE')) { + $html .= ','.$p; + } else { + $html .= ','.$p; + $html .= ','.$value; + } + } + } + $html .= ");\" onmouseout='nd();' >"; + $html .= "$text</a>"; + + return $html; +} +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-16 17:54:15
|
Revision: 14288 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14288&view=rev Author: lphuberdeau Date: 2008-08-16 17:54:25 +0000 (Sat, 16 Aug 2008) Log Message: ----------- [MOD] Do not store preference default values in the session, reduces base size from 35k to 2.5k Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/lib/tikilib.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-16 17:21:54 UTC (rev 14287) +++ trunk/lib/setup/prefs.php 2008-08-16 17:54:25 UTC (rev 14288) @@ -1132,9 +1132,6 @@ // Reload if there was an update of some prefs $lastUpdatePrefs = $tikilib->getOne("select `value` from `tiki_preferences` where `name`=?", array('lastUpdatePrefs')); - if ( ! isset($lastUpdatePrefs) ) { - $tikilib->query("insert into `tiki_preferences` (`name`,`value`) values (?,?)", array('lastUpdatePrefs', 0)); - } if ( empty($_SESSION['s_prefs']['lastReadingPrefs']) || $lastUpdatePrefs > $_SESSION['s_prefs']['lastReadingPrefs'] ) { $_SESSION['need_reload_prefs'] = true; } @@ -1148,11 +1145,11 @@ } else $_SESSION['need_reload_prefs'] = true; +$defaults = get_default_prefs(); // Set default prefs only if needed if ( ! $_SESSION['need_reload_prefs'] ) { - $prefs = $_SESSION['s_prefs']; + $modified = $_SESSION['s_prefs']; } else { - $prefs = get_default_prefs(); // Find which preferences need to be serialized/unserialized, based on the default values (those with arrays as values) if ( ! isset($_SESSION['serialized_prefs']) ) { @@ -1161,37 +1158,32 @@ if ( is_array($v) ) $_SESSION['serialized_prefs'][] = $p; } - // Find which preferences need to be serialized/unserialized, based on the default values (those with arrays as values) - if ( ! isset($_SESSION['serialized_prefs']) ) { - $_SESSION['serialized_prefs'] = array(); - foreach ( $prefs as $p => $v ) - if ( is_array($v) ) $_SESSION['serialized_prefs'][] = $p; - } - // Override default prefs with values specified in database - $tikilib->get_db_preferences(); + $modified = $tikilib->get_db_preferences(); // Unserialize serialized preferences if ( isset($_SESSION['serialized_prefs']) && is_array($_SESSION['serialized_prefs']) ) { foreach ( $_SESSION['serialized_prefs'] as $p ) { - if ( ! is_array($prefs[$p]) ) $prefs[$p] = unserialize($prefs[$p]); + if ( ! is_array($modified[$p]) ) $modified[$p] = unserialize($modified[$p]); } } // Be absolutely sure we have a value for tikiIndex - if ( $prefs['tikiIndex'] == '' ) $prefs['tikiIndex'] = 'tiki-index.php'; + if ( $modified['tikiIndex'] == '' ) $modified['tikiIndex'] = 'tiki-index.php'; // Keep some useful sites values available before overriding with user prefs // (they could be used in templates, so we need to set them even for Anonymous) global $user_overrider_prefs; foreach ( $user_overrider_prefs as $uop ) { - $prefs['site_'.$uop] = $prefs[$uop]; + $modified['site_'.$uop] = $modified[$uop]; } // Assign prefs to the session - $_SESSION['s_prefs'] = $prefs; + $_SESSION['s_prefs'] = $modified; } +$prefs = array_merge( $defaults, $modified ); + // Assign the prefs array in smarty, by reference $smarty->assign_by_ref('prefs', $prefs); Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-08-16 17:21:54 UTC (rev 14287) +++ trunk/lib/tikilib.php 2008-08-16 17:54:25 UTC (rev 14288) @@ -4280,30 +4280,46 @@ // This method overrides the prefs with those specified in database // and should only be used when populating the prefs array in session vars (during tiki-setup.php process) function get_db_preferences() { - global $prefs; + + $needLoading = false; + $needCache = false; + // modified to cache for non-logged in users (case where logged out users have no session) if (isset($_SESSION['s_prefs'])) { - // logged in - $result = $this->query("select `name` ,`value` from `tiki_preferences`"); - while ( $res = $result->fetchRow() ) { - $prefs[$res['name']] = $res['value']; - $_SESSION['s_prefs'][$res['name']] = $res['value']; - } - $_SESSION['s_prefs']['lastReadingPrefs'] = $prefs['lastReadingPrefs'] = $prefs['lastUpdatePrefs']; + $needLoading = true; } else { //logged out global $cachelib; require_once("lib/cache/cachelib.php"); - if (!$cachelib->isCached("tiki_preferences_cache")) { - $result = $this->query("select `name` ,`value` from `tiki_preferences`"); - while ( $res = $result->fetchRow() ) { - $prefs[$res['name']] = $res['value']; - } - $prefs['lastReadingPrefs'] = $prefs['lastUpdatePrefs']; - $cachelib->cacheItem("tiki_preferences_cache",serialize($prefs)); + if ($cachelib->isCached("tiki_preferences_cache")) { + return unserialize($cachelib->getCached("tiki_preferences_cache")); } else { - $prefs = unserialize($cachelib->getCached("tiki_preferences_cache")); + $needLoading = true; + $needCache = true; } } + + if( $needLoading ) { + $defaults = get_default_prefs(); + $modified = array(); + + // logged in + $result = $this->query("select `name` ,`value` from `tiki_preferences`"); + while ( $res = $result->fetchRow() ) { + $name = $res['name']; + $value = $res['value']; + + if( !isset($defaults[$name]) || $defaults[$name] != $value ) + $modified[$name] = $value; + } + + $modified['lastReadingPrefs'] = $modified['lastUpdatePrefs']; + } + + if( $needCache ) { + $cachelib->cacheItem("tiki_preferences_cache",serialize($modified)); + } + + return $modified; } function get_preferences( $names, $exact_match = false, $no_return = false ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-16 20:46:14
|
Revision: 14296 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14296&view=rev Author: lphuberdeau Date: 2008-08-16 20:46:23 +0000 (Sat, 16 Aug 2008) Log Message: ----------- [FIX] Make sure the feature.csv gets loaded Modified Paths: -------------- trunk/lib/admin/magiclib.php trunk/lib/setup/prefs.php Modified: trunk/lib/admin/magiclib.php =================================================================== --- trunk/lib/admin/magiclib.php 2008-08-16 20:06:14 UTC (rev 14295) +++ trunk/lib/admin/magiclib.php 2008-08-16 20:46:23 UTC (rev 14296) @@ -9,7 +9,46 @@ class MagicLib extends TikiLib { function MagicLib($db) { $this->TikiLib($db); + + global $prefs; + $lastLoad = $prefs['magic_last_load']; + $lastMod = filemtime( 'db/features.csv' ); + + if( $lastMod > $lastLoad ) + { + $this->reload_features(); + $this->set_preference( 'magic_last_load', $lastMod ); + } } + + function reload_features() { + $this->query( "DELETE FROM tiki_feature" ); + + $fp = fopen( 'db/features.csv', 'r' ); + fgetcsv( $fp, 1024, ',', '"' ); + while( false !== $row = fgetcsv( $fp, 1024, ',', '"' ) ) + { + while( count($row) < 11 ) + $row[] = ''; + if( count($row) != 11 ) + $row = array_slice( $row, 0, 11 ); + $query = "INSERT INTO tiki_feature (`feature_id`, `feature_name`, `parent_id`, `status`, `setting_name`, `feature_type`, `template`, `permission`, `ordinal`, `depends_on`, `keyword`) VALUES(" . rtrim(str_repeat(' ?,', count($row)), ',') . ")"; + $this->query( $query, $row); + } + fclose( $fp ); + + $this->recursive_update( 0 ); + } + + function recursive_update( $featureid, $path = null ) { + $features = $this->get_child_features($featureid); + if ($features) { + foreach($features as $feature) { + $this->update_feature_specials($feature, $path . '/' . $feature['feature_id']); + $this->recursive_update($feature['feature_id'], $path . '/' . $feature['feature_id']); + } + } + } function get_child_features($parentid, $featurefilter='') { global $prefs; Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-16 20:06:14 UTC (rev 14295) +++ trunk/lib/setup/prefs.php 2008-08-16 20:46:23 UTC (rev 14296) @@ -1081,6 +1081,8 @@ 'feature_bidi' => 'n', 'feature_lastup' => 'y', 'transition_style_ver' => '1.9', + + 'magic_last_load' => 0, ); // spellcheck This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-22 19:26:18
|
Revision: 14489 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14489&view=rev Author: sylvieg Date: 2008-08-22 19:26:27 +0000 (Fri, 22 Aug 2008) Log Message: ----------- [MOD]tracker: page selector tracker field - only automatic feed 1 (the page the item is created) is working now Modified Paths: -------------- trunk/lib/trackers/trackerlib.php trunk/lib/wiki-plugins/wikiplugin_tracker.php trunk/lib/wiki-plugins/wikiplugin_trackerlist.php Modified: trunk/lib/trackers/trackerlib.php =================================================================== --- trunk/lib/trackers/trackerlib.php 2008-08-22 18:54:17 UTC (rev 14488) +++ trunk/lib/trackers/trackerlib.php 2008-08-22 19:26:27 UTC (rev 14489) @@ -2303,6 +2303,16 @@ <dt>Description: <dd><strong>[auto-assign]</strong> will auto-populate the field with the IP address of the user who created the item if set to 1, or will set the field to the IP of the user who last modified the item if set to 2, or will be a free IP for other values. </dl>')); + $type['k'] = array( + 'label'=>tra('page selector'), + 'opt'=>true, + 'help'=>tra('<dl> + <dt>Function: Allows a section fron the list of pages. + <dt>Usage: <strong>auto-assign</strong> + <dt>Description: + <dd><strong>[auto-assign]</strong> will auto-assign the creator of the item if set to 1 + <dd> + </dl>')); $type['y'] = array( 'label'=>tra('country selector'), 'opt'=>true, Modified: trunk/lib/wiki-plugins/wikiplugin_tracker.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_tracker.php 2008-08-22 18:54:17 UTC (rev 14488) +++ trunk/lib/wiki-plugins/wikiplugin_tracker.php 2008-08-22 19:26:27 UTC (rev 14489) @@ -251,7 +251,7 @@ } else { $newItemRate = NULL; } - } elseif (($flds['data'][$cpt]['type'] == 'u' || $flds['data'][$cpt]['type'] == 'g' || $flds['data'][$cpt]['type'] == 'I') && ($flds['data'][$cpt]['options_array'][0] == '1' || $flds['data'][$cpt]['options_array'][0] == '2') && $tiki_p_admin_trackers != 'y' && empty($_REQUEST['track'][$fl['fieldId']])) { + } elseif (($flds['data'][$cpt]['type'] == 'u' || $flds['data'][$cpt]['type'] == 'g' || $flds['data'][$cpt]['type'] == 'I' || $flds['data'][$cpt]['type'] == 'k') && ($flds['data'][$cpt]['options_array'][0] == '1' || $flds['data'][$cpt]['options_array'][0] == '2') && $tiki_p_admin_trackers != 'y' && empty($_REQUEST['track'][$fl['fieldId']])) { if (empty($itemId) && ($flds['data'][$cpt]['options_array'][0] == '1' || $flds['data'][$cpt]['options_array'][0] == '2')) { if ($flds['data'][$cpt]['type'] == 'u') $_REQUEST['track'][$fl['fieldId']] = empty($user)?(empty($_REQUEST['name'])? '':$_REQUEST['name']):$user; @@ -259,6 +259,8 @@ $_REQUEST['track'][$fl['fieldId']] = $group; elseif ($flds['data'][$cpt]['type'] == 'I') $_REQUEST['track'][$fl['fieldId']] = isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']: ''; + elseif ($flds['data'][$cpt]['type'] == 'k') + $_REQUEST['track'][$fl['fieldId']] = isset($_REQUEST['page'])?$_REQUEST['page']: ''; } elseif (!empty($itemId) && $flds['data'][$cpt]['options_array'][0] == '2') { if ($flds['data'][$cpt]['type'] == 'u') $_REQUEST['track'][$fl['fieldId']] = $user; Modified: trunk/lib/wiki-plugins/wikiplugin_trackerlist.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_trackerlist.php 2008-08-22 18:54:17 UTC (rev 14488) +++ trunk/lib/wiki-plugins/wikiplugin_trackerlist.php 2008-08-22 19:26:27 UTC (rev 14489) @@ -3,7 +3,7 @@ function wikiplugin_trackerlist_help() { $help = tra("Displays the output of a tracker content, fields are indicated with numeric ids.").":\n"; - $help.= "~np~{TRACKERLIST(trackerId=1,fields=2:4:5, sort=y, popup=6:7, stickypopup=y, showtitle=y, showlinks=y, showdesc=y, shownbitems=n, showinitials=y, showstatus=y, showcreated=y, showlastmodif=y, showfieldname=n, status=o|p|c|op|oc|pc|opc, sort_mode=, max=, filterfield=1:2, filtervalue=x:y, exactvalue=x:y, checkbox=fieldId/name/title/submit/action/tpl,goIfOne=y,more=y,moreurl=,view=user,tpl=,wiki=,view_user=user,itemId=,url=,ldelim=,rdelim=)}Notice{TRACKERLIST}~/np~"; + $help.= "~np~{TRACKERLIST(trackerId=1,fields=2:4:5, sort=y, popup=6:7, stickypopup=y, showtitle=y, showlinks=y, showdesc=y, shownbitems=n, showinitials=y, showstatus=y, showcreated=y, showlastmodif=y, showfieldname=n, status=o|p|c|op|oc|pc|opc, sort_mode=, max=, filterfield=1:2, filtervalue=x:y, exactvalue=x:y, checkbox=fieldId/name/title/submit/action/tpl,goIfOne=y,more=y,moreurl=,view=user|page,tpl=,wiki=,view_user=user,itemId=,url=,ldelim=,rdelim=)}Notice{TRACKERLIST}~/np~"; return $help; } @@ -138,7 +138,7 @@ 'view' => array( 'required' => false, 'name' => tra('View'), - 'description' => tra('?'), + 'description' => 'user|page '.tra('Select automatically the item of the current user or the page'), ), 'tpl' => array( 'required' => false, @@ -163,7 +163,7 @@ 'url' => array( 'required' => false, 'name' => tra('URL'), - 'description' => tra('?'), + 'description' => tra('link url'), ), 'ldelim' => array( 'required' => false, @@ -391,6 +391,13 @@ $exactvalue[] = isset($view)? $user: $view_user; } } + if (isset($view) && $view == 'page' && $_REQUEST['page']) { + if ($f = $trklib->get_field_id_from_type($trackerId, 'k', '1%')) { + $filterfield[] = $f; + $filtervalue[] = ''; + $exactvalue[] = $_REQUEST['page']; + } + } if (!isset($filtervalue)) { $filtervalue = ''; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-30 15:45:11
|
Revision: 14557 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14557&view=rev Author: sylvieg Date: 2008-08-30 15:45:21 +0000 (Sat, 30 Aug 2008) Log Message: ----------- [FIX]sefurl: sefurl for wiki in search (badly implemented for mysql search) Modified Paths: -------------- trunk/lib/search/searchlib.php trunk/lib/searchlib.php Modified: trunk/lib/search/searchlib.php =================================================================== --- trunk/lib/search/searchlib.php 2008-08-30 10:42:42 UTC (rev 14556) +++ trunk/lib/search/searchlib.php 2008-08-30 15:45:21 UTC (rev 14557) @@ -728,7 +728,8 @@ } function find_exact_wiki($words,$offset, $maxRecords) { - global $prefs, $user, $tikilib; + global $prefs, $user, $tikilib; + global $wikilib;include_once('lib/wiki/wikilib.php'); if ($prefs['feature_wiki'] == 'y' && count($words) >0) { $query = "select distinct s.`page`, s.`location`, s.`last_update`, sum(s.`count`) as `count`, p.`data`, p.`hits`, p.`lastModif`, p.`is_html` from `tiki_searchindex` s, `tiki_pages` p @@ -741,7 +742,7 @@ $ret=array(); while ($res = $result->fetchRow()) { if($this->user_has_perm_on_object($user,$res["page"],'wiki page','tiki_p_view', 'tiki_p_search_categorized')) { - $href = "tiki-index.php?page=".urlencode($res["page"]); + $href = $wikilib->sefurl($res['page']); ++$cant; $ret[] = array( 'pageName' => $res["page"], Modified: trunk/lib/searchlib.php =================================================================== --- trunk/lib/searchlib.php 2008-08-30 10:42:42 UTC (rev 14556) +++ trunk/lib/searchlib.php 2008-08-30 15:45:21 UTC (rev 14557) @@ -279,7 +279,6 @@ 'data' => 'c.`data`', 'hits' => 'p.`hits`', // c.hits is always null for a page comment!! 'lastModif' => 'c.`commentDate`', - 'href' => 'tiki-index.php?page=%s#comments', 'id' => array('p.`pageName`', 'c.`threadId`'), 'pageName' => $this->db->concat('p.`pageName`', "': '", 'c.`title`'), 'search' => array('c.`title`', 'c.`data`'), @@ -289,6 +288,7 @@ 'objectType' => 'wiki page', 'objectKey' => 'p.`pageName`', ); + $search_wikis_comments['href'] = $prefs['feature_sefurl'] == 'y'? '%s#comments': 'tiki-index.php?page=%s#comments'; $rv = $this->_find($search_wikis_comments, $words, $offset, $maxRecords, $fulltext); static $search_wikis = array( @@ -297,7 +297,6 @@ 'data' => '`data`', 'hits' => 'p.`hits`', //'pageRank', pageRank is updated not very often since the line below is in comment 'lastModif' => '`lastModif`', - 'href' => 'tiki-index.php?page=%s', 'id' => array('`pageName`'), 'pageName' => '`pageName`', 'search' => array('p.`pageName`', 'p.`description`', '`data`'), @@ -306,6 +305,7 @@ 'objectType' => 'wiki page', 'objectKey' => 'p.`pageName`', ); + $search_wikis['href'] = $prefs['feature_sefurl'] == 'y'? '%s#comments': 'tiki-index.php?page=%s#comments'; if ($prefs['search_parsed_snippet'] == 'y') { $search_wikis['is_html'] = 'is_html'; $search_wikis['parsed'] = true; @@ -314,7 +314,7 @@ // that pagerank re-calculation was speed handicap (timex30) //$this->pageRank(); if (!$rv['cant']) - return $this->_find($search_wikis, $words, $offset, $maxRecords, $fulltext); + $data = $this->_find($search_wikis, $words, $offset, $maxRecords, $fulltext); else { $data = array(); $data = $this->_find($search_wikis, $words, $offset, $maxRecords, $fulltext); @@ -326,8 +326,9 @@ array_push($data['data'], $a); } $data['cant'] += $rv['cant']; - return $data; } + + return $data; } function find_relevance_cmp($a, $b) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-01 13:14:46
|
Revision: 14564 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14564&view=rev Author: lphuberdeau Date: 2008-09-01 13:14:54 +0000 (Mon, 01 Sep 2008) Log Message: ----------- [NEW]?\194?\160Import redirect plugin from mods to core (to be used as a test for plugin validation) Modified Paths: -------------- trunk/lib/setup/prefs.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_redirect.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-09-01 13:01:48 UTC (rev 14563) +++ trunk/lib/setup/prefs.php 2008-09-01 13:14:54 UTC (rev 14564) @@ -192,6 +192,7 @@ 'wikiplugin_poll' => 'y', 'wikiplugin_proposal' => 'y', 'wikiplugin_quote' => 'y', + 'wikiplugin_redirect' => 'n', 'wikiplugin_regex' => 'n', 'wikiplugin_remarksbox' => 'y', 'wikiplugin_rss' => 'y', Copied: trunk/lib/wiki-plugins/wikiplugin_redirect.php (from rev 14563, mods/trunk/wiki-plugins/redirect/wiki-plugins/wikiplugin_redirect.php) =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_redirect.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_redirect.php 2008-09-01 13:14:54 UTC (rev 14564) @@ -0,0 +1,56 @@ +<?php + +// $Header: /cvsroot/tikiwiki/_mods/wiki-plugins/redirect/wiki-plugins/wikiplugin_redirect.php,v 1.7 2005-11-20 09:54:17 ang23 Exp $ + +// Wiki plugin to redirect to another page. +// damian aka damosoft 30 March 2004 + +function wikiplugin_redirect_help() { + return tra("Redirects you to another wiki page").":<br />~np~{REDIRECT(page=pagename [,url=http://foobar])/}~/np~"; +} + +function wikiplugin_redirect_info() { + return array( + 'name' => tra('Redirect'), + 'description' => tra('Redirect the user to a wiki page or generic URL.'), + 'prefs' => array( 'wikiplugin_redirect' ), + 'validate' => array( 'arguments' ), + 'params' => array( + 'page' => array( + 'required' => false, + 'name' => tra('Page Name'), + 'description' => tra('Wiki page name to redirect to.'), + ), + 'url' => array( + 'required' => false, + 'name' => tra('URL'), + 'description' => tra('Complete URL, internal or external.'), + ), + ), + ); +} + +function wikiplugin_redirect($data, $params) { + + extract ($params,EXTR_SKIP); + $areturn = ''; + + if (!isset($page)) {$areturn = "REDIRECT plugin: No page specified!";} + if (!isset($url)) {$areturn += "REDIRECT plugin: No url specified!";} + if ((isset($_REQUEST['redirectpage']))) { + $areturn = "REDIRECT plugin: redirect loop detected!"; + } else { + if (isset($page)) { + header("Location: tiki-index.php?page=$page&redirectpage=".$_REQUEST['page']); + exit; + } + if (isset($url)) { + header("Location: $url"); + exit; + } + } + + return $areturn; +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-07 12:55:47
|
Revision: 14630 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14630&view=rev Author: lphuberdeau Date: 2008-09-07 12:55:58 +0000 (Sun, 07 Sep 2008) Log Message: ----------- [NEW] Webservice plugin Modified Paths: -------------- trunk/lib/setup/prefs.php Added Paths: ----------- trunk/lib/ointegratelib.php trunk/lib/wiki-plugins/wikiplugin_webservice.php Added: trunk/lib/ointegratelib.php =================================================================== --- trunk/lib/ointegratelib.php (rev 0) +++ trunk/lib/ointegratelib.php 2008-09-07 12:55:58 UTC (rev 14630) @@ -0,0 +1,230 @@ +<?php + +class OIntegrate +{ + private $schemaVersion = array(); + private $acceptTemplates = array(); + + public static function getEngine( $name, $engineOutput ) // {{{ + { + switch( $name ) + { + case 'javascript': + return new OIntegrate_Engine_JavaScript; + case 'smarty': + return new OIntegrate_Engine_Smarty( $engineOutput == 'tikiwiki' ); + } + } // }}} + + public static function getConverter( $from, $to ) // {{{ + { + switch( $from ) + { + case 'html': + if( $to == 'tikiwiki' ) + return new OIntegrate_Converter_HtmlToTiki; + break; + } + } // }}} + + function performRequest( $url ) // {{{ + { + global $cachelib; + require_once 'lib/cache/cachelib.php'; + + if( $cachelib->isCached( $url ) ) { + $cache = $cachelib->getCached( $url ); + $cache = unserialize( $cache ); + + if( time() < $cache['expires'] ) + return $cache['data']; + + $cachelib->invalidate( $url ); + } + + $opts = array( + 'http' => array( + 'method' => 'GET', + 'header' => + "Accept: application/json,text/x-yaml\r\n" + . "OIntegrate-Version: 1.0\r\n", + 'content' => '', + ), + ); + + if( count( $this->schemaVersion ) ) + $opts['http']['header'] .= "OIntegrate-SchemaVersion: " . implode( ', ', $this->schemaVersion ) . "\r\n"; + if( count( $this->acceptTemplates ) ) + $opts['http']['header'] .= "OIntegrate-AcceptTemplate: " . implode( ', ', $this->acceptTemplates ) . "\r\n"; + + $context = stream_context_create( $opts ); + $content = file_get_contents( $url, false, $context ); + + $contentType = $this->extractHeader( $http_response_header, 'Content-Type' ); + $cacheControl = $this->extractHeader( $http_response_header, 'Cache-Control' ); + + $response = new OIntegrate_Response; + $response->data = $this->unserialize( $contentType, $content ); + $response->version = $this->extractHeader( $http_response_header, 'OIntegrate-Version' ); + $response->schemaVersion = $this->extractHeader( $http_response_header, 'OIntegrate-SchemaVersion' ); + if( ! $response->schemaVersion && isset( $response->data->_version ) ) + $response->schemaVersion = $response->data->_version; + + global $prefs; + // Respect cache duration asked for + if( preg_match( '/max-age=(\d+)/', $cacheControl, $parts ) ) { + $expiry = time() + $parts[1]; + + $cachelib->cacheItem( $url, serialize( array( + 'expires' => $expiry, + 'data' => $response, + ) ) ); + // Unless service specifies not to cache result, apply a default cache + } elseif( false !== strpos( $cacheControl, 'no-cache' ) && $prefs['webservice_consume_defaultcache'] > 0 ) { + $expiry = time() + $prefs['webservice_consume_defaultcache']; + + $cachelib->cacheItem( $url, serialize( array( + 'expires' => $expiry, + 'data' => $response, + ) ) ); + } + + return $response; + } // }}} + + private function extractHeader( $headerList, $name ) // {{{ + { + $name = strtolower( $name ); + foreach( $headerList as $line ) + if( strpos( strtolower($line), $name ) === 0 ) { + list( $header, $value ) = explode( ':', $line, 2 ); + + return trim( $value ); + } + } // }}} + + function unserialize( $type, $data ) // {{{ + { + $parts = explode( ';', $type ); + $type = trim($parts[0]); + + switch( $type ) + { + case 'application/json': + case 'text/javascript': + return json_decode( $data, true ); + case 'text/x-yaml': + return Horde_Yaml::load( $data ); + } + } // }}} + + function addSchemaVersion( $version ) // {{{ + { + $this->schemaVersion[] = $version; + } // }}} + + function addAcceptTemplate( $engine, $output ) // {{{ + { + $this->acceptTemplate[] = "$engine/$output"; + } // }}} +} + +class OIntegrate_Response +{ + public $version = null; + public $schemaVersion = null; + public $data; + + private $errors = array(); + + function render( $engine, $engineOutput, $outputContext, $templateFile ) // {{{ + { + $engine = OIntegrate::getEngine( $engine, $engineOutput ); + if( $engineOutput == $outputContext ) { + $output = new OIntegrate_Converter_Direct; + } else { + $output = OIntegrate::getConverter( $engineOutput, $outputContext ); + + if( ! $output ) { + $this->errors = array( 1001, 'Output converter not found.' ); + return; + } + } + + if( ! $engine ) { + $this->errors = array( 1000, 'Engine not found' ); + return; + } + + $raw = $engine->process( $this->data, $templateFile ); + return $output->convert( $raw ); + } // }}} +} + +interface OIntegrate_Converter +{ + function convert( $content ); +} + +interface OIntegrate_Engine +{ + function process( $data, $templateFile ); +} + +class OIntegrate_Engine_JavaScript implements OIntegrate_Engine // {{{ +{ + function process( $data, $templateFile ) + { + $json = json_encode( $data ); + + return <<<EOC +<script type="text/javascript"> +var response = $json; +</script> +EOC + . file_get_contents( $templateFile ); + } +} // }}} + +class OIntegrate_Engine_Smarty implements OIntegrate_Engine // {{{ +{ + private $changeDelimiters; + + function __construct( $changeDelimiters = false ) + { + $this->changeDelimiters = $changeDelimiters; + } + + function process( $data, $templateFile ) + { + $smarty = new Smarty; + $smarty->security = true; + $smarty->template_dir = dirname($templateFile); + + if( $this->changeDelimiters ) { + $smarty->left_delimiter = '{{'; + $smarty->right_delimiter = '}}'; + } + + $smarty->assign( 'response', $data ); + return $smarty->fetch( $templateFile ); + } +} // }}} + +class OIntegrate_Converter_Direct implements OIntegrate_Converter // {{{ +{ + function convert( $content ) + { + return $content; + } +} // }}} + +class OIntegrate_Converter_HtmlToTiki implements OIntegrate_Converter // {{{ +{ + function convert( $content ) + { + return '~np~' . $content . '~/np~'; + } +} // }}} + +?> Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-09-06 14:10:24 UTC (rev 14629) +++ trunk/lib/setup/prefs.php 2008-09-07 12:55:58 UTC (rev 14630) @@ -227,8 +227,12 @@ 'wikiplugin_versions' => 'y', 'wikiplugin_vote' => 'y', 'wikiplugin_wantedpages' => 'y', + 'wikiplugin_webservice' => 'n', 'wikiplugin_youtube' => 'y', + // webservices + 'webservice_consume_defaultcache' => 300, // 5 min + // wysiwyg 'feature_wysiwyg' => 'n', 'wysiwyg_optional' => 'y', Added: trunk/lib/wiki-plugins/wikiplugin_webservice.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_webservice.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_webservice.php 2008-09-07 12:55:58 UTC (rev 14630) @@ -0,0 +1,57 @@ +<?php + +function wikiplugin_webservice_info() { + return array( + 'name' => tra('Web Service'), + 'description' => tra('Obtains and display remote information exposed in JSON or YAML. The plugin can be used to display registered or unregistered services. Registered services may use more parameters not defined in this interface.'), + 'prefs' => array(), + 'body' => tra('Template to apply to the data provided. Template format uses smarty templating engine using double brackets as delimiter. Output must provide wiki syntax.'), + 'validate' => 'all', + 'params' => array( + 'url' => array( + 'required' => false, + 'name' => tra('URL'), + 'description' => tra('Complete service URL'), + ), + /* + 'service' => array( + 'required' => false, + 'safe' => true, + 'name' => tra('Service Name'), + 'description' => tra('Registered service name.'), + ), + 'template' => array( + 'required' => false, + 'safe' => true, + 'name' => tra('Template Name'), + 'description' => tra('For use with registered services, name of the template to be used to display the service output. This parameter will be ignored if a body is provided.'), + ), + */ + ), + ); +} + +function wikiplugin_webservice( $data, $params ) { + require_once 'lib/ointegratelib.php'; + require_once( 'Horde/Yaml.php' ); + require_once( 'Horde/Yaml/Loader.php' ); + require_once( 'Horde/Yaml/Node.php' ); + require_once( 'Horde/Yaml/Exception.php' ); + + if( isset( $params['url'] ) ) { + // When URL is specified, always use the body as template + $request = new OIntegrate; + $response = $request->performRequest( $params['url'] ); + + $templateFile = realpath( './temp/cache/' . md5($data) ); + + if( ! file_exists( $templateFile ) ) + file_put_contents( $templateFile, $data ); + + return $response->render( 'smarty', 'tikiwiki', 'tikiwiki', $templateFile ); + } else { + // TODO : Use registered services + } +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-17 19:25:13
|
Revision: 14736 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14736&view=rev Author: lphuberdeau Date: 2008-09-17 19:25:22 +0000 (Wed, 17 Sep 2008) Log Message: ----------- [NEW]?\194?\160Allow creation of plugin alias from profiles Modified Paths: -------------- trunk/lib/profilelib/installlib.php trunk/lib/tikilib.php Modified: trunk/lib/profilelib/installlib.php =================================================================== --- trunk/lib/profilelib/installlib.php 2008-09-17 18:44:52 UTC (rev 14735) +++ trunk/lib/profilelib/installlib.php 2008-09-17 19:25:22 UTC (rev 14736) @@ -14,6 +14,7 @@ 'menu' => 'Tiki_Profile_InstallHandler_Menu', 'blog' => 'Tiki_Profile_InstallHandler_Blog', 'blog_post' => 'Tiki_Profile_InstallHandler_BlogPost', + 'plugin_alias' => 'Tiki_Profile_InstallHandler_PluginAlias', ); private static $typeMap = array( @@ -1084,6 +1085,60 @@ } } // }}} +class Tiki_Profile_InstallHandler_PluginAlias extends Tiki_Profile_InstallHandler // {{{ +{ + function getData() + { + if( $this->data ) + return $this->data; + + $defaults = array( + 'body' => array( + 'input' => 'ignore', + 'default' => '', + 'params' => array() + ), + 'params' => array( + ), + ); + + $data = array_merge( + $defaults, + $this->obj->getData() + ); + + return $this->data = $data; + } + + function canInstall() + { + $data = $this->getData(); + + if( ! isset( $data['name'], $data['implementation'], $data['description'] ) ) + return false; + + if( ! is_array($data['description']) || ! is_array($data['body']) || ! is_array($data['params']) ) + return false; + + return true; + } + + function _install() + { + global $tikilib; + $data = $this->getData(); + + $this->obj->replaceReferences( $data ); + + $name = $data['name']; + unset( $data['name'] ); + + $tikilib->plugin_alias_store( $name, $data ); + + return $name; + } +} // }}} + interface Tiki_Profile_Converter { function convert( $value ); Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-17 18:44:52 UTC (rev 14735) +++ trunk/lib/tikilib.php 2008-09-17 19:25:22 UTC (rev 14736) @@ -5331,6 +5331,7 @@ encoding: none|html|url - default to none */ + $name = strtolower( $name ); $data['plugin_name'] = $name; $prefName = "pluginalias_$name"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-24 16:35:29
|
Revision: 14848 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14848&view=rev Author: lphuberdeau Date: 2008-09-24 15:26:08 +0000 (Wed, 24 Sep 2008) Log Message: ----------- [FIX] Solve the PDO-AdoDB concat() incompatibility Modified Paths: -------------- trunk/lib/categories/categlib.php trunk/lib/tikidblib-adodb.php trunk/lib/tikidblib-pdo.php Modified: trunk/lib/categories/categlib.php =================================================================== --- trunk/lib/categories/categlib.php 2008-09-24 15:20:51 UTC (rev 14847) +++ trunk/lib/categories/categlib.php 2008-09-24 15:26:08 UTC (rev 14848) @@ -434,7 +434,7 @@ } } - $query_cant = "SELECT DISTINCT c.*, o.* FROM `tiki_category_objects` c, `tiki_categorized_objects` co, `tiki_objects` o LEFT JOIN `users_objectpermissions` u ON u.`objectId`=MD5(".$this->db->concat("o.`type`","LOWER(o.`itemId`)").") AND u.`objectType`=o.`type` WHERE c.`catObjectId`=o.`objectId` AND o.`objectId`=co.`catObjectId` $where"; + $query_cant = "SELECT DISTINCT c.*, o.* FROM `tiki_category_objects` c, `tiki_categorized_objects` co, `tiki_objects` o LEFT JOIN `users_objectpermissions` u ON u.`objectId`=MD5(".$this->concat("o.`type`","LOWER(o.`itemId`)").") AND u.`objectType`=o.`type` WHERE c.`catObjectId`=o.`objectId` AND o.`objectId`=co.`catObjectId` $where"; $query = $query_cant . $orderBy; $result = $this->query($query,$bindVars,$maxRecords,$offset); $resultCant = $this->query($query_cant,$bindVars); Modified: trunk/lib/tikidblib-adodb.php =================================================================== --- trunk/lib/tikidblib-adodb.php 2008-09-24 15:20:51 UTC (rev 14847) +++ trunk/lib/tikidblib-adodb.php 2008-09-24 15:26:08 UTC (rev 14848) @@ -431,6 +431,12 @@ } } + +function concat() { + $args = func_get_args(); + return call_user_func_array( array( $this->db, 'concat' ), $args ); +} + function debugger_log($query, $values) { // Will spam only if debug parameter present in URL Modified: trunk/lib/tikidblib-pdo.php =================================================================== --- trunk/lib/tikidblib-pdo.php 2008-09-24 15:20:51 UTC (rev 14847) +++ trunk/lib/tikidblib-pdo.php 2008-09-24 15:26:08 UTC (rev 14848) @@ -438,7 +438,7 @@ return " IFNULL($field, $ifNull) "; // if MySQL } - function Concat() { + function concat() { $s = ""; $arr = func_get_args(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-25 20:53:12
|
Revision: 14865 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14865&view=rev Author: lphuberdeau Date: 2008-09-25 20:53:08 +0000 (Thu, 25 Sep 2008) Log Message: ----------- [MOD] Moving code to plugins, keeping backwards compatibility, fixing edge case in parameter separation Modified Paths: -------------- trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_content.php trunk/lib/wiki-plugins/wikiplugin_img.php trunk/lib/wiki-plugins/wikiplugin_rcontent.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-25 19:29:22 UTC (rev 14864) +++ trunk/lib/tikilib.php 2008-09-25 20:53:08 UTC (rev 14865) @@ -4908,6 +4908,11 @@ } function plugin_match(&$data, &$plugins) { + global $pluginskiplist; + set_time_limit(5); + if( !is_array( $pluginskiplist ) ) + $pluginskiplist = array(); + $matcher = "/\{([A-Z]+)\(|\{([a-z]+)(\s|\})|~pp~|~np~|<[pP][rR][eE]>/"; preg_match( $matcher, $data, $plugins ); @@ -4918,8 +4923,14 @@ */ // Check to make sure there was a match. - if( count( $plugins ) > 0 && count( $plugins[0] ) > 0 - ) { + if( count( $plugins ) > 0 && count( $plugins[0] ) > 0 ) { + $pos = 0; + while( in_array( $plugins[0], $pluginskiplist ) ) { + $pos = strpos( $data, $plugins[0], $pos ) + 1; + if( ! preg_match( $matcher, substr($data, $pos), $plugins ) ) + return; + } + // If it is a true plugin if( $plugins[0]{0} == "{" ) { $pos = strpos( $data, $plugins[0] ); // where plugin starts @@ -5039,7 +5050,7 @@ } // If last parameter, consider next as end of string - if( preg_match( "/\w+=/", $params_string, $parts ) ) { + if( preg_match( "/[\s,]\w+=/", $params_string, $parts ) ) { $end = strpos( $params_string, $parts[0] ); $value = substr( $params_string, 0, $end ); $params_string = substr( $params_string, $end ); @@ -5057,7 +5068,9 @@ // This recursive function handles pre- and no-parse sections and plugins function parse_first(&$data, &$preparsed, &$noparsed, $real_start_diff='0') { - global $dbTiki, $smarty, $tiki_p_edit, $prefs; + global $dbTiki, $smarty, $tiki_p_edit, $prefs, $pluginskiplist; + if( ! is_array( $pluginskiplist ) ) + $pluginskiplist = array(); if( strlen( $data ) <= 1 ) { return; @@ -5244,20 +5257,31 @@ $ret = tra( "__WARNING__: Plugin disabled $plugin! " ) . $plugin_data; } + $skip = false; } else { - // Handle nested plugins. - $this->parse_first($plugin_data, $preparsed, $noparsed); + if( $plugins['type'] == 'long' ) { + // Handle nested plugins. + $this->parse_first($plugin_data, $preparsed, $noparsed); + $ret = tra( "__WARNING__: No such module $plugin! " ) . $plugin_data; - $ret = tra( "__WARNING__: No such module $plugin! " ) . $plugin_data; + $skip = false; + } else { + // Short plugins need to be returned like normal plugins for backwards compat. + $pluginskiplist[] = $plugins[0]; + + $skip = true; + } } - // Handle pre- & no-parse sections and plugins inserted by this plugin - $this->parse_first($ret, $preparsed, $noparsed); - //$ret = $this->parse_data($ret); + if( ! $skip ) { + // Handle pre- & no-parse sections and plugins inserted by this plugin + $this->parse_first($ret, $preparsed, $noparsed); + //$ret = $this->parse_data($ret); - // Replace plugin section with its output in data - $data = substr_replace($data, $ret, $pos, $pos_end - $pos + strlen($plugin_end)); - $real_start_diff -= strlen($ret) - $pos_end - $pos + strlen($plugin_end); + // Replace plugin section with its output in data + $data = substr_replace($data, $ret, $pos, $pos_end - $pos + strlen($plugin_end)); + $real_start_diff -= strlen($ret) - $pos_end - $pos + strlen($plugin_end); + } } // Find the plugins @@ -5830,25 +5854,6 @@ // It can't be done in the sanitizer, that can't know if the input will be wiki parsed or not $data = preg_replace('/(\{img [^\}]+li)<x>(nk[^\}]+\})/i', '\\1\\2', $data); - // Replace dynamic content occurrences - if (preg_match_all("/\{content +id=([0-9]+)\}/", $data, $dcs)) { - $temp_max = count($dcs[0]); - for ($i = 0; $i < $temp_max; $i++) { - $repl = $this->get_actual_content($dcs[1][$i]); - $data = str_replace($dcs[0][$i], $repl, $data); - } - } - - // Replace Dynamic content with random selection - if (preg_match_all("/\{rcontent +id=([0-9]+)\}/", $data, $dcs)) { - global $dcslib; include_once("dcs/dcslib.php"); - $temp_max = count($dcs[0]); - for ($i = 0; $i < $temp_max; $i++) { - $repl = $dcslib->get_random_content($dcs[1][$i]); - $data = str_replace($dcs[0][$i], $repl, $data); - } - } - // Process pre_handlers here if (is_array($this->pre_handlers)) { foreach ($this->pre_handlers as $handler) { @@ -6257,102 +6262,6 @@ $data = str_replace($np["key"], $np["data"], $data); } - // Images - preg_match_all("/(\{img [^\}]+\})/", $data, $pages); - - foreach (array_unique($pages[1])as $page_parse) { - $parts = $this->split_tag( $page_parse); - $imgdata = array(); // pre-set preferences - $imgdata["src"] = ''; - $imgdata["height"] = ''; - $imgdata["width"] = ''; - $imgdata["lnk"] = ''; - $imgdata["rel"] = ''; - $imgdata["title"] = ''; - $imgdata["align"] = ''; - $imgdata["desc"] = ''; - $imgdata["imalign"] = ''; - $imgdata["alt"] = ''; - $imgdata["usemap"] = ''; - $imgdata["class"] = ''; - $imgdata = $this->split_assoc_array( $parts, $imgdata ); - - // Support both 'link' and 'lnk' syntax - if ( isset($imgdata['link']) && $imgdata['lnk'] == '' ) $imgdata['lnk'] = $imgdata['link']; - - if (stristr(str_replace(' ', '', $imgdata["src"]),'javascript:')) { - $imgdata["src"] = ''; - } - if ($tikidomain && !preg_match('|^https?:|', $imgdata['src'])) { - $imgdata["src"] = preg_replace("~img/wiki_up/~","img/wiki_up/$tikidomain/",$imgdata["src"]); - } - if (strstr($imgdata["src"],'javascript:')) { - $imgdata["src"] = ''; - } - - // Handle absolute links (e.g. to send a newsletter with images that remains on the tiki site) - - if ( $imgdata['src'] != '' && $absolute_links && ! preg_match('|^[a-zA-Z]+:\/\/|', $imgdata['src']) ) { - global $base_host, $url_path; - $imgdata['src'] = $base_host.( $imgdata['src'][0] == '/' ? '' : $url_path ).$imgdata['src']; - } - - $imgdata_dim = ''; - if ( $prefs['feature_filegals_manager'] == 'y' ) { - global $detected_lib; - include_once('lib/images/images.php'); - } else { - $detected_lib = ''; - } - if ( $detected_lib != '' && ereg('^'.$tikiroot.'tiki-download_file.php\?', $imgdata['src']) ) { - // If an image lib has been detected and if we are using an image from a file gallery, - // then also resize the image server-side, because it will generally imply less data to download from the user - // (i.e. speed up the page download) and a better image quality (browser resize algorithms are quick but bad) - // - // Note: ctype_digit is used to ensure there is only digits in width and height strings (e.g. to avoid '50%', ...) - // - if ( (int)$imgdata['width'] > 0 && ctype_digit($imgdata['width']) ) $imgdata['src'] .= '&x='.$imgdata['width']; - if ( (int)$imgdata['height'] > 0 && ctype_digit($imgdata['height']) ) $imgdata['src'] .= '&y='.$imgdata['height']; - } - if ( $imgdata['width'] ) $imgdata_dim .= ' width="' . $imgdata['width'] . '"'; - if ( $imgdata['height'] ) $imgdata_dim .= ' height="' . $imgdata['height'] . '"'; - - $repl = '<img alt="' . $imgdata["alt"] . '" src="'.$imgdata["src"].'" border="0" '.$imgdata_dim; - - if ($imgdata["imalign"]) { - $repl .= ' align="' . $imgdata["imalign"] . '"'; - } - if ($imgdata["usemap"]) { - $repl .= ' usemap="#'.$imgdata["usemap"].'"'; - } - if ($imgdata["class"]) { - $repl .= ' class="'.$imgdata["class"].'"'; - } - - $repl .= ' />'; - - if ($imgdata["lnk"]) { - $imgtarget= ''; - if ($prefs['popupLinks'] == 'y' && (preg_match('#^([a-z0-9]+?)://#i', $imgdata['lnk']) || preg_match('#^www\.([a-z0-9\-]+)\.#i',$imgdata['lnk']))) { - $imgtarget = ' target="_blank"'; - } - if ($imgdata['rel']) $linkrel = ' rel="'.$imgdata['rel'].'"'; - if ($imgdata['title']) $linktitle = ' title="'.$imgdata['title'].'"'; - $repl = '<a href="'.$imgdata["lnk"].'"'.$linkrel.$imgtarget.$linktitle.'>' . $repl . '</a>'; - } - - if ($imgdata["desc"]) { - $repl = '<table cellpadding="0" cellspacing="0"><tr><td>' . $repl . '</td></tr><tr><td class="mini">' . $imgdata["desc"] . '</td></tr></table>'; - } - - if ($imgdata["align"]) { - $repl = '<div class="img" align="' . $imgdata["align"] . '">' . $repl . "</div>"; - } elseif (!$imgdata["desc"]) { - $repl = '<span class="img">' . $repl . "</span>"; - } - $data = str_replace($page_parse, $repl, $data); - } - // ***** // This section handles external links of the form [url] and such. // ***** Added: trunk/lib/wiki-plugins/wikiplugin_content.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_content.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_content.php 2008-09-25 20:53:08 UTC (rev 14865) @@ -0,0 +1,26 @@ +<?php + +function wikiplugin_content_info() { + return array( + 'name' => tra( 'Dynamic Content' ), + 'description' => tra( 'Includes content from the dynamic content system.' ), + 'prefs' => array( 'feature_dynamic_content' ), + 'params' => array( + 'id' => array( + 'required' => true, + 'name' => tra('Content ID'), + 'description' => tra('Numeric value.'), + ), + ), + ); +} + +function wikiplugin_content( $data, $params) { + + global $tikilib; + + if( $params['id'] ) + return $tikilib->get_actual_content((int) $params['id']); +} + +?> Added: trunk/lib/wiki-plugins/wikiplugin_img.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_img.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_img.php 2008-09-25 20:53:08 UTC (rev 14865) @@ -0,0 +1,115 @@ +<?php + +function wikiplugin_img_info() +{ + return array( + 'name' => tra( 'Image' ), + 'description' => tra( 'Displays an image.' ), + 'prefs' => array(), + 'params' => array( + ), + ); +} + +function wikiplugin_img( $data, $params ) +{ + global $tikidomain, $tikiroot, $prefs; + + $imgdata = array(); + $imgdata["src"] = ''; + $imgdata["height"] = ''; + $imgdata["width"] = ''; + $imgdata["lnk"] = ''; + $imgdata["rel"] = ''; + $imgdata["title"] = ''; + $imgdata["align"] = ''; + $imgdata["desc"] = ''; + $imgdata["imalign"] = ''; + $imgdata["alt"] = ''; + $imgdata["usemap"] = ''; + $imgdata["class"] = ''; + + $imgdata = array_merge( $imgdata, $params ); + + // Support both 'link' and 'lnk' syntax + if ( isset($imgdata['link']) && $imgdata['lnk'] == '' ) + $imgdata['lnk'] = $imgdata['link']; + + if (stristr(str_replace(' ', '', $imgdata["src"]),'javascript:')) { + $imgdata["src"] = ''; + } + if ($tikidomain && !preg_match('|^https?:|', $imgdata['src'])) { + $imgdata["src"] = preg_replace("~img/wiki_up/~","img/wiki_up/$tikidomain/",$imgdata["src"]); + } + if (strstr($imgdata["src"],'javascript:')) { + $imgdata["src"] = ''; + } + + // Handle absolute links (e.g. to send a newsletter with images that remains on the tiki site) + + $options = array(); // FIXME : From parse_data options + $absolute_links = isset($options['absolute_links']) ? $options['absolute_links'] : false; + if ( $imgdata['src'] != '' && $absolute_links && ! preg_match('|^[a-zA-Z]+:\/\/|', $imgdata['src']) ) { + global $base_host, $url_path; + $imgdata['src'] = $base_host.( $imgdata['src'][0] == '/' ? '' : $url_path ).$imgdata['src']; + } + + $imgdata_dim = ''; + if ( $prefs['feature_filegals_manager'] == 'y' ) { + global $detected_lib; + include_once('lib/images/images.php'); + } else { + $detected_lib = ''; + } + + if ( $detected_lib != '' && ereg('^'.$tikiroot.'tiki-download_file.php\?', $imgdata['src']) ) { + // If an image lib has been detected and if we are using an image from a file gallery, + // then also resize the image server-side, because it will generally imply less data to download from the user + // (i.e. speed up the page download) and a better image quality (browser resize algorithms are quick but bad) + // + // Note: ctype_digit is used to ensure there is only digits in width and height strings (e.g. to avoid '50%', ...) + // + if ( (int)$imgdata['width'] > 0 && ctype_digit($imgdata['width']) ) $imgdata['src'] .= '&x='.$imgdata['width']; + if ( (int)$imgdata['height'] > 0 && ctype_digit($imgdata['height']) ) $imgdata['src'] .= '&y='.$imgdata['height']; + } + if ( $imgdata['width'] ) $imgdata_dim .= ' width="' . $imgdata['width'] . '"'; + if ( $imgdata['height'] ) $imgdata_dim .= ' height="' . $imgdata['height'] . '"'; + + $repl = '<img alt="' . $imgdata["alt"] . '" src="'.$imgdata["src"].'" border="0" '.$imgdata_dim; + + if ($imgdata["imalign"]) { + $repl .= ' align="' . $imgdata["imalign"] . '"'; + } + if ($imgdata["usemap"]) { + $repl .= ' usemap="#'.$imgdata["usemap"].'"'; + } + if ($imgdata["class"]) { + $repl .= ' class="'.$imgdata["class"].'"'; + } + + $repl .= ' />'; + + if ($imgdata["lnk"]) { + $imgtarget= ''; + if ($prefs['popupLinks'] == 'y' && (preg_match('#^([a-z0-9]+?)://#i', $imgdata['lnk']) || preg_match('#^www\.([a-z0-9\-]+)\.#i',$imgdata['lnk']))) { + $imgtarget = ' target="_blank"'; + } + if ($imgdata['rel']) $linkrel = ' rel="'.$imgdata['rel'].'"'; + if ($imgdata['title']) $linktitle = ' title="'.$imgdata['title'].'"'; + $repl = '<a href="'.$imgdata["lnk"].'"'.$linkrel.$imgtarget.$linktitle.'>' . $repl . '</a>'; + } + + if ($imgdata["desc"]) { + $repl = '<table cellpadding="0" cellspacing="0"><tr><td>' . $repl . '</td></tr><tr><td class="mini">' . $imgdata["desc"] . '</td></tr></table>'; + } + + if ($imgdata["align"]) { + $repl = '<div class="img" align="' . $imgdata["align"] . '">' . $repl . "</div>"; + } elseif (!$imgdata["desc"]) { + $repl = '<span class="img">' . $repl . "</span>"; + } + + return $repl; +} + +?> Added: trunk/lib/wiki-plugins/wikiplugin_rcontent.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_rcontent.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_rcontent.php 2008-09-25 20:53:08 UTC (rev 14865) @@ -0,0 +1,26 @@ +<?php + +function wikiplugin_rcontent_info() { + return array( + 'name' => tra( 'Random Dynamic Content' ), + 'description' => tra( 'Includes random content from the dynamic content system.' ), + 'prefs' => array( 'feature_dynamic_content' ), + 'params' => array( + 'id' => array( + 'required' => true, + 'name' => tra('Content ID'), + 'description' => tra('Numeric value.'), + ), + ), + ); +} + +function wikiplugin_content( $data, $params) { + + global $tikilib; + + if( $params['id'] ) + return $tikilib->get_random_content((int) $params['id']); +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-25 21:29:54
|
Revision: 14867 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14867&view=rev Author: lphuberdeau Date: 2008-09-25 21:29:43 +0000 (Thu, 25 Sep 2008) Log Message: ----------- [MOD] Moving the file wiki syntax to a plugin Modified Paths: -------------- trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_file.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-25 21:05:10 UTC (rev 14866) +++ trunk/lib/tikilib.php 2008-09-25 21:29:43 UTC (rev 14867) @@ -5903,51 +5903,6 @@ $data = str_replace( "((".$anchor_line."))", $repl, $data); } - if( $prefs['feature_wiki_attachments'] == 'y' ) { - // Handle wiki file links by turning them into ATTACH module calls. - preg_match_all("/(\{file [^\}]+})/", $data, $pages); - - foreach (array_unique($pages[1])as $page_parse) { - $parts = $this->split_tag( $page_parse, FALSE ); - - $filedata = array(); // pre-set preferences - $filedata["name"] = ''; - $filedata["desc"] = ''; - $filedata["showdesc"] = ''; - $filedata["page"] = ''; - $filedata["image"] = ''; - $filedata = $this->split_assoc_array( $parts, $filedata); - $middle = ""; - - if( ! $filedata["name"] ) { - continue; - } - - $repl = "{ATTACH(file=>".$filedata["name"]; - - if ($filedata["desc"]) { - $repl .= ",inline=>1"; - $middle = $filedata["desc"]; - } - - if ($filedata["page"]) { - $repl .= ",page=>" . $filedata["page"]; - } - - if ($filedata["showdesc"]) { - $repl .= ",showdesc=>1"; - } - - if( $filedata["image"]) { - $repl .= ",image=>1"; - } - - $repl .= ")}$middle{ATTACH}"; - - $data = str_replace($page_parse, $repl, $data); - } - } - if (!$noparseplugins) { $this->parse_first($data, $preparsed, $noparsed); } Added: trunk/lib/wiki-plugins/wikiplugin_file.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_file.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_file.php 2008-09-25 21:29:43 UTC (rev 14867) @@ -0,0 +1,69 @@ +<?php + +function wikiplugin_file_info() +{ + return array( + 'name' => tra( 'File' ), + 'description' => tra("Displays a file attachment or a list of them"), + 'prefs' => array( 'feature_wiki_attachments', 'wikiplugin_attach' ), + 'params' => array( + 'name' => array( + 'required' => true, + 'name' => tra('Name'), + 'description' => tra("Gives the name of the attached file to link to"), + ), + 'desc' => array( + 'required' => false, + 'name' => tra('Description'), + 'description' => tra('Comment'), + ), + 'page' => array( + 'required' => false, + 'name' => tra('Page'), + 'description' => tra("Gives the name of another page the attached file is on. The file on that page is linked to instead. Only works with wiki pages"), + ), + 'showdesc' => array( + 'required' => false, + 'name' => tra('Show description'), + 'description' => tra("Shows the description as the link text instead of the file name"), + ), + 'image' =>array( + 'required' => false, + 'name' => tra('Image'), + 'description' => tra("Says that this file is an image, and should be displayed inline using the img tag"), + ), + ), + ); +} + +function wikiplugin_file( $data, $params ) +{ + global $tikilib; + + $filedata = array(); + $filedata["name"] = ''; + $filedata["desc"] = ''; + $filedata["showdesc"] = ''; + $filedata["page"] = ''; + $filedata["image"] = ''; + + $filedata = array_merge( $filedata, $params ); + + if( ! $filedata["name"] ) { + return; + } + + $forward = array(); + $forward['file'] = $filedata['name']; + $forward['inline'] = 1; + $forward['page'] = $filedata['page']; + if($filedata['showdesc']) + $forward['showdesc'] = 1; + if($filedata['image']) + $forward['image'] = 1; + $middle = $filedata["desc"]; + + return $tikilib->plugin_execute( 'attach', $middle, $forward ); +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-09-28 21:15:52
|
Revision: 14881 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14881&view=rev Author: sylvieg Date: 2008-09-28 21:15:42 +0000 (Sun, 28 Sep 2008) Log Message: ----------- notice Modified Paths: -------------- trunk/lib/tikilib.php trunk/lib/wiki/renderlib.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-28 06:10:00 UTC (rev 14880) +++ trunk/lib/tikilib.php 2008-09-28 21:15:42 UTC (rev 14881) @@ -5101,7 +5101,7 @@ // print "<pre>pos's: :$pos, $pos_middle:</pre>"; // process "short" plugins here: {plugin par1=>val1} - melmut - if( $plugins['type'] == 'short' && preg_match("/ *\}$/",$plugin_start) ) { + if( isset($plugins['type']) && $plugins['type'] == 'short' && preg_match("/ *\}$/",$plugin_start) ) { $plugin_end=''; $pos_end = $pos + strlen($plugin_start); // process "short" plugins here: {PLUGIN(par1=>val1)/} - melmut Modified: trunk/lib/wiki/renderlib.php =================================================================== --- trunk/lib/wiki/renderlib.php 2008-09-28 06:10:00 UTC (rev 14880) +++ trunk/lib/wiki/renderlib.php 2008-09-28 21:15:42 UTC (rev 14881) @@ -549,7 +549,7 @@ private function setGlobal( $name, $value ) // {{{ { - if( $GLOBALS[$name] != $value && ! array_key_exists( $name, $this->toRestore ) ) + if( (empty($GLOBALS[$name]) || $GLOBALS[$name] != $value) && ! array_key_exists( $name, $this->toRestore ) ) $this->toRestore[$name] = $value; $GLOBALS[$name] = $value; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-29 14:15:04
|
Revision: 14890 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14890&view=rev Author: lphuberdeau Date: 2008-09-29 14:14:52 +0000 (Mon, 29 Sep 2008) Log Message: ----------- [MOD] Extract {toc}?\194?\160from the parser Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_toc.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-09-29 13:53:25 UTC (rev 14889) +++ trunk/lib/setup/prefs.php 2008-09-29 14:14:52 UTC (rev 14890) @@ -213,6 +213,7 @@ 'wikiplugin_tag' => 'y', 'wikiplugin_thumb' => 'y', 'wikiplugin_titlesearch' => 'n', + 'wikiplugin_toc' => 'y', 'wikiplugin_topfriends' => 'y', 'wikiplugin_trackerfilter' => 'y', 'wikiplugin_trackeritemfield' => 'y', Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-29 13:53:25 UTC (rev 14889) +++ trunk/lib/tikilib.php 2008-09-29 14:14:52 UTC (rev 14890) @@ -5946,60 +5946,7 @@ if (!$simple_wiki) { $this->parse_htmlchar($data); } - // Now replace a TOC - preg_match_all("/\{toc\s?(order=(desc|asc))?\s?(showdesc=(0|1))?\s?(shownum=(0|1))?\s?(type=(plain|fancy))?\s?(structId=([0-9a-z]+))?\s?(maxdepth=(\d+))?\s?\}/i", $data, $tocs); - // Loop over all the case-specific versions of {toc} used - // (if the user is consistent, this is a loop of count 1) - $temp_max = count($tocs[0]); - for ($i = 0; $i < $temp_max; $i++) { - - //If there are instances of {toc} on this page - if (count($tocs[0]) > 0) { - $order = 'asc'; - $showdesc = false; - $shownum = false; - $type = 'plain'; - $structId = ''; - $maxdepth = 0; - if ($tocs[2][$i] == 'desc') { - $order = 'desc'; - } - if ($tocs[4][$i] == 1) { - $showdesc = true; - } - if ($tocs[6][$i] == 1) { - $shownum = true; - } - if ($tocs[8][$i] == 'fancy') { - $type = 'fancy'; - } - if (isset($tocs[10][$i]) and !empty($tocs[10][$i])) { - $structId = $tocs[10][$i]; - } - if ($tocs[12][$i] != '') { - $maxdepth = $tocs[12][$i]; - } - - include_once ("lib/structures/structlib.php"); - if ($structId == '') { - //And we are currently viewing a structure - $page_info = $structlib->s_get_page_info($page_ref_id); - $structure_info = $structlib->s_get_structure_info($page_ref_id); - if (isset($page_info)) { - $html = $structlib->get_toc($page_ref_id,$order,$showdesc,$shownum,'',$type,'',$maxdepth, $structure_info['pageName']); - $data = str_replace($tocs[0][$i], $html, $data); - } else { - //Dont display the {toc} string for non structure pages - $data = str_replace($tocs[0][$i], '', $data); - } - } else { - $html = $structlib->fetch_toc($structlib->build_subtree_toc($structId),$showdesc,$shownum,$type,'',$maxdepth, 0, $structure_info['pageName']); - $data = str_replace($tocs[0][$i], $html, $data); - } - } - } - // Now search for images uploaded by users if ($prefs['feature_wiki_pictures'] == 'y') { preg_match_all("/\{picture file=([^\}]+)\}/", $data, $pics); Added: trunk/lib/wiki-plugins/wikiplugin_toc.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_toc.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_toc.php 2008-09-29 14:14:52 UTC (rev 14890) @@ -0,0 +1,78 @@ +<?php + +function wikiplugin_toc_info() +{ + return array( + 'name' => tra('Table of Contents (Structure)'), + 'description' => tra('Displays the table of contents for the current structure\'s subtree as part of the page content.'), + 'prefs' => array( 'wikiplugin_toc', 'feature_wiki_structure' ), + 'params' => array( + 'maxdepth' => array( + 'name' => tra('Maximum Depth'), + 'description' => tra('Maximum amount of levels to display. On very large structures, this should be limited.'), + 'required' => false, + ), + 'structId' => array( + 'name' => tra('Structure ID'), + 'description' => tra('By default, structure for the current page will be displayed. Alternate structure may be provided.'), + 'required' => false, + ), + 'order' => array( + 'name' => tra('Order'), + 'description' => tra('asc|desc'), + 'required' => false, + ), + 'showdesc' => array( + 'name' => tra( 'Show Description' ), + 'description' => tra('0|1, show the page description instead of the page name'), + 'required' => false, + ), + 'shownum' => array( + 'name' => tra('Show Numbering'), + 'description' => tra('0|1, display the section numbers or not'), + 'required' => false, + ), + 'type' => array( + 'name' => tra('Type'), + 'description' => tra('plain|fancy'), + 'required' => false, + ), + ), + ); +} + +function wikiplugin_toc( $data, $params ) +{ + $defaults = array( + 'order' => 'asc', + 'showdesc' => false, + 'shownum' => false, + 'type' => 'plain', + 'structId' => '', + 'maxdepth' => 0, + ); + + $params = array_merge( $defaults, $params ); + extract( $params, EXTR_SKIP ); + + global $structlib, $page_ref_id; + include_once ("lib/structures/structlib.php"); + if ($structId == '') { + //And we are currently viewing a structure + $page_info = $structlib->s_get_page_info($page_ref_id); + $structure_info = $structlib->s_get_structure_info($page_ref_id); + if (isset($page_info)) { + $html = $structlib->get_toc($page_ref_id,$order,$showdesc,$shownum,'',$type,'',$maxdepth, $structure_info['pageName']); + return "~np~$html~/np~"; + } else { + //Dont display the {toc} string for non structure pages + return ''; + } + } else { + $html = $structlib->fetch_toc($structlib->build_subtree_toc($structId),$showdesc,$shownum,$type,'',$maxdepth, 0, $structure_info['pageName']); + + return "~np~$html~/np~"; + } +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-29 14:26:23
|
Revision: 14891 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14891&view=rev Author: lphuberdeau Date: 2008-09-29 14:26:17 +0000 (Mon, 29 Sep 2008) Log Message: ----------- [MOD] Move {picture} out of the parser Modified Paths: -------------- trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_picture.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-29 14:14:52 UTC (rev 14890) +++ trunk/lib/tikilib.php 2008-09-29 14:26:17 UTC (rev 14891) @@ -5947,30 +5947,6 @@ $this->parse_htmlchar($data); } - // Now search for images uploaded by users - if ($prefs['feature_wiki_pictures'] == 'y') { - preg_match_all("/\{picture file=([^\}]+)\}/", $data, $pics); - - $temp_max = count($pics[0]); - for ($i = 0; $i < $temp_max; $i++) { - // Check if the image exists - $name = $pics[1][$i]; - if ($tikidomain && !preg_match('|^https?:|', $name)) { - $name = preg_replace("~img/wiki_up/~","img/wiki_up/$tikidomain/",$name); - } - if (file_exists($name) and (preg_match('/(gif|jpe?g|png)$/i',$name))) { - // Replace by the img tag to show the image - $repl = "<span class='img'><img src='$name' alt='$name' /></span>"; - } else { - $repl = tra('picture not found')." $name"; - } - - // Replace by $repl - $data = str_replace($pics[0][$i], $repl, $data); - } - } - - //$data = strip_tags($data); // BiDi markers $bidiCount = 0; $bidiCount = preg_match_all("/(\{l2r\})/", $data, $pages); Added: trunk/lib/wiki-plugins/wikiplugin_picture.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_picture.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_picture.php 2008-09-29 14:26:17 UTC (rev 14891) @@ -0,0 +1,42 @@ +<?php + +function wikiplugin_picture_info() +{ + return array( + 'name' => tra('Picture'), + 'description' => tra('Search for images uploaded by users'), + 'prefs' => array( 'feature_wiki_pictures' ), + 'params' => array( + 'file' => array( + 'name' => tra('File'), + 'description' => tra('Filename or full path to file'), + 'required' => true, + ), + ), + ); +} + +function wikiplugin_picture( $data, $params ) +{ + global $tikidomain; + + if( ! isset( $params['file'] ) ) + return; + + // Check if the image exists + $name = $params['file']; + if ($tikidomain && !preg_match('|^https?:|', $name)) { + $name = preg_replace("~img/wiki_up/~","img/wiki_up/$tikidomain/",$name); + } + + if (file_exists($name) and (preg_match('/(gif|jpe?g|png)$/i',$name))) { + // Replace by the img tag to show the image + $repl = "<span class='img'><img src='$name' alt='$name' /></span>"; + } else { + $repl = tra('picture not found')." $name"; + } + + return $repl; +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-09-29 14:38:57
|
Revision: 14893 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14893&view=rev Author: lphuberdeau Date: 2008-09-29 14:38:48 +0000 (Mon, 29 Sep 2008) Log Message: ----------- [MOD] Remove RSS plugin (already covered and compatible with existing plugin) and adding missing file Modified Paths: -------------- trunk/lib/tikilib.php Added Paths: ----------- trunk/lib/wiki-plugins/wikiplugin_cookie.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-09-29 14:35:22 UTC (rev 14892) +++ trunk/lib/tikilib.php 2008-09-29 14:38:48 UTC (rev 14893) @@ -6865,42 +6865,6 @@ } // closing if ($simple_wiki) - // Replace rss modules - if (preg_match_all("/\{rss +id=([0-9]+) *(max=([0-9]+))? *\}/", $data, $rsss)) { - global $rsslib; include_once ('lib/rss/rsslib.php'); - - $temp_max = count($rsss[0]); - for ($i = 0; $i < $temp_max; $i++) { - $id = $rsss[1][$i]; - $max = $rsss[3][$i]; - if (empty($max)) - $max = 99; - - $rssdata = $rsslib->get_rss_module_content($id); - if (!$rssdata) { - $data = str_replace($rsss[0][$i], 'Undefined rss id ' . $id, $data); - continue; - } - $items = $rsslib->parse_rss_data($rssdata, $id); - $repl=""; - if (isset($items[0]) && $items[0]["isTitle"]=="y") { - $repl .= '<div class="wiki"><a target="_blank" href="'.$items[0]["link"].'">'.$items[0]["title"].'</a></div>'; - $items = array_slice ($items, 1); - } - - $repl .= '<ul class="rsslist">'; - $temp_max2 = count($items); - for ($j = 0; $j < $temp_max2 && $j < $max; $j++) { - $repl .= '<li class="rssitem"><a target="_blank" href="' . $items[$j]["link"] . '" class="rsslink">' . $items[$j]["title"] . '</a>'; - if (isset($items[$j]["pubDate"]) && $items[$j]["pubDate"] <> '') { $repl .= ' <span class="rssdate">('.$items[$j]["pubDate"].')</span>'; } - $repl .= '</li>'; - } - - $repl .= '</ul>'; - $data = str_replace($rsss[0][$i], $repl, $data); - } - } - // Close BiDi DIVs if any for ($i = 0; $i < $bidiCount; $i++) { $data .= "</div>"; Added: trunk/lib/wiki-plugins/wikiplugin_cookie.php =================================================================== --- trunk/lib/wiki-plugins/wikiplugin_cookie.php (rev 0) +++ trunk/lib/wiki-plugins/wikiplugin_cookie.php 2008-09-29 14:38:48 UTC (rev 14893) @@ -0,0 +1,22 @@ +<?php + +function wikiplugin_cookie_info() +{ + return array( + 'name' => tra('Cookie'), + 'description' => tra('?'), + 'prefs' => array( 'wikiplugin_cookie' ), + 'params' => array( + ), + ); +} + +function wikiplugin_cookie( $data, $params ) +{ + // Replace cookie + $cookie = $this->pick_cookie(); + + return $cookie; +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |