0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
14.1-0
/
standard
/
htdocs
/
lib
/
prefs
/
[
Home
]
File: wiki.php
<?php // (c) Copyright 2002-2015 by authors of the Tiki Wiki CMS Groupware Project // // All Rights Reserved. See copyright.txt for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. // $Id: wiki.php 55833 2015-07-06 11:31:39Z jonnybradley $ function prefs_wiki_list($partial = false) { global $prefs; $wiki_forums = array(); if (! $partial && $prefs['feature_forums'] == 'y') { $all_forums = TikiDb::get()->fetchMap('SELECT `forumId`, `name` FROM `tiki_forums` ORDER BY `name` ASC'); if ( count($all_forums) ) { $wiki_forums = $all_forums; } else { $wiki_forums[''] = tra('None'); } } $prefslib = TikiLib::lib('prefs'); $advanced_columns = $prefslib->getExtraSortColumns(); $wiki_sort_columns = array_merge( array( 'pageName' => tra('Name'), 'lastModif' => tra('LastModif'), 'created' => tra('Created'), 'creator' => tra('Creator'), 'hits' => tra('Hits'), 'user' => tra('Last editor'), 'page_size' => tra('Size'), ), $advanced_columns ); $comment_sort_orders = array( 'commentDate_desc' => tra('Newest first'), 'commentDate_asc' => tra('Oldest first'), 'points_desc' => tra('Points'), ); foreach ( $advanced_columns as $key => $label ) { $comment_sort_orders[ $key . '_asc' ] = $label . ' ' . tr('ascending'); $comment_sort_orders[ $key . '_desc' ] = $label . ' ' . tr('descending'); } return array( 'wiki_page_regex' => array( 'name' => tra('Wiki link format'), 'description' => tra('What level of special characters are accepted as wiki links for page names. Ex.: ((Page éàî))'), 'hint' => tra('Strict will only be basic characters like a-z and 0-9. If you have accented or special characters in page names, you should not use strict.'), 'type' => 'list', 'options' => array( 'complete' => tra('Complete'), 'full' => tra('Relaxed'), 'strict' => tra('Strict'), ), 'default' => 'complete', ), 'wiki_url_scheme' => array( 'name' => tr('Wiki URL Scheme'), 'description' => tr('Alter the SEFURL pattern for page names.'), 'hint' => tr('Use the "View" action to regenerate your URLs after changing this setting.'), 'type' => 'list', 'default' => 'urlencode', 'options' => TikiLib::lib('slugmanager')->getOptions(), 'view' => $partial ? '' : TikiLib::lib('service')->getUrl([ 'controller' => 'wiki', 'action' => 'regenerate_slugs', ]), 'keywords' => 'slug manager', ), 'wiki_show_version' => array( 'name' => tra('Display page version'), 'description' => tra('Display the page version information when viewing the page.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_page_name_above' => array( 'name' => tra('Display page name above page'), 'description' => tra('Display page name above page instead of inside page.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_pagename_strip' => array( 'name' => tra('Page name display stripper'), 'description' => tra('Character to use as a delimiter in the page name. The portion of the name after this character will not be displayed. If the page name display stripper conflicts with the namespace separator, the namespace is used and the page name display is not stripped'), 'type' => 'text', 'size' => 5, 'default' => '', ), 'wiki_authors_style' => array( 'name' => tra('Wiki author list style'), 'description' => tra('Changes the list format used to display the authors of the page.'), 'type' => 'list', 'options' => array( 'classic' => tra('Creator & Author'), 'business' => tra('Business style'), 'collaborative' => tra('Collaborative style'), 'lastmodif' => tra('Page last modified on'), 'none' => tra('none (disabled)'), ), 'default' => 'none', 'tags' => array('basic'), ), 'wiki_authors_style_by_page' => array( 'name' => tra('Specify wiki author list style per page'), 'description' => tra('Allows the style in which the author list is displayed to be modified on a per-page basis.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_actions_bar' => array( 'name' => tra('Wiki action bar location'), 'description' => tra('Buttons: Save, Preview, Cancel, ...'), 'type' => 'list', 'options' => array( 'top' => tra('Top'), 'bottom' => tra('Bottom'), 'both' => tra('Both'), ), 'default' => 'bottom', ), 'wiki_page_navigation_bar' => array( 'name' => tra('Wiki navigation bar location'), 'description' => tra('When using the ...page... page break wiki syntax'), 'type' => 'list', 'options' => array( 'top' => tra('Top'), 'bottom' => tra('Bottom'), 'both' => tra('Both'), ), 'default' => 'bottom', ), 'wiki_topline_position' => array( 'name' => tra('Wiki top line location'), 'description' => tra('Page description, icons, backlinks, ...'), 'type' => 'list', 'options' => array( 'top' => tra('Top'), 'bottom' => tra('Bottom'), 'both' => tra('Both'), 'none' => tra('Neither'), ), 'default' => 'top', ), 'wiki_cache' => array( 'name' => tra('Cache wiki pages (global)'), 'description' => tra('Enable page cache globally for wiki pages.'), 'warning' => tra("Wiki cache reduces server load but can cause some empty pages and other issues when using wiki plugins. Use only if you really need it, and it's perhaps better to use Individual wiki cache on only the pages that require it."), 'type' => 'list', 'options' => array( 0 => tra('no cache'), 60 => '1 ' . tra('minute'), 300 => '5 ' . tra('minutes'), 600 => '10 ' . tra('minutes'), 900 => '15 ' . tra('minutes'), 1800 => '30 ' . tra('minutes'), 3600 => '1 ' . tra('hour'), 7200 => '2 ' . tra('hours'), ), 'default' => 0, ), 'wiki_comments_allow_per_page' => array( 'name' => tra('Allow comments per wiki page'), 'description' => tra('Enable control for comments on wiki pages individually.'), 'type' => 'list', 'options' => array( 'n' => tra('Disable'), 'y' => tra('Enable (default On)'), 'o' => tra('Enable (default Off)'), ), 'default' => 'n', ), 'wiki_feature_copyrights' => array( 'name' => tra('Wiki'), 'type' => 'flag', 'dependencies' => array( 'feature_wiki', ), 'default' => 'n', ), 'wiki_edit_plugin' => array( 'name' => tra('Enable edit plugin icons'), 'description' => tra('Permits editing of a plugin, via a popup form, without needing to edit the whole page.'), 'type' => 'flag', 'hint' => tra('Requires JavaScript'), 'default' => 'y', ), 'wiki_badchar_prevent' => array( 'name' => tra('Prevent special characters in page names'), 'description' => tra('Some characters may prevent the pages from being easily accessible from the URL or through wiki links. This option prevents from creating pages with such characters.'), 'type' => 'flag', 'default' => 'y', 'tags' => array('basic'), ), 'wiki_ranking_reload_probability' => array( 'name' => tra('Page ranking reload probability'), 'description' => tra('Calculation of page rankings is an expensive task that cannot be performed at every page load. It will be calculated at random page loads based on a dice roll. This option indicates the amount of faces on the dice. Larger numbers lead to less load, but less accurate ranking.'), 'type' => 'text', 'size' => 7, 'filter' => 'digits', 'default' => 1000, ), 'wiki_encourage_contribution' => array( 'name' => tra('Encourage contribution to wiki pages by anonymous'), 'description' => tra('When a page is not editable and the user is anonymous, display the edit links anyway. The visitor will be prompted with a login screen and be encouraged to register.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_timeout_warning' => array( 'name' => tra('Warn before page lock timeout'), 'description' => tra('Provide a JavaScript alert before the user\'s lock on a page times out.'), 'type' => 'flag', 'default' => 'y', 'tags' => array('basic'), ), 'wiki_plugindiv_approvable' => array( 'name' => tra('DIV plugin accepts unsafe parameters such as "style"'), 'description' => tra('If set, more parameters are available but modifying them will require approval. If unset, DIV plugin is safe and never requires approval.'), 'hint' => tra('If changed, you need to clear caches.'), 'type' => 'flag', 'default' => 'n', 'tags' => array('advanced'), ), 'wiki_dynvar_style' => array( 'name' => tra('Dynamic variables'), 'description' => tra('Global snippets of text that can be included in wiki pages and edited in place.'), 'type' => 'list', 'help' => 'Dynamic+Variable', 'options' => array( 'disable' => tra('Disabled'), 'single' => tra('Single (%varname%)'), 'double' => tra('Double (%%varname%%)'), ), 'default' => 'single', ), 'wiki_dynvar_multilingual' => array( 'name' => tra('Multilingual dynamic variables'), 'description' => tra('Make dynamic variable content language specific.'), 'type' => 'flag', 'dependencies' => array( 'feature_multilingual', ), 'default' => 'n', ), 'wiki_edit_section' => array( 'name' => tra('Edit section'), 'type' => 'flag', 'default' => 'y', 'tags' => array('basic'), ), 'wiki_edit_section_level' => array( 'name' => tra('Edit section level'), 'type' => 'list', 'options' => array( '0' => tra('All'), '1' => tra('1'), '2' => tra('2'), '3' => tra('3'), '4' => tra('4'), '5' => tra('5'), '6' => tra('6'), ), 'default' => '0', ), 'wiki_edit_icons_toggle' => array( 'name' => tra('Toggle display of section and plugin edit icons'), 'type' => 'flag', 'default' => 'n', ), 'wiki_edit_minor' => array( 'name' => tra('Allow minor edits of wiki pages'), 'type' => 'flag', 'description' => tra('Minor edits do not flag new content for translation and do not send watch notifications (unless "Watch minor edits" is enabled).'), 'permission' => array( 'textFilter' => 'tiki_p_minor', ), 'default' => 'n', ), 'wiki_comments_displayed_default' => array( 'name' => tra('Display comment list by default'), 'type' => 'flag', 'default' => 'n', ), 'wiki_comments_form_displayed_default' => array( 'name' => tra('Display Post new comment form by default'), 'type' => 'flag', 'default' => 'n', ), 'wiki_comments_per_page' => array( 'name' => tra('Default number per page'), 'type' => 'text', 'size' => '5', 'default' => 10, ), 'wiki_comments_default_ordering' => array( 'name' => tra('Default Ordering'), 'type' => 'list', 'options' => $comment_sort_orders, 'default' => 'points_desc', ), 'wiki_comments_simple_ratings' => array( 'name' => tra('Simple wiki comment ratings'), 'description' => tra('Enable users to rate comments based on a simple numeric scale.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_comments_simple_ratings_options' => array( 'name' => tra('Wiki rating options'), 'description' => tra('List of options available for the rating of wiki comments.'), 'type' => 'text', 'default' => "0,1,2,3,4,5", ), 'wiki_uses_slides' => array( 'name' => tra('Add a slideshow button on wiki pages'), 'type' => 'flag', 'help' => 'Slideshow', 'default' => 'n', 'tags' => array('basic'), ), 'wiki_creator_admin' => array( 'name' => tra('Page creators are admin of their pages'), 'type' => 'flag', 'default' => 'n', ), 'wiki_watch_author' => array( 'name' => tra('Create watch for author on page creation'), 'type' => 'flag', 'default' => 'n', 'dependencies' => array( 'feature_user_watches', ), ), 'wiki_watch_comments' => array( 'name' => tra('Enable watches on comments'), 'type' => 'flag', 'default' => 'y', 'dependencies' => array( 'feature_user_watches', ), ), 'wiki_watch_editor' => array( 'name' => tra('Enable watch events when I am the editor'), 'type' => 'flag', 'default' => 'n', 'dependencies' => array( 'feature_user_watches', ), ), 'wiki_watch_minor' => array( 'name' => tra('Watch minor edits'), 'type' => 'flag', 'default' => 'n', 'dependencies' => array( 'feature_user_watches', ), ), 'wiki_list_id' => array( 'name' => tra('Page ID'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_name' => array( 'name' => tra('Name'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_name_len' => array( 'name' => tra('Name length'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '40', ), 'wiki_list_hits' => array( 'name' => tra('Hits'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_lastmodif' => array( 'name' => tra('Last modification date'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_creator' => array( 'name' => tra('Creator'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_user' => array( 'name' => tra('Last modified by'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_lastver' => array( 'name' => tra('Version'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_comment' => array( 'name' => tra('Edit comments'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_comment_len' => array( 'name' => tra('Edit Comment length'), 'type' => 'text', 'size' => '3', 'default' => '200', ), 'wiki_list_description' => array( 'name' => tra('Description'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_description_len' => array( 'name' => tra('Description length'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '200', ), 'wiki_list_status' => array( 'name' => tra('Status'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_versions' => array( 'name' => tra('Versions'), 'type' => 'flag', 'default' => 'y', ), 'wiki_list_links' => array( 'name' => tra('Links'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_backlinks' => array( 'name' => tra('Backlinks'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_size' => array( 'name' => tra('Size'), 'type' => 'flag', 'default' => 'n', ), 'wiki_list_language' => array( 'name' => tra('Language'), 'type' => 'flag', 'dependencies' => array( 'feature_multilingual', ), 'default' => 'n', ), 'wiki_list_categories' => array( 'name' => tra('Categories'), 'type' => 'flag', 'dependencies' => array( 'feature_categories', ), 'default' => 'n', ), 'wiki_list_categories_path' => array( 'name' => tra('Categories path'), 'type' => 'flag', 'dependencies' => array( 'feature_categories', ), 'default' => 'n', ), 'wiki_list_sortorder' => array( 'name' => tra('Default sort order'), 'type' => 'list', 'options' => $wiki_sort_columns, 'default' => 'pageName', ), 'wiki_list_sortdirection' => array( 'name' => tra('Sort Direction'), 'type' => 'radio', 'options' => array( 'desc' => tra('Descending'), 'asc' => tra('Ascending'), ), 'default' => 'asc', ), 'wiki_list_rating' => array( 'name' => tra('Rating'), 'type' => 'flag', 'dependencies' => array( 'feature_polls', 'feature_wiki_ratings', ), 'default' => 'n', ), 'wiki_feature_3d' => array( 'name' => tra('Enable wiki 3D browser'), 'type' => 'flag', 'default' => 'n', ), 'wiki_3d_autoload' => array( 'name' => tra('Load page on navigation'), 'type' => 'flag', 'default' => '', ), 'wiki_3d_width' => array( 'name' => tra('Browser width'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => 500, ), 'wiki_3d_height' => array( 'name' => tra('Browser height'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => 500, ), 'wiki_3d_navigation_depth' => array( 'name' => tra('Navigation depth'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => 1, ), 'wiki_3d_node_size' => array( 'name' => tra('Node size'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '15', ), 'wiki_3d_text_size' => array( 'name' => tra('Text size'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '20', ), 'wiki_3d_spring_size' => array( 'name' => tra('Spring (connection) size'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '100', ), 'wiki_3d_existing_page_color' => array( 'name' => tra('Existing page node color'), 'type' => 'text', 'size' => '8', 'default' => '#00CC55', ), 'wiki_3d_missing_page_color' => array( 'name' => tra('Missing page node color'), 'type' => 'text', 'size' => '8', 'default' => '#FF5555', ), 'wiki_3d_adjust_camera' => array( 'name' => tra('Camera distance adjusted relative to nearest node'), 'type' => 'flag', 'default' => 'true', ), 'wiki_3d_camera_distance' => array( 'name' => tra('Camera distance'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '200', ), 'wiki_3d_fov' => array( 'name' => tra('Field of view'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '250', ), 'wiki_3d_feed_animation_interval' => array( 'name' => tra('Feed animation interval (milisecs)'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => 500, ), 'wiki_3d_friction_constant' => array( 'name' => tra('Friction constant'), 'type' => 'text', 'size' => '4', 'default' => '0.8f', ), 'wiki_3d_elastic_constant' => array( 'name' => tra('Elastic constant'), 'type' => 'text', 'size' => '4', 'default' => '0.3f', ), 'wiki_3d_eletrostatic_constant' => array( 'name' => tra('Electrostatic constant'), 'type' => 'text', 'type' => 'text', 'size' => '5', 'default' => '1000f', ), 'wiki_3d_node_mass' => array( 'name' => tra('Node mass'), 'type' => 'text', 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '5', ), 'wiki_3d_node_charge' => array( 'name' => tra('Node charge'), 'type' => 'text', 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'default' => '1', ), 'wiki_discuss_visibility' => array( 'name' => tra('Visibility of discussion'), 'description' => tra('Just a button among others (default), or special section'), 'type' => 'list', 'options' => array( 'button' => tra('In the buttons row (default)'), 'above' => tra('Special section above buttons bar'), ), 'default' => 'button', ), 'wiki_forum_id' => array( 'name' => tra('Forum for discussion'), 'type' => 'list', 'options' => $wiki_forums, 'default' => '', ), 'wiki_keywords' => array( 'name' => tra('Keywords'), 'description' => tra('Allow to manage keywords on a per-page basis.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_likepages_samelang_only' => array( 'name' => tra('Similar pages only listed in same language'), 'description' => tra('When listing similar pages, such as in missing page 404, only display pages in the same language as the request.'), 'type' => 'flag', 'dependencies' => array( 'feature_multilingual' ), 'default' => 'n', ), 'wiki_mandatory_edit_summary' => array( 'name' => tra('Mandatory edit summary on wiki pages'), 'description' => tra('Reject save attempts not providing an edit summary to describe the changes made.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_freetags_edit_position' => array( 'name' => tra('Choose position of tags selection'), 'description' => tra('If you wish to place tags selection more prominently than in the properties tab.'), 'type' => 'list', 'options' => array( 'properties' => tra('Properties tab'), 'edit' => tra('Edit tab'), 'freetagstab' => tra('Tags tab'), ), 'default' => 'properties', ), 'wiki_structure_bar_position' => array( 'name' => tra('Structure navigation bar location'), 'description' => tra('Displays Next/Back buttons, breadcrumbs, and form to add a new page.'), 'type' => 'list', 'options' => array( 'top' => tra('Top'), 'bottom' => tra('Bottom'), 'both' => tra('Both'), ), 'default' => 'top', ), 'wiki_backlinks_name_len' => array( 'name' => tra('Name length'), 'description' => tra('Maximum length (characters) to display/truncate for backlink page names. Use "0" for no truncation.'), 'type' => 'text', 'size' => '3', 'filter' => 'digits', 'dependencies' => array( 'feature_backlinks' ), 'default' => 0, ), 'wiki_simple_ratings' => array( 'name' => tra('Simple wiki ratings'), 'description' => tra('Enable users to rate articles based on a simple numeric scale.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_simple_ratings_options' => array( 'name' => tra('Wiki rating options'), 'description' => tra('List of options available for the rating of wiki pages.'), 'type' => 'text', 'default' => "0,1,2,3,4,5", ), 'wiki_pagealias_tokens' => array( 'name' => tra('Semantic link types to use as page alias markers'), 'description' => tra('Comma separated list of semantic links to use to identify a page as an alias to another'), 'type' => 'text', 'dependencies' => array('feature_wiki_pagealias'), 'default' => 'alias', ), 'wiki_prefixalias_tokens' => array( 'name' => tra('Redirect pages using these prefix alias semantic links'), 'description' => tra('Comma separated list of prefixes of which pages will be redirected to page with semantic link'), 'type' => 'text', 'help' => 'Semantic+Alias', 'size' => '30', 'dependencies' => array( 'feature_wiki_1like_redirection', 'feature_semantic', // this is needed at point of creation of semantic link otherwise link will not register ), 'default' => '', ), 'wiki_pagination' => array( 'name' => tr('Wiki Pagination'), 'description' => tr('Allows to separate a wiki page into a paginated page using a separator.'), 'type' => 'flag', 'default' => 'n', ), 'wiki_page_separator' => array( 'name' => tr('Wiki page separator'), 'description' => tr('Separator used within the content of a wiki page to split the content.'), 'type' => 'text', 'default' => '...page...', ), 'wiki_auto_toc' => array( 'name' => tr('Wiki auto-toc'), 'description' => tr('Automatic Table of Contents generation for wiki pages. It will automatically generate 2 Table Of Contents: one in the wiki page and one floating when scrolling down the page. Enable fast(!) header navigation.'), 'type' => 'flag', 'help' => 'Auto TOC', 'default' => 'n', ), 'wiki_inline_auto_toc' => array( 'name' => tr('Add inline auto-toc'), 'description' => tr('Automatically add an inline Table of Contents for wiki pages. This setting can be toogled per page, in the page properties'), 'type' => 'flag', 'default' => 'y', 'dependencies' => array( 'wiki_auto_toc', ), ), 'wiki_inline_toc_pos' => array( 'name' => tr('Inline toc position'), 'description' => tr('Position for inline Table of Contents. One of top, left, right (right = default)'), 'type' => 'text', 'default' => 'right', 'dependencies' => array( 'wiki_inline_auto_toc', ), ), 'wiki_page_hide_title' => array( 'name' => tr('Hide title per wiki page'), 'description' => tr('Allow the title to be hidden for individual wiki pages'), 'type' => 'flag', 'default' => 'y', 'dependencies' => array(), ), ); }