From: <ax...@us...> - 2009-05-07 18:57:18
|
Revision: 18553 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=18553&view=rev Author: axold Date: 2009-05-07 18:57:08 +0000 (Thu, 07 May 2009) Log Message: ----------- [ADD] Added new entry in features called Workspaces and related to them Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/templates/tiki-admin-include-features.tpl branches/experimental/ws/tiki-setup.php Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-05-07 18:03:04 UTC (rev 18552) +++ branches/experimental/ws/lib/setup/prefs.php 2009-05-07 18:57:08 UTC (rev 18553) @@ -862,6 +862,9 @@ 'categorypath_excluded' => '', 'categories_used_in_tpl' => 'n', + // Workspaces + 'feature_workspaces' => 'n', + // games 'feature_games' => 'n', Modified: branches/experimental/ws/templates/tiki-admin-include-features.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-05-07 18:03:04 UTC (rev 18552) +++ branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-05-07 18:57:08 UTC (rev 18553) @@ -96,6 +96,12 @@ <span class="label"> {if $prefs.feature_help eq 'y'}<a href="{$prefs.helpurl}Categories" target="tikihelp" class="tikihelp" title="{tr}Categories{/tr}">{/if} {tr}Categories{/tr} {if $prefs.feature_help eq 'y'}</a>{/if}</span> </div> <div class="half_width"> + <span class="checkbox"><input type="checkbox" name="feature_workspaces" {if $prefs.feature_workspaces + eq 'y'}checked="checked"{/if}/></span> + <span class="label"> {if $prefs.feature_workspaces eq 'y'}<a href="{$prefs.helpurl}Workspaces" + target="tikihelp" class="tikihelp" title="{tr}Workspaces{/tr}">{/if}{tr}Workspaces{/tr}{if $prefs.feature_help eq 'y'}</a>{/if}</span> + </div> + <div class="half_width"> <span class="checkbox"><input type="checkbox" name="feature_score" {if $prefs.feature_score eq 'y'}checked="checked"{/if} /></span> <span class="label"> {if $prefs.feature_help eq 'y'}<a href="{$prefs.helpurl}Score" target="tikihelp" class="tikihelp" title="{tr}Score{/tr}: {tr}Score{/tr}">{/if} {tr}Score{/tr}{if $prefs.feature_help eq 'y'}</a>{/if}</span> </div> Modified: branches/experimental/ws/tiki-setup.php =================================================================== --- branches/experimental/ws/tiki-setup.php 2009-05-07 18:03:04 UTC (rev 18552) +++ branches/experimental/ws/tiki-setup.php 2009-05-07 18:57:08 UTC (rev 18553) @@ -93,6 +93,7 @@ } if ( $prefs['feature_freetags'] == 'y' ) require_once('lib/setup/freetags.php'); if ( $prefs['feature_categories'] == 'y' ) require_once('lib/setup/categories.php'); +if ( $prefs['feature_workspaces'] == 'y' ) require_once('lib/setup/wslib.php'); if ( $prefs['feature_userlevels'] == 'y' ) require_once('lib/setup/userlevels.php'); if ( $prefs['feature_fullscreen'] == 'y' ) require_once('lib/setup/fullscreen.php'); if ( $prefs['auth_method'] == 'openid' ) require_once('lib/setup/openid.php'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-05-14 17:15:13
|
Revision: 18784 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=18784&view=rev Author: axold Date: 2009-05-14 17:14:57 +0000 (Thu, 14 May 2009) Log Message: ----------- [New] Added the workspaces option and more Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/templates/tiki-admin-include-anchors.tpl branches/experimental/ws/templates/tiki-admin.tpl branches/experimental/ws/tiki-admin.php branches/experimental/ws/tiki-admin_include_features.php Added Paths: ----------- branches/experimental/ws/pics/large/workspaces.png branches/experimental/ws/pics/large/workspaces48x48.png branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-05-14 17:05:09 UTC (rev 18783) +++ branches/experimental/ws/lib/setup/prefs.php 2009-05-14 17:14:57 UTC (rev 18784) @@ -864,6 +864,8 @@ // Workspaces 'feature_workspaces' => 'n', + 'feature_workspaces_init' => 'n', + 'workspace_id' => '', // games 'feature_games' => 'n', Added: branches/experimental/ws/pics/large/workspaces.png =================================================================== (Binary files differ) Property changes on: branches/experimental/ws/pics/large/workspaces.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/experimental/ws/pics/large/workspaces48x48.png =================================================================== (Binary files differ) Property changes on: branches/experimental/ws/pics/large/workspaces48x48.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/experimental/ws/templates/tiki-admin-include-anchors.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-anchors.tpl 2009-05-14 17:05:09 UTC (rev 18783) +++ branches/experimental/ws/templates/tiki-admin-include-anchors.tpl 2009-05-14 17:14:57 UTC (rev 18784) @@ -132,4 +132,7 @@ {if $prefs.feature_sefurl neq 'n'} <a href="tiki-admin.php?page=sefurl" title="{tr}Sef URL{/tr}" class="icon">{icon _id="pics/large/goto.png" alt="{tr}Sef URL{/tr}" class="reflect" style="vertical-align: middle" width="32" height="32"}</a> {/if} +{if $prefs.feature_workspaces eq 'y'} +<a href="tiki-admin.php?page=workspaces" title="{tr}Workspaces{/tr}" class="icon">{icon_id="pics/large/workspaces.png" alt="{tr}Workspaces{/tr} class="reflect" style="vertical-align: middle" width="32" height="32"}</a> +{/if} <br class="clear" /> Modified: branches/experimental/ws/templates/tiki-admin.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin.tpl 2009-05-14 17:05:09 UTC (rev 18783) +++ branches/experimental/ws/templates/tiki-admin.tpl 2009-05-14 17:14:57 UTC (rev 18784) @@ -21,7 +21,7 @@ </div> {* The rest determines which page to include using "page" GET parameter. Default : list-sections Add a value in first check when you create a new admin page. *} -{if in_array($adminpage, array("features", "general", "login", "wiki", "gal", "fgal", "cms", "polls", "search", "blogs", "forums", "faqs", "trackers", "webmail", "rss", "directory", "userfiles", "maps", "metatags", "wikiatt","score", "community", "messages", "calendar","intertiki","freetags","gmap", "i18n","wysiwyg","copyright","category", "module", "look", "textarea", "multimedia", "ads", "profiles", "semantic", "plugins", "webservices", 'sefurl'))} +{if in_array($adminpage, array("features", "general", "login", "wiki", "gal", "fgal", "cms", "polls", "search", "blogs", "forums", "faqs", "trackers", "webmail", "rss", "directory", "userfiles", "maps", "metatags", "wikiatt","score", "community", "messages", "calendar","intertiki","freetags","gmap", "i18n","wysiwyg","copyright","category", "module", "look", "textarea", "multimedia", "ads", "profiles", "semantic", "plugins", "webservices", 'sefurl', "workspaces"))} {assign var="include" value=$smarty.get.page} {else} {assign var="include" value="list-sections"} Modified: branches/experimental/ws/tiki-admin.php =================================================================== --- branches/experimental/ws/tiki-admin.php 2009-05-14 17:05:09 UTC (rev 18783) +++ branches/experimental/ws/tiki-admin.php 2009-05-14 17:14:57 UTC (rev 18784) @@ -290,7 +290,13 @@ $description = 'Search engine friendly url'; $helpUrl = 'Rewrite+Rules'; include_once ('tiki-admin_include_sefurl.php'); + } else if ($adminPage == 'workspaces') { + $admintitle = 'Workspaces Beta'; + $description = 'Workspaces Beta for Tiki 4.0'; + $helpUrl = 'Workspaces'; + include_once ('tiki-admin_include_workspaces.php'); } + $url = 'tiki-admin.php'.'?page='.$adminPage; if (!$helpUrl) {$helpUrl = ucfirst($adminPage)."+Config";} Modified: branches/experimental/ws/tiki-admin_include_features.php =================================================================== --- branches/experimental/ws/tiki-admin_include_features.php 2009-05-14 17:05:09 UTC (rev 18783) +++ branches/experimental/ws/tiki-admin_include_features.php 2009-05-14 17:14:57 UTC (rev 18784) @@ -25,6 +25,7 @@ "feature_blogs", "feature_calendar", "feature_categories", + "feature_workspaces", "feature_charts", "feature_comm", "feature_contact", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <man...@us...> - 2009-05-15 14:22:33
|
Revision: 18830 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=18830&view=rev Author: mangapower Date: 2009-05-15 13:33:22 +0000 (Fri, 15 May 2009) Log Message: ----------- [NEW] Added a proto interface about configuring workspaces Modified Paths: -------------- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-05-15 13:31:40 UTC (rev 18829) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-05-15 13:33:22 UTC (rev 18830) @@ -1,6 +1,41 @@ {* $Id: $ *} -{if $warning} -{remarksbox type="info" title="{tr}Welcome to Workspaces{/tr}"} - {$warning} +{if $welcome} +{remarksbox type="info" title="{tr}You must to configure Workspaces before to get ready!{/tr}"} + {$welcome} {/remarksbox} {/if} + +<div class="cbox"> +<div class="cbox-title"> +Workspaces Configuration +</div> +<form class="admin" method="post" action="tiki-admin.php?page=workspaces"> +<div style="padding:0.5em;clear:both"> + <div style="float:left;margin-right:1em;"> + <input type="radio" id="feature_workspaces" name="feature_workspaces" checked="checked"/> + </div> + <div> + <label for="feature_workspaces">{tr}Select a Category and convert it to a Workspace container{/tr}</label> + <select id="workspaces_category_list"> + <option title="Example 1" value="1">Category example 1</option> + <option title="Example 2 " value="2">Category example 2</option> + <option title="Example 3" value="3">Category example 3</option> + </select> + {if $prefs.feature_help eq 'y'} {help url="Workspaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> + </div> +</div> +<div style="padding:0.5em;clear:both"> + <div style="float:left;margin-right:1em;"> + <input type="radio" id="feature_workspaces_new_container_selection" name="feature_workspaces" /> + </div> + <div> + <label for="feature_sefurl_filter">{tr}Create a new Workspace container{/tr}</label> + <input type="text" id="feature_workspaces_new_container" name="feature_workspaces_new_container" /> + {if $prefs.feature_help eq 'y'} {help url="Workpaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> + </div> +</div> +<div class="heading input_submit_container" style="text-align: center;padding:1em;"> + <input type="submit" name="save" value="{tr}Apply{/tr}" /> +</div> +</form> +</div> Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-05-15 13:31:40 UTC (rev 18829) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-05-15 13:33:22 UTC (rev 18830) @@ -5,7 +5,10 @@ require_once ('tiki-setup.php'); $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); -$smarty->assign('warning', tra('In order to get Workspaces working you must to configure first how do you want ')); +//if $prefs['feature_workspaces_init'] != 'n' +//{ + $smarty->assign('welcome', tra('Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because you can not step back!')); +//} ask_ticket('admin-inc-workspaces'); ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-23 07:10:15
|
Revision: 19738 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19738&view=rev Author: axold Date: 2009-06-23 07:10:09 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19725 to 19736 Modified Paths: -------------- branches/experimental/ws/lang/es/language.php branches/experimental/ws/lib/multilingual/multilinguallib.php branches/experimental/ws/modules/mod-terminology.php branches/experimental/ws/templates/tiki-listpages_content.tpl branches/experimental/ws/templates/tiki-view_tracker.tpl branches/experimental/ws/templates/tracker_item_field_value.tpl branches/experimental/ws/tiki-admin_tracker_fields.php branches/experimental/ws/tiki-editpage.php branches/experimental/ws/tiki-listpages.php Property Changed: ---------------- branches/experimental/ws/ branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php branches/experimental/ws/lib/jquery/ branches/experimental/ws/lib/jquery/cluetip/ branches/experimental/ws/lib/jquery/jquery-autocomplete/ branches/experimental/ws/lib/jquery/reflection-jquery/ branches/experimental/ws/lib/jquery/superfish/ branches/experimental/ws/lib/jquery_tiki/ branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php branches/experimental/ws/styles/strasa/options/mono/pics/ Property changes on: branches/experimental/ws ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 + /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 /trunk:19726-19736 Property changes on: branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 + /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 /trunk/installer/schema/20081125_tiki_tracker_types_tiki.sql:19726-19736 Property changes on: branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 + /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_calendar_priority_tiki.sql:19726-19736 Property changes on: branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 + /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_wiki_similar_permission_tiki.sql:19726-19736 Modified: branches/experimental/ws/lang/es/language.php =================================================================== --- branches/experimental/ws/lang/es/language.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/lang/es/language.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -1626,15 +1626,15 @@ "Override tnsnames.ora and put your SID here and enter your hostname:port in the Host field" => "Anule tnsnames.ora y escriba su SID aquí e introduzca su hostname:port en el campo Host", "Enter a database user with administrator permission for the Database" => "Introduzca el nombre de usuario de la base datos con permisos de administración en la misma", "User name" => "Nombre de usuario", -"Select the installation (or upgrade) profile to use. This profile will populate (or upgrade) the database" => "Seleccione el profile de instalación (o actualización) a utilizar. Este profile rellenará (o actualizará) la base de datos", -"Select the installation profile to use. This profile will populate the database" => "Seleccione el profile de instalación a utilizar. Este profile rellenará la base de datos", -"Profiles can be used to pre-configure your site with specific features and settings" => "Los Profiles pueden ser utilizados para pre-configurar su sitio Tiki con una configuración y unas características específicas", +"Select the installation (or upgrade) profile to use. This profile will populate (or upgrade) the database" => "Seleccione el perfil de instalación (o actualización) a utilizar. Este perfil rellenará (o actualizará) la base de datos", +"Select the installation profile to use. This profile will populate the database" => "Seleccione el perfil de instalación a utilizar. Este perfil rellenará la base de datos", +"Profiles can be used to pre-configure your site with specific features and settings" => "Los Perfiles pueden ser utilizados para pre-configurar su sitio Tiki con una configuración y unas características específicas", "Visit <a href=\"http://profiles.tikiwiki.org\" target=\"_blank\">http://profiles.tikiwiki.org</a> for more information" => "Visite <a href=\"http://profiles.tikiwiki.org\" target=\"_blank\">http://profiles.tikiwiki.org</a> para más información", "This will destroy your current database" => "Esto destruirá su actual base de datos", -"Create a new database (clean install) with profile" => "Crear una nueva base de datos (instalación limpia) con el profile", -"See the documentation for <a target=\"_blank\" href=\"http://profiles.tikiwiki.org/Profiles_in_30_installer\" class=\"link\" title=\"Description of available profiles.\">descriptions of the available profiles" => "Consulte la documentación para <a target=\"_blank\" href=\"http://profiles.tikiwiki.org/Profiles_in_30_installer\" class=\"link\" title=\"Description of available profiles.\">las descripciones de los profiles disponibles", -"The installer could not connect to the Profiles repository" => "El instalador no pudo conectar con el repositorio de profiles", -"The default installation profile will be used" => "Se utilizará el profile de instalación por defecto", +"Create a new database (clean install) with profile" => "Crear una nueva base de datos (instalación limpia) con el perfil", +"See the documentation for <a target=\"_blank\" href=\"http://profiles.tikiwiki.org/Profiles_in_30_installer\" class=\"link\" title=\"Description of available profiles.\">descriptions of the available profiles" => "Consulte la documentación para <a target=\"_blank\" href=\"http://profiles.tikiwiki.org/Profiles_in_30_installer\" class=\"link\" title=\"Description of available profiles.\">las descripciones de los perfiles disponibles", +"The installer could not connect to the Profiles repository" => "El instalador no pudo conectar con el repositorio de perfiles", +"The default installation profile will be used" => "Se utilizará el perfil de instalación por defecto", "This site has an admin account configured" => "Este sitio tiene una cuenta de administración configurada", "Please login with your admin password to continue" => "Por favor, regístrese con su contraseña de administración para continuar", "Your database has been configured and Tiki is ready to run" => "Su base de datos ha sido configurada y Tiki está listo para ser ejecutado", @@ -8774,8 +8774,8 @@ "Use Existing Connection" => "Utilizar Conexión Existente", "Database information" => "Información de la Base de Datos", "Database user" => "Usuario de la base de datos", -"Install & Update Profile" => "Instalar & Actualizar Profile", -"Install Profile" => "Instalar Profile", +"Install & Update Profile" => "Instalar & Actualizar Perfil", +"Install Profile" => "Instalar Perfil", "Install" => "Instalar", "Reinstall the database" => "Reinstalar la base de datos", "Bare-bones default install" => "Bare-bones instalación por defecto", Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 + /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 + /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 + /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 + /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/AllTests.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 + /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 + /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:19726-19736 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 + /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:19726-19736 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 Property changes on: branches/experimental/ws/lib/jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 + /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 /trunk/lib/jquery:19726-19736 Property changes on: branches/experimental/ws/lib/jquery/cluetip ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/cluetip:17063-18916 + /branches/3.0/lib/jquery/cluetip:17063-18916 /trunk/lib/jquery/cluetip:19726-19736 Property changes on: branches/experimental/ws/lib/jquery/jquery-autocomplete ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 + /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 /trunk/lib/jquery/jquery-autocomplete:19726-19736 Property changes on: branches/experimental/ws/lib/jquery/reflection-jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/reflection-jquery:17063-18916 + /branches/3.0/lib/jquery/reflection-jquery:17063-18916 /trunk/lib/jquery/reflection-jquery:19726-19736 Property changes on: branches/experimental/ws/lib/jquery/superfish ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/superfish:17063-18916 + /branches/3.0/lib/jquery/superfish:17063-18916 /trunk/lib/jquery/superfish:19726-19736 Property changes on: branches/experimental/ws/lib/jquery_tiki ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 + /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 /trunk/lib/jquery_tiki:19726-19736 Modified: branches/experimental/ws/lib/multilingual/multilinguallib.php =================================================================== --- branches/experimental/ws/lib/multilingual/multilinguallib.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/lib/multilingual/multilinguallib.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -804,6 +804,21 @@ return $userLangsInfo; } + + + function getTemplateIDInLanguage($section, $template_name, $language) { + global $tikilib; + $all_templates = $tikilib->list_templates($section, 0, -1, 'name_asc', ''); + $looking_for_template_named = "$template_name-$language"; + foreach ($all_templates['data'] as $a_template) { + $a_template_name = $a_template['name']; + if ($a_template_name == $looking_for_template_named) { + return $a_template['templateId']; + } + } + return null; + } + } global $dbTiki; Property changes on: branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 + /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/lib/wiki-plugins/wikiplugin_mediaplayer.php:19726-19736 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 Modified: branches/experimental/ws/modules/mod-terminology.php =================================================================== --- branches/experimental/ws/modules/mod-terminology.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/modules/mod-terminology.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -3,8 +3,6 @@ // Support for multilingual terminology module // -//print "-- mod-terminology.php: invoked<br>\n"; - global $multilinguallib, $smarty, $tikilib; include_once('lib/multilingual/multilinguallib.php'); @@ -14,7 +12,8 @@ $smarty->assign('search_terms_in_lang', $search_terms_in_lang); $userLanguagesInfo = $multilinguallib->preferedLangsInfo(); -//print "-- mod-terminology: \$userLanguagesInfo="; var_dump($userLanguagesInfo); print "<br>\n"; $smarty->assign('user_languages', $userLanguagesInfo); +$smarty->assign('create_new_pages_using_template_name', 'Term Template'); + Property changes on: branches/experimental/ws/styles/strasa/options/mono/pics ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/styles/strasa/options/mono/pics:18696-18916 + /branches/3.0/styles/strasa/options/mono/pics:18696-18916 /trunk/styles/strasa/options/mono/pics:19726-19736 Modified: branches/experimental/ws/templates/tiki-listpages_content.tpl =================================================================== --- branches/experimental/ws/templates/tiki-listpages_content.tpl 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/templates/tiki-listpages_content.tpl 2009-06-23 07:10:09 UTC (rev 19738) @@ -371,7 +371,7 @@ {/if} {if $find && $tiki_p_edit eq 'y' and $pagefound eq 'n'} - {button _text="{tr}Create Page{/tr}: $find" href="tiki-editpage.php?page=$find" _title="{tr}Create{/tr}"} + {button _text="{tr}Create Page{/tr}: $find" href="tiki-editpage.php?page=$find&lang=$find_lang&templateId=$template_id" _title="{tr}Create{/tr}"} {/if} {if $checkboxes_on eq 'y'} </form> Modified: branches/experimental/ws/templates/tiki-view_tracker.tpl =================================================================== --- branches/experimental/ws/templates/tiki-view_tracker.tpl 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/templates/tiki-view_tracker.tpl 2009-06-23 07:10:09 UTC (rev 19738) @@ -307,9 +307,7 @@ {* -------------------- system -------------------- *} {if $field_value.type eq 's' and ($field_value.name eq "Rating" or $field_value.name eq tra("Rating")) and $tiki_p_tracker_vote_ratings eq 'y'} - {section name=i loop=$field_value.options_array} - <input name="{$field_value.ins_id}" type="radio" value="{$field_value.options_array[i]|escape}" />{$field_value.options_array[i]} - {/section} + {include file='tracker_item_field_input.tpl'} {/if} {* -------------------- user selector -------------------- *} Modified: branches/experimental/ws/templates/tracker_item_field_value.tpl =================================================================== --- branches/experimental/ws/templates/tracker_item_field_value.tpl 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/templates/tracker_item_field_value.tpl 2009-06-23 07:10:09 UTC (rev 19738) @@ -260,36 +260,49 @@ {* -------------------- rating -------------------- *} {elseif $field_value.type eq 's' and ($field_value.name eq "Rating" or $field_value.name eq tra("Rating")) and $tiki_p_tracker_view_ratings eq 'y'} {if $list_mode eq 'csv'} - {$field_value.value} + {$field_value.value}/{$field_value.voteavg} {else} {capture name=stat} - {tr}Rating{/tr}: {$field_value.value|default:"-"}, {tr}Number of voices{/tr}: {$field_value.numvotes|default:"-"}, {tr}Average{/tr}: {$field_value.voteavg|default:"-"}, {tr}Your vote{/tr}: {if $item.my_rate}{$item.my_rate}{else}-{/if} - {/capture} - <b title="{$smarty.capture.stat}"> - {if $field_value.value}{$field_value.voteavg}/{$field_value.value}{else} - {/if}</b> - {if $tiki_p_tracker_vote_ratings eq 'y'} - {if !$item.my_rate} - <b class="highlight">-</b> + {if empty($field_value.numvotes)} + {tr}Number of votes{/tr}: 0 {else} - <a href="{$smarty.server.PHP_SELF}{if $query_string}?{$query_string}{else}?{/if} - trackerId={$item.trackerId} - &itemId={$item.itemId} - &ins_{$field_value.fieldId}=NULL - {if $page}&page={$page|escape:url}{/if}">-</a> + {tr}Rating{/tr}: {$field_value.value|default:"0"}, {tr}Number of votes{/tr}: {$field_value.numvotes|default:"0"}, {tr}Average{/tr}: {$field_value.voteavg|default:"0"}, + {if $item.my_rate}{tr}Your rating{/tr}: {$item.my_rate}{else}{tr}You did not vote yet{/tr}{/if} {/if} - {section name=i loop=$field_value.options_array} - {if $field_value.options_array[i] eq $item.my_rate} - <b class="highlight">{$field_value.options_array[i]}</b> + {/capture} + {capture name=myvote} + {tr}My rating:{/tr} {$item.my_rate} + {/capture} + {section name=i loop=$field_value.options_array} + {if $tiki_p_tracker_vote_ratings eq 'y' and isset($item.my_rate) and $field_value.options_array[i] eq $item.my_rate} + <b class="highlight"> + {if $field_value.voteavg >= $field_value.options_array[i]} + {icon _id='star' alt=$field_value.options_array[i] title=$smarty.capture.myvote} {else} - <a href="{$smarty.server.PHP_SELF}? - trackerId={$item.trackerId} - &itemId={$item.itemId} - &ins_{$field_value.fieldId}={$field_value.options_array[i]} - {if $page}&page={$page|escape:url}{/if}" - title="{tr}Click to vote for this value.{/tr} {$smarty.capture.stat}">{$field_value.options_array[i]}</a> + {icon _id='star_grey' alt=$field_value.options_array[i] title=$smarty.capture.myvote} {/if} - {/section} + </b> + {else} + {capture name=thisvote}{tr}Click to vote for this value:{/tr} {$field_value.options_array[i]}{/capture} + <a href="{$smarty.server.PHP_SELF}?trackerId={$item.trackerId}&itemId={$item.itemId}&ins_{$field_value.fieldId}={$field_value.options_array[i]}{if $page}&page={$page|escape:url}{/if}"> + {if $field_value.voteavg >= $field_value.options_array[i]} + {icon _id='star' alt=$field_value.options_array[i] title=$smarty.capture.thisvote} + {else} + {icon _id='star_grey' alt=$field_value.options_array[i] title=$smarty.capture.thisvote} + {/if} + </a> + {/if} + {assign var='previousvote' value=$field_value.options_array[i]} + {/section} + {if $item.itemId} + <small title="{tr}Votes{/tr}"> + ({$field_value.numvotes}) + </small> + {icon _id='help' title=$smarty.capture.stat} {/if} + {if $tiki_p_tracker_vote_ratings eq 'y' and isset($item.my_rate)} + <a href="{$smarty.server.PHP_SELF}{if $query_string}?{$query_string}{else}?{/if}trackerId={$item.trackerId}&itemId={$item.itemId}&ins_{$field_value.fieldId}=NULL{if $page}&page={$page|escape:url}{/if}" title="{tr}Clik to delete your vote{/tr}">x</a> + {/if} {/if} {* -------------------- header ------------------------- *} Modified: branches/experimental/ws/tiki-admin_tracker_fields.php =================================================================== --- branches/experimental/ws/tiki-admin_tracker_fields.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/tiki-admin_tracker_fields.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -31,6 +31,7 @@ $smarty->display("error.tpl"); die; } +$auto_query_args = array('trackerId','offsset', 'sort_mode', 'find', 'max'); $smarty->assign('trackerId', $_REQUEST["trackerId"]); $tracker_info = $trklib->get_tracker($_REQUEST["trackerId"]); Modified: branches/experimental/ws/tiki-editpage.php =================================================================== --- branches/experimental/ws/tiki-editpage.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/tiki-editpage.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -733,7 +733,6 @@ } } } - if (isset($_REQUEST["templateId"]) && $_REQUEST["templateId"] > 0 && !isset($_REQUEST['preview']) && !isset($_REQUEST['save'])) { $template_data = $tikilib->get_template($_REQUEST["templateId"]); $_REQUEST["edit"] = $template_data["content"]."\n".$_REQUEST["edit"]; Modified: branches/experimental/ws/tiki-listpages.php =================================================================== --- branches/experimental/ws/tiki-listpages.php 2009-06-23 06:51:30 UTC (rev 19737) +++ branches/experimental/ws/tiki-listpages.php 2009-06-23 07:10:09 UTC (rev 19738) @@ -15,8 +15,12 @@ $auto_query_args = array('initial','maxRecords','sort_mode','find','lang','langOrphan', 'findfilter_orphan', 'categId', 'category', 'page_orphans', - 'structure_orphans', 'exact_match', 'hits_link_to_all_languages'); + 'structure_orphans', 'exact_match', + 'hits_link_to_all_languages', 'create_new_pages_using_template_name'); +$language = $_REQUEST['lang']; +$template_id_for_new_pages = $multilinguallib->getTemplateIDInLanguage('wiki', $_REQUEST['create_new_pages_using_template_name'], $language); +$smarty->assign('template_id', $template_id_for_new_pages); if ($_REQUEST['hits_link_to_all_languages'] == 'On') { $smarty->assign('all_langs', 'y'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-23 11:14:49
|
Revision: 19741 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19741&view=rev Author: axold Date: 2009-06-23 11:14:24 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [MOD] manual copy of trunk in ws branch Modified Paths: -------------- branches/experimental/ws/backups/index.php branches/experimental/ws/display_banner.php branches/experimental/ws/freetag_list.php branches/experimental/ws/games/flash/index.php branches/experimental/ws/games/index.php branches/experimental/ws/games/thumbs/index.php branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/setup_smarty.php branches/experimental/ws/templates/antibot.tpl branches/experimental/ws/templates/browse_file_gallery.tpl branches/experimental/ws/templates/categorize.tpl branches/experimental/ws/templates/comment-footer.tpl branches/experimental/ws/templates/comment-header.tpl branches/experimental/ws/templates/comment.tpl branches/experimental/ws/templates/comments.tpl branches/experimental/ws/templates/debug/index.php branches/experimental/ws/templates/duplicate_file_gallery.tpl branches/experimental/ws/templates/edit_file_gallery.tpl branches/experimental/ws/templates/error.tpl branches/experimental/ws/templates/error_simple.tpl branches/experimental/ws/templates/error_ticket.tpl branches/experimental/ws/templates/fgal_context_menu.tpl branches/experimental/ws/templates/fgal_listing_conf.tpl branches/experimental/ws/templates/find.tpl branches/experimental/ws/templates/footer.tpl branches/experimental/ws/templates/header.tpl branches/experimental/ws/templates/header_simple.tpl branches/experimental/ws/templates/index.php branches/experimental/ws/templates/information.tpl branches/experimental/ws/templates/list_file_gallery_content.tpl branches/experimental/ws/templates/mail/forum_post_notification.tpl branches/experimental/ws/templates/mail/index.php branches/experimental/ws/templates/mail/user_validation_mail_subject.tpl branches/experimental/ws/templates/mail/user_watch_blog_post.tpl branches/experimental/ws/templates/mail/user_watch_forum_subject.tpl branches/experimental/ws/templates/map/index.php branches/experimental/ws/templates/messu-archive.tpl branches/experimental/ws/templates/messu-broadcast.tpl branches/experimental/ws/templates/messu-compose.tpl branches/experimental/ws/templates/messu-mailbox.tpl branches/experimental/ws/templates/messu-read.tpl branches/experimental/ws/templates/messu-read_archive.tpl branches/experimental/ws/templates/messu-read_sent.tpl branches/experimental/ws/templates/messu-sent.tpl branches/experimental/ws/templates/module.tpl branches/experimental/ws/templates/modules/index.php branches/experimental/ws/templates/modules/mod-articles.tpl branches/experimental/ws/templates/modules/mod-calendar_new.tpl branches/experimental/ws/templates/modules/mod-directory_last_sites.tpl branches/experimental/ws/templates/modules/mod-last_articles.tpl branches/experimental/ws/templates/modules/mod-last_blog_posts.tpl branches/experimental/ws/templates/modules/mod-login_box.tpl branches/experimental/ws/templates/modules/mod-logo.tpl branches/experimental/ws/templates/modules/mod-search_box.tpl branches/experimental/ws/templates/modules/mod-switch_lang.tpl branches/experimental/ws/templates/modules/mod-usergroup_tracker.tpl branches/experimental/ws/templates/modules/mod-users_rank.tpl branches/experimental/ws/templates/modules/mod-webmail_inbox.tpl branches/experimental/ws/templates/modules/user_module.tpl branches/experimental/ws/templates/setup_fckeditor.tpl branches/experimental/ws/templates/structures_toc.tpl branches/experimental/ws/templates/structures_toc_level.tpl branches/experimental/ws/templates/styles/coelesce/index.php branches/experimental/ws/templates/styles/darkroom/index.php branches/experimental/ws/templates/styles/feb12/index.php branches/experimental/ws/templates/styles/index.php branches/experimental/ws/templates/styles/strasa/custom_site_footer.tpl branches/experimental/ws/templates/styles/strasa/index.php branches/experimental/ws/templates/styles/strasa/tiki-view_blog.tpl branches/experimental/ws/templates/styles/thenews/index.php branches/experimental/ws/templates/styles/tikinewt/index.php branches/experimental/ws/templates/tiki-action_calendar.tpl branches/experimental/ws/templates/tiki-admin-include-anchors.tpl branches/experimental/ws/templates/tiki-admin-include-blogs.tpl branches/experimental/ws/templates/tiki-admin-include-calendar.tpl branches/experimental/ws/templates/tiki-admin-include-cms.tpl branches/experimental/ws/templates/tiki-admin-include-community.tpl branches/experimental/ws/templates/tiki-admin-include-features.tpl branches/experimental/ws/templates/tiki-admin-include-fgal.tpl branches/experimental/ws/templates/tiki-admin-include-forums.tpl branches/experimental/ws/templates/tiki-admin-include-freetags.tpl branches/experimental/ws/templates/tiki-admin-include-general.tpl branches/experimental/ws/templates/tiki-admin-include-gmap.tpl branches/experimental/ws/templates/tiki-admin-include-i18n.tpl branches/experimental/ws/templates/tiki-admin-include-list-sections.tpl branches/experimental/ws/templates/tiki-admin-include-login.tpl branches/experimental/ws/templates/tiki-admin-include-look.tpl branches/experimental/ws/templates/tiki-admin-include-metatags.tpl branches/experimental/ws/templates/tiki-admin-include-module.tpl branches/experimental/ws/templates/tiki-admin-include-multimedia.tpl branches/experimental/ws/templates/tiki-admin-include-profiles.tpl branches/experimental/ws/templates/tiki-admin-include-rss.tpl branches/experimental/ws/templates/tiki-admin-include-search.tpl branches/experimental/ws/templates/tiki-admin-include-textarea.tpl branches/experimental/ws/templates/tiki-admin-include-trackers.tpl branches/experimental/ws/templates/tiki-admin-include-wiki.tpl branches/experimental/ws/templates/tiki-admin.tpl branches/experimental/ws/templates/tiki-admin_actionlog.tpl branches/experimental/ws/templates/tiki-admin_calendars.tpl branches/experimental/ws/templates/tiki-admin_categories.tpl branches/experimental/ws/templates/tiki-admin_content_templates.tpl branches/experimental/ws/templates/tiki-admin_forums.tpl branches/experimental/ws/templates/tiki-admin_html_page_content.tpl branches/experimental/ws/templates/tiki-admin_html_pages.tpl branches/experimental/ws/templates/tiki-admin_menu_options.tpl branches/experimental/ws/templates/tiki-admin_menus.tpl branches/experimental/ws/templates/tiki-admin_modules.tpl branches/experimental/ws/templates/tiki-admin_newsletters.tpl branches/experimental/ws/templates/tiki-admin_notifications.tpl branches/experimental/ws/templates/tiki-admin_poll_options.tpl branches/experimental/ws/templates/tiki-admin_polls.tpl branches/experimental/ws/templates/tiki-admin_quicktags.tpl branches/experimental/ws/templates/tiki-admin_quicktags_content.tpl branches/experimental/ws/templates/tiki-admin_quicktags_edit.tpl branches/experimental/ws/templates/tiki-admin_security.tpl branches/experimental/ws/templates/tiki-admin_structures.tpl branches/experimental/ws/templates/tiki-admin_surveys.tpl branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl branches/experimental/ws/templates/tiki-admin_trackers.tpl branches/experimental/ws/templates/tiki-admingroups.tpl branches/experimental/ws/templates/tiki-adminusers.tpl branches/experimental/ws/templates/tiki-approve_staging_page.tpl branches/experimental/ws/templates/tiki-backlinks.tpl branches/experimental/ws/templates/tiki-batch_upload.tpl branches/experimental/ws/templates/tiki-batch_upload_files.tpl branches/experimental/ws/templates/tiki-blog_post.tpl branches/experimental/ws/templates/tiki-bot_bar.tpl branches/experimental/ws/templates/tiki-browse_freetags.tpl branches/experimental/ws/templates/tiki-browse_gallery.tpl branches/experimental/ws/templates/tiki-calendar.tpl branches/experimental/ws/templates/tiki-calendar_box.tpl branches/experimental/ws/templates/tiki-calendar_calmode.tpl branches/experimental/ws/templates/tiki-calendar_daymode.tpl branches/experimental/ws/templates/tiki-calendar_edit_item.tpl branches/experimental/ws/templates/tiki-calendar_nav.tpl branches/experimental/ws/templates/tiki-calendar_params_ical.tpl branches/experimental/ws/templates/tiki-calendar_weekmode.tpl branches/experimental/ws/templates/tiki-categpermissions.tpl branches/experimental/ws/templates/tiki-contact.tpl branches/experimental/ws/templates/tiki-directory_add_site.tpl branches/experimental/ws/templates/tiki-directory_admin.tpl branches/experimental/ws/templates/tiki-directory_admin_bar.tpl branches/experimental/ws/templates/tiki-directory_admin_categories.tpl branches/experimental/ws/templates/tiki-directory_admin_related.tpl branches/experimental/ws/templates/tiki-directory_admin_sites.tpl branches/experimental/ws/templates/tiki-directory_bar.tpl branches/experimental/ws/templates/tiki-directory_browse.tpl branches/experimental/ws/templates/tiki-directory_footer.tpl branches/experimental/ws/templates/tiki-directory_ranking.tpl branches/experimental/ws/templates/tiki-directory_search.tpl branches/experimental/ws/templates/tiki-directory_validate_sites.tpl branches/experimental/ws/templates/tiki-edit_article.tpl branches/experimental/ws/templates/tiki-edit_blog.tpl branches/experimental/ws/templates/tiki-edit_help.tpl branches/experimental/ws/templates/tiki-edit_help_tool.tpl branches/experimental/ws/templates/tiki-edit_image.tpl branches/experimental/ws/templates/tiki-edit_question_options.tpl branches/experimental/ws/templates/tiki-edit_quiz.tpl branches/experimental/ws/templates/tiki-edit_structure.tpl branches/experimental/ws/templates/tiki-edit_submission.tpl branches/experimental/ws/templates/tiki-edit_wiki_section.tpl branches/experimental/ws/templates/tiki-editpage.tpl branches/experimental/ws/templates/tiki-export-sheets.tpl branches/experimental/ws/templates/tiki-export_comment_xml.tpl branches/experimental/ws/templates/tiki-export_page_xml.tpl branches/experimental/ws/templates/tiki-export_tracker_item.tpl branches/experimental/ws/templates/tiki-faq_questions.tpl branches/experimental/ws/templates/tiki-file_archives.tpl branches/experimental/ws/templates/tiki-file_gallery_slideshow.tpl branches/experimental/ws/templates/tiki-forums.tpl branches/experimental/ws/templates/tiki-g-activity_completed.tpl branches/experimental/ws/templates/tiki-g-admin_activities.tpl branches/experimental/ws/templates/tiki-g-admin_graph.tpl branches/experimental/ws/templates/tiki-g-admin_instance.tpl branches/experimental/ws/templates/tiki-g-admin_instance_activity.tpl branches/experimental/ws/templates/tiki-g-admin_processes.tpl branches/experimental/ws/templates/tiki-g-admin_roles.tpl branches/experimental/ws/templates/tiki-g-admin_shared_source.tpl branches/experimental/ws/templates/tiki-g-monitor_activities.tpl branches/experimental/ws/templates/tiki-g-monitor_processes.tpl branches/experimental/ws/templates/tiki-g-monitor_workitems.tpl branches/experimental/ws/templates/tiki-g-user_activities.tpl branches/experimental/ws/templates/tiki-g-user_instances.tpl branches/experimental/ws/templates/tiki-g-user_processes.tpl branches/experimental/ws/templates/tiki-g-view_workitem.tpl branches/experimental/ws/templates/tiki-galleries.tpl branches/experimental/ws/templates/tiki-index_p.tpl branches/experimental/ws/templates/tiki-install.tpl branches/experimental/ws/templates/tiki-interactive_trans.tpl branches/experimental/ws/templates/tiki-lastchanges.tpl branches/experimental/ws/templates/tiki-likepages.tpl branches/experimental/ws/templates/tiki-list_articles.tpl branches/experimental/ws/templates/tiki-list_banners.tpl branches/experimental/ws/templates/tiki-list_comments.tpl branches/experimental/ws/templates/tiki-list_faqs.tpl branches/experimental/ws/templates/tiki-list_file_gallery.tpl branches/experimental/ws/templates/tiki-listpages.tpl branches/experimental/ws/templates/tiki-listpages_content.tpl branches/experimental/ws/templates/tiki-live_support_chat_window.tpl branches/experimental/ws/templates/tiki-live_support_client.tpl branches/experimental/ws/templates/tiki-live_support_console.tpl branches/experimental/ws/templates/tiki-login.tpl branches/experimental/ws/templates/tiki-minical.tpl branches/experimental/ws/templates/tiki-minical_prefs.tpl branches/experimental/ws/templates/tiki-my_tiki.tpl branches/experimental/ws/templates/tiki-newsletter_archives.tpl branches/experimental/ws/templates/tiki-newsreader_groups.tpl branches/experimental/ws/templates/tiki-newsreader_news.tpl branches/experimental/ws/templates/tiki-newsreader_read.tpl branches/experimental/ws/templates/tiki-newsreader_servers.tpl branches/experimental/ws/templates/tiki-notepad_list.tpl branches/experimental/ws/templates/tiki-notepad_read.tpl branches/experimental/ws/templates/tiki-notepad_write.tpl branches/experimental/ws/templates/tiki-object_watches.tpl branches/experimental/ws/templates/tiki-objectpermissions.tpl branches/experimental/ws/templates/tiki-orphan_pages.tpl branches/experimental/ws/templates/tiki-page_bar.tpl branches/experimental/ws/templates/tiki-pagehistory.tpl branches/experimental/ws/templates/tiki-pick_avatar.tpl branches/experimental/ws/templates/tiki-plugin_help.tpl branches/experimental/ws/templates/tiki-plugin_poll.tpl branches/experimental/ws/templates/tiki-plugin_trackerlist.tpl branches/experimental/ws/templates/tiki-plugins.tpl branches/experimental/ws/templates/tiki-poll.tpl branches/experimental/ws/templates/tiki-poll_form.tpl branches/experimental/ws/templates/tiki-poll_results.tpl branches/experimental/ws/templates/tiki-preview_post.tpl branches/experimental/ws/templates/tiki-print.tpl branches/experimental/ws/templates/tiki-print_article.tpl branches/experimental/ws/templates/tiki-print_forum_thread.tpl branches/experimental/ws/templates/tiki-print_multi_pages.tpl branches/experimental/ws/templates/tiki-print_pages.tpl branches/experimental/ws/templates/tiki-quiz_edit.tpl branches/experimental/ws/templates/tiki-read_article.tpl branches/experimental/ws/templates/tiki-received_pages.tpl branches/experimental/ws/templates/tiki-register.tpl branches/experimental/ws/templates/tiki-remind_password.tpl branches/experimental/ws/templates/tiki-rename_page.tpl branches/experimental/ws/templates/tiki-replicate_console.tpl branches/experimental/ws/templates/tiki-rollback.tpl branches/experimental/ws/templates/tiki-searchindex.tpl branches/experimental/ws/templates/tiki-searchresults.tpl branches/experimental/ws/templates/tiki-send_newsletters.tpl branches/experimental/ws/templates/tiki-sheets.tpl branches/experimental/ws/templates/tiki-show_help.tpl branches/experimental/ws/templates/tiki-show_page.tpl branches/experimental/ws/templates/tiki-show_page_raw.tpl branches/experimental/ws/templates/tiki-site_header.tpl branches/experimental/ws/templates/tiki-slideshow.tpl branches/experimental/ws/templates/tiki-special_chars.html branches/experimental/ws/templates/tiki-sqllog.tpl branches/experimental/ws/templates/tiki-take_survey.tpl branches/experimental/ws/templates/tiki-tell_a_friend.tpl branches/experimental/ws/templates/tiki-top_bar.tpl branches/experimental/ws/templates/tiki-upload_file.tpl branches/experimental/ws/templates/tiki-upload_image.tpl branches/experimental/ws/templates/tiki-user_assigned_modules.tpl branches/experimental/ws/templates/tiki-user_bookmarks.tpl branches/experimental/ws/templates/tiki-user_contacts_prefs.tpl branches/experimental/ws/templates/tiki-user_information.tpl branches/experimental/ws/templates/tiki-user_preferences.tpl branches/experimental/ws/templates/tiki-user_tasks.tpl branches/experimental/ws/templates/tiki-user_tasks_edit.tpl branches/experimental/ws/templates/tiki-user_tasks_view.tpl branches/experimental/ws/templates/tiki-user_watches.tpl branches/experimental/ws/templates/tiki-userfiles.tpl branches/experimental/ws/templates/tiki-usermenu.tpl branches/experimental/ws/templates/tiki-view-sheets.tpl branches/experimental/ws/templates/tiki-view_blog.tpl branches/experimental/ws/templates/tiki-view_blog_post.tpl branches/experimental/ws/templates/tiki-view_faq.tpl branches/experimental/ws/templates/tiki-view_forum.tpl branches/experimental/ws/templates/tiki-view_forum_thread.tpl branches/experimental/ws/templates/tiki-view_tracker.tpl branches/experimental/ws/templates/tiki-view_tracker_item.tpl branches/experimental/ws/templates/tiki-view_tracker_more_info.tpl branches/experimental/ws/templates/tiki-webmail.tpl branches/experimental/ws/templates/tiki-webmail_contacts.tpl branches/experimental/ws/templates/tiki-wiki_topline.tpl branches/experimental/ws/templates/tiki.tpl branches/experimental/ws/templates/tiki_full.tpl branches/experimental/ws/templates/tracker_item_field_input.tpl branches/experimental/ws/templates/tracker_item_field_value.tpl branches/experimental/ws/templates/wiki-plugins/error_tracker.tpl branches/experimental/ws/templates/wiki-plugins/wikiplugin_invite.tpl branches/experimental/ws/templates/wiki-plugins/wikiplugin_subscribegroups.tpl branches/experimental/ws/templates/wiki_authors_style.tpl branches/experimental/ws/templates/wiki_edit.tpl branches/experimental/ws/tiki-admin.php branches/experimental/ws/tiki-admin_drawings.php branches/experimental/ws/tiki-admin_include_community.php branches/experimental/ws/tiki-admin_include_features.php branches/experimental/ws/tiki-admin_include_fgal.php branches/experimental/ws/tiki-admin_include_textarea.php branches/experimental/ws/tiki-admin_include_wysiwyg.php branches/experimental/ws/tiki-admin_security.php branches/experimental/ws/tiki-admin_structures.php branches/experimental/ws/tiki-admin_trackers.php branches/experimental/ws/tiki-approve_staging_page.php branches/experimental/ws/tiki-batch_upload.php branches/experimental/ws/tiki-batch_upload_files.php branches/experimental/ws/tiki-calendar.php branches/experimental/ws/tiki-calendars_rss.php branches/experimental/ws/tiki-directory_admin.php branches/experimental/ws/tiki-directory_admin_categories.php branches/experimental/ws/tiki-directory_admin_related.php branches/experimental/ws/tiki-directory_admin_sites.php branches/experimental/ws/tiki-edit_css.php branches/experimental/ws/tiki-error_simple.php branches/experimental/ws/tiki-file_galleries_rankings.php branches/experimental/ws/tiki-forums.php branches/experimental/ws/tiki-g-user_activities.php branches/experimental/ws/tiki-galleries.php branches/experimental/ws/tiki-galleries_rankings.php branches/experimental/ws/tiki-history_sheets.php branches/experimental/ws/tiki-layout_options.php branches/experimental/ws/tiki-likepages.php branches/experimental/ws/tiki-list_banners.php branches/experimental/ws/tiki-mailin.php branches/experimental/ws/tiki-notepad_get.php branches/experimental/ws/tiki-orphan_pages.php branches/experimental/ws/tiki-quiz_stats.php branches/experimental/ws/tiki-received_pages.php branches/experimental/ws/tiki-rollback.php branches/experimental/ws/tiki-rss_error.php branches/experimental/ws/tiki-setup.php branches/experimental/ws/tiki-slideshow2.php branches/experimental/ws/tiki-syslog.php branches/experimental/ws/tiki-user_tasks.php branches/experimental/ws/tiki-usermenu.php branches/experimental/ws/tiki-webmail_contacts.php branches/experimental/ws/x_maps.php branches/experimental/ws/xmlrpc.php Modified: branches/experimental/ws/backups/index.php =================================================================== --- branches/experimental/ws/backups/index.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/backups/index.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,5 +10,3 @@ header ("location: ../tiki-index.php"); die; - -?> Modified: branches/experimental/ws/display_banner.php =================================================================== --- branches/experimental/ws/display_banner.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/display_banner.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -63,7 +63,4 @@ break; } - print ($raw); - -?> Modified: branches/experimental/ws/freetag_list.php =================================================================== --- branches/experimental/ws/freetag_list.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/freetag_list.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -53,5 +53,3 @@ $smarty->assign('tag_suggestion',$suggestion); } - -?> Modified: branches/experimental/ws/games/flash/index.php =================================================================== --- branches/experimental/ws/games/flash/index.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/games/flash/index.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,5 +10,3 @@ header ("location: ../../tiki-index.php"); die; - -?> Modified: branches/experimental/ws/games/index.php =================================================================== --- branches/experimental/ws/games/index.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/games/index.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,5 +10,3 @@ header ("location: ../tiki-list_games.php"); die; - -?> Modified: branches/experimental/ws/games/thumbs/index.php =================================================================== --- branches/experimental/ws/games/thumbs/index.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/games/thumbs/index.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,5 +10,3 @@ header ("location: ../../tiki-index.php"); die; - -?> Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -987,11 +987,6 @@ 'categorypath_excluded' => '', 'categories_used_in_tpl' => 'n', - // Workspaces - 'feature_workspaces' => 'n', - 'feature_workspaces_init' => 'n', - 'workspace_id' => '', - // games 'feature_games' => 'n', Modified: branches/experimental/ws/setup_smarty.php =================================================================== --- branches/experimental/ws/setup_smarty.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/setup_smarty.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,19 +10,15 @@ if (strpos($_SERVER['SCRIPT_NAME'],basename(__FILE__)) !== FALSE) { header('location: index.php'); exit; - die(); } -// add a line like the following in db/local.php to use an external smarty installation: $smarty_path='/usr/share/php/smarty/' -define('TIKI_SMARTY_DIR', 'lib/smarty_tiki/'); -if ( isset($smarty_path) && $smarty_path != '' && file_exists($smarty_path.'Smarty.class.php') ) define('SMARTY_DIR', $smarty_path); -else define('SMARTY_DIR', 'lib/smarty/libs/'); +require_once 'lib/setup/third_party.php'; +require_once SMARTY_DIR.'Smarty.class.php'; -require_once(SMARTY_DIR.'Smarty.class.php'); - class Smarty_Tikiwiki extends Smarty { function Smarty_Tikiwiki($tikidomain = '') { + parent::Smarty(); if ($tikidomain) { $tikidomain.= '/'; } $this->template_dir = 'templates/'; $this->compile_dir = "templates_c/$tikidomain"; @@ -49,7 +45,7 @@ ); $this->security_settings['IF_FUNCS'] = array_merge( $this->security_settings['IF_FUNCS'], - array('tra', 'strlen', 'strstr', 'strtolower', 'basename', 'ereg', 'array_key_exists') + array('tra', 'strlen', 'strstr', 'strtolower', 'basename', 'ereg', 'array_key_exists', 'preg_match') ); $secure_dirs[] = 'img/icons2'; $this->secure_dir = $secure_dirs; @@ -238,7 +234,7 @@ $smarty = new Smarty_Tikiwiki($tikidomain); $smarty->load_filter('pre', 'tr'); -// $smarty->load_filter('output','trimwhitespace'); +$smarty->load_filter('pre', 'jq'); + include_once('lib/smarty_tiki/resource.wiki.php'); $smarty->register_resource('wiki', array('smarty_resource_wiki_source', 'smarty_resource_wiki_timestamp', 'smarty_resource_wiki_secure', 'smarty_resource_wiki_trusted')); -?> Modified: branches/experimental/ws/templates/antibot.tpl =================================================================== --- branches/experimental/ws/templates/antibot.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/antibot.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -7,7 +7,7 @@ </tr> <tr{if !empty($tr_style)} class="{$tr_style}"{/if} > - <td{if !empty($td_style)} class="{$td_style}"{/if}>{tr}Enter the code you see above{/tr}{if $showmandatory eq 'y'}*{/if}:</td> - <td{if !empty($td_style)} class="{$td_style}"{/if}><input type="text" maxlength="8" size="8" name="antibotcode" /></td> + <td{if !empty($td_style)} class="{$td_style}"{/if}><label for="antibotcode">{tr}Enter the code you see above{/tr}{if $showmandatory eq 'y'}*{/if}:</label></td> + <td{if !empty($td_style)} class="{$td_style}"{/if}><input type="text" maxlength="8" size="8" name="antibotcode" id="antibotcode" /></td> </tr> {/if} Modified: branches/experimental/ws/templates/browse_file_gallery.tpl =================================================================== --- branches/experimental/ws/templates/browse_file_gallery.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/browse_file_gallery.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -22,7 +22,7 @@ <div class='opaque'> <div class='box-title'>{tr}Actions{/tr}</div> <div class='box-data'> - {include file=fgal_context_menu.tpl menu_icon=$prefs.use_context_menu_icon menu_text=$prefs.use_context_menu_text} + {include file='fgal_context_menu.tpl' menu_icon=$prefs.use_context_menu_icon menu_text=$prefs.use_context_menu_text} </div> </div> {/strip}{/capture} @@ -177,7 +177,7 @@ {if ( $prefs.use_context_menu_icon eq 'y' or $prefs.use_context_menu_text eq 'y' ) and $prefs.javascript_enabled eq 'y'} <a class="fgalname" title="{tr}Actions{/tr}" href="#" {popup trigger="onClick" sticky=1 mouseoff=1 fullhtml="1" text=$smarty.capture.over_actions|escape:"javascript"|escape:"html"}>{icon _id='wrench' alt='{tr}Actions{/tr}'}</a> {else} - {include file=fgal_context_menu.tpl} + {include file='fgal_context_menu.tpl'} {/if} {/if} @@ -195,5 +195,5 @@ <br clear="all" /> {if $gal_info.show_checked neq 'n' and $tiki_p_admin_file_galleries eq 'y' and ( !isset($show_selectall) or $show_selectall eq 'y' )} - {select_all checkbox_names='file[],subgal[]'} + {select_all checkbox_names='file[],subgal[]' label="{tr}Select All{/tr}"} {/if} Modified: branches/experimental/ws/templates/categorize.tpl =================================================================== --- branches/experimental/ws/templates/categorize.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/categorize.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -36,8 +36,10 @@ {if $tiki_p_admin_categories eq 'y'} <div class="floatright"><a href="tiki-admin_categories.php" class="link">{tr}Admin Categories{/tr} {icon _id='wrench'}</a></div> {/if} - <input type="checkbox" name="cat_clearall" value="on" {if $prefs.javascript_enabled eq 'y'}onclick="switchCheckboxes(this.form,'cat_categories[]',this.checked);"{/if} />{tr}Select/deselect all categories{/tr} - {else} + + {select_all checkbox_names='cat_categories[]' label="{tr}Select/deselect all categories{/tr}"} + + {else} <div class="clear"> {if $tiki_p_admin_categories eq 'y'} <div class="floatright"><a href="tiki-admin_categories.php" class="link">{tr}Admin Categories{/tr} {icon _id='wrench'}</a></div> Modified: branches/experimental/ws/templates/comment-footer.tpl =================================================================== --- branches/experimental/ws/templates/comment-footer.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/comment-footer.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -50,14 +50,27 @@ or ( $forum_mode eq 'y' and $tiki_p_forum_post eq 'y' and ( $forum_is_locked neq 'y' or $prefs.feature_comments_locking neq 'y' ) ) ) } {if $forum_mode neq 'y'} - <span class="button2"><a href="{$comments_complete_father}comments_threshold={$comments_threshold}&comments_reply_threadId={$comment.threadId}&comments_offset={$comments_offset}&thread_sort_mode={$thread_sort_mode}&comments_per_page={$comments_per_page}&comments_grandParentId={$comment.parentId}&comments_parentId={$comment.threadId}&thread_style={$thread_style}&post_reply=1#form">{tr}Reply{/tr}</a></span> + {button href="?post_reply=1&comments_threshold=`$comments_threshold`&comments_reply_threadId=`$comment.threadId`&comments_offset=`$comments_offset`&thread_sort_mode=`$thread_sort_mode`&comments_per_page=`$comments_per_page`&comments_grandParentId=`$comment.parentId`&comments_parentId=`$comment.threadId`&thread_style=`$thread_style`#form" + _auto_args='*' + _ajax='n' + _text="{tr}Reply{/tr}" + } + {else} {if $first eq 'y'} - <span class="button2"><a href="#form">{tr}Reply{/tr}</a></span> + {button href="#form" _text="{tr}Reply{/tr}"} {elseif $comments_grandParentId} - <span class="button2"><a href="{$comments_complete_father}comments_threshold={$comments_threshold}&comments_reply_threadId={$comment.threadId}&comments_offset={$comments_offset}&thread_sort_mode={$thread_sort_mode}&comments_per_page={$comments_per_page}&comments_grandParentId={$comments_grandParentId}&comments_parentId={$comments_grandParentId}&thread_style={$thread_style}&post_reply=1#form">{tr}Reply{/tr}</a></span> + {button href="?post_reply=1&comments_threshold=`$comments_threshold`&comments_reply_threadId=`$comment.threadId`&comments_offset=`$comments_offset`&thread_sort_mode=`$thread_sort_mode`&comments_per_page=`$comments_per_page`&comments_grandParentId=`$comment_grandParentId`&comments_parentId=`$comments_grandParentId`&thread_style=`$thread_style`#form" + _auto_args='*' + _ajax='n' + _text="{tr}Reply{/tr}" + } {elseif $forum_info.is_flat neq 'y'} - <span class="button2"><a href="{$comments_complete_father}comments_threshold={$comments_threshold}&comments_reply_threadId={$comment.threadId}&comments_offset={$comments_offset}&thread_sort_mode={$thread_sort_mode}&comments_per_page={$comments_per_page}&comments_grandParentId={$comment.parentId}&comments_parentId={$comment.parentId}&thread_style={$thread_style}&post_reply=1#form">{tr}Reply{/tr}</a></span> + {button href="?post_reply=1&comments_threshold=`$comments_threshold`&comments_reply_threadId=`$comment.threadId`&comments_offset=`$comments_offset`&thread_sort_mode=`$thread_sort_mode`&comments_per_page=`$comments_per_page`&comments_grandParentId=`$comment.parentId`&comments_parentId=`$comment.parentId`&thread_style=`$thread_style`#form" + _auto_args='*' + _ajax='n' + _text="{tr}Reply{/tr}" + } {/if} {/if} {/if} Modified: branches/experimental/ws/templates/comment-header.tpl =================================================================== --- branches/experimental/ws/templates/comment-header.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/comment-header.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -104,7 +104,7 @@ {/if} {if $thread_style eq 'commentStyle_headers'} - {include file="comment-footer.tpl" comment=$comments_coms[rep]} + {include file='comment-footer.tpl' comment=$comments_coms[rep]} {/if} <br class="clear" /> </div> Modified: branches/experimental/ws/templates/comment.tpl =================================================================== --- branches/experimental/ws/templates/comment.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/comment.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -4,12 +4,12 @@ <div class="inner"><span class="corners-top"><span></span></span> <div class="clearfix postbody"> - {include file="comment-header.tpl"} - {include file="comment-body.tpl"} + {include file='comment-header.tpl'} + {include file='comment-body.tpl'} </div> {if $thread_style != 'commentStyle_headers'} - {include file="comment-footer.tpl"} + {include file='comment-footer.tpl'} <br style="clear: both;" /> {/if} @@ -23,7 +23,7 @@ <div class="sub_comment_area"> <div class="sub_comment"> {/if} - {include file="comment.tpl" comment=$comment} + {include file='comment.tpl' comment=$comment} {if $comment.doNotShow != 1 && $thread_style != 'commentStyle_plain' } </div> </div> Modified: branches/experimental/ws/templates/comments.tpl =================================================================== --- branches/experimental/ws/templates/comments.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/comments.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -175,7 +175,7 @@ {/if} {section name=rep loop=$comments_coms} - {include file="comment.tpl" comment=$comments_coms[rep]} + {include file='comment.tpl' comment=$comments_coms[rep]} {if $thread_style != 'commentStyle_plain'}<br />{/if} {/section} </form> @@ -284,7 +284,7 @@ <table class="normal"> <tr> <td class="formcolor"> - <label for="comments-title">{tr}Title{/tr} <span class="attention">({tr}required{/tr})</span>: </label> + <label for="comments-title">{tr}Title{/tr} <span class="attention">({tr}required{/tr})</span> </label> </td> <td class="formcolor"> <input type="text" size="50" name="comments_title" id="comments-title" value="{$comment_title|escape}" /> @@ -318,7 +318,7 @@ {if $prefs.feature_smileys eq 'y'} <tr> <td class="formcolor"><label>{tr}Smileys{/tr}</label></td> - <td class="formcolor">{include file="tiki-smileys.tpl" area_name="editpost2"}</td> + <td class="formcolor">{include file='tiki-smileys.tpl' area_name="editpost2"}</td> </tr> {/if} @@ -326,19 +326,19 @@ <tr> <td class="formcolor"><label>{tr}Quicktags{/tr}</label></td> <td class="formcolor"> - {include file=tiki-edit_help_tool.tpl area_name='editpost2'} + {include file='tiki-edit_help_tool.tpl' area_name='editpost2'} </td> </tr> {/if} <tr> <td class="formcolor"> - <label for="editpost2">{if $forum_mode eq 'y'}{tr}Reply{/tr}{else}{tr}Comment{/tr}{/if}</label> + <label for="editpost2">{if $forum_mode eq 'y'}{tr}Reply{/tr}{else}{tr}Comment{/tr} <span class="attention">({tr}required{/tr})</span>{/if}</label> <br /><br /> - {include file="textareasize.tpl" area_name='editpost2' formId='editpostform'} + {include file='textareasize.tpl' area_name='editpost2' formId='editpostform'} <br /><br /> {if $quicktags and $prefs.quicktags_over_textarea neq 'y'} - {include file=tiki-edit_help_tool.tpl area_name='editpost2'} + {include file='tiki-edit_help_tool.tpl' area_name='editpost2'} {/if} </td> <td class="formcolor"> @@ -359,11 +359,11 @@ {/if} {if $prefs.feature_contribution eq 'y'} - {include file="contribution.tpl" in_comment="y"} + {include file='contribution.tpl' in_comment="y"} {/if} {if $prefs.feature_antibot eq 'y'} - {include file="antibot.tpl" td_style="formcolor"} + {include file='antibot.tpl' td_style="formcolor"} {/if} {if !$user} Modified: branches/experimental/ws/templates/debug/index.php =================================================================== --- branches/experimental/ws/templates/debug/index.php 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/debug/index.php 2009-06-23 11:14:24 UTC (rev 19741) @@ -10,5 +10,3 @@ header ("location: ../../tiki-index.php"); die; - -?> Modified: branches/experimental/ws/templates/duplicate_file_gallery.tpl =================================================================== --- branches/experimental/ws/templates/duplicate_file_gallery.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/duplicate_file_gallery.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -3,19 +3,21 @@ <h2>{tr}Duplicate File Gallery{/tr}</h2> <form action="tiki-list_file_gallery.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager}{/if}" method="post"> <table class="normal"> - <tr class="formcolor"><td>{tr}Name{/tr}</td><td><input type="text" size="50" name="name" value="{$name|escape}" /></td></tr> - <tr class="formcolor"><td>{tr}Description{/tr}</td><td><textarea name="description" rows="4" cols="40">{$description|escape}</textarea></td></tr> - <tr class="formcolor"><td>{tr}File Gallery{/tr}</td> + <tr class="formcolor"><td><label for="name">{tr}Name{/tr}:</label></td><td><input type="text" size="50" id="name" name="name" value="{$name|escape}" /></td></tr> + <tr class="formcolor"><td><label for="description">{tr}Description{/tr}:</label></td><td><textarea id="description" name="description" rows="4" cols="40">{$description|escape}</textarea></td></tr> + <tr class="formcolor"><td><label for="galleryId">{tr}File gallery{/tr}:</label></td> <td> - <select name="galleryId"> + <select id="galleryId" name="galleryId"{if $all_galleries|@count eq '0'} disabled="disabled"{/if}> {section name=ix loop=$all_galleries} <option value="{$all_galleries[ix].id}">{$all_galleries[ix].name}</option> + {sectionelse} + <option value="">{tr}None{/tr}</option> {/section} </select> </td> </tr> - <tr class="formcolor"><td>{tr}Duplicate categories{/tr}</td><td><input type="checkbox" name="dupCateg" /></td></tr> - <tr class="formcolor"><td>{tr}Duplicate perms{/tr}</td><td><input type="checkbox" name="dupPerms" /></td></tr> + <tr class="formcolor"><td><label for="dupCateg">{tr}Duplicate categories{/tr}:</label></td><td><input type="checkbox" id="dupCateg" name="dupCateg" /></td></tr> + <tr class="formcolor"><td><label for="dupPerms">{tr}Duplicate permissions{/tr}:</label></td><td><input type="checkbox" id="dupPerms" name="dupPerms" /></td></tr> <tr class="formcolor"><td></td><td><input type="submit" name="duplicate" value="{tr}duplicate{/tr}" /></td></tr> </table> </form> Modified: branches/experimental/ws/templates/edit_file_gallery.tpl =================================================================== --- branches/experimental/ws/templates/edit_file_gallery.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/edit_file_gallery.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -4,48 +4,37 @@ <br /><a class="fgallink" href="tiki-objectpermissions.php?objectName={$name|escape:"url"}&objectType=file+gallery&permType=file+galleries&objectId={$galleryId}">{tr}There are individual permissions set for this file gallery{/tr}</a> {/if} <div> - <form class="admin" action="tiki-list_file_gallery.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}" method="post"> + <form class="admin" action="{$smarty.server.PHP_SELF}?{query}" method="post"> <input type="hidden" name="galleryId" value="{$galleryId|escape}" /> - {if $prefs.feature_tabs eq 'y'} - <span style="float:right; margin-bottom: -1em"><input type="submit" value="{tr}Save{/tr}" name="edit" /> <input type="checkbox" name="viewitem" checked="checked"/> {tr}View inserted gallery{/tr}</span> - <div class="tabs" style="clear: both;"> - <span id="tab1" class="tabmark tabactive"><a href="javascript:tikitabs(1,3);">{tr}Properties{/tr}</a></span> - <span id="tab2" class="tabmark tabactive"><a href="javascript:tikitabs(2,3);">{tr}Display Properties{/tr}</a></span> - </div> - {else} <div class="input_submit_container" style="text-align: right"><input type="submit" value="{tr}Save{/tr}" name="edit" /> <input type="checkbox" name="viewitem" checked="checked"/> {tr}View inserted gallery{/tr}</div> - {/if} - - <fieldset {if $prefs.feature_tabs eq 'y'}id="content1" class="tabcontent" style="clear:both;display:block;"{/if}> - {if $prefs.feature_tabs neq 'y'} - <legend class="heading"><a href="#"><span>{tr}Properties{/tr}</span></a></legend> - {/if} +{tabset name="list_file_gallery"} + {tab name="{tr}Properties{/tr}"} <table class="normal"> - <tr><td class="formcolor">{tr}Name{/tr}:</td><td class="formcolor"><input type="text" size="50" name="name" value="{$gal_info.name|escape}" style="width:100%"/><br/><i>{tr}required field for podcasts{/tr}</i></td></tr> - <tr><td class="formcolor">{tr}Type{/tr}:</td><td class="formcolor"> - <select name="fgal_type"> + <tr><td class="formcolor"><label for="name">{tr}Name{/tr}:</label></td><td class="formcolor"><input type="text" size="50" id="name" name="name" value="{$gal_info.name|escape}" style="width:100%"/><br/><em>{tr}Required for podcasts{/tr}.</em></td></tr> + <tr><td class="formcolor"><label for="fgal_type">{tr}Type{/tr}:</label></td><td class="formcolor"> + <select name="fgal_type" id="fgal_type"> <!-- TODO: make this a configurable list read from database --> - <option value="default" {if $gal_info.type eq 'default'}selected="selected"{/if}>{tr}any file{/tr}</option> - <option value="podcast" {if $gal_info.type eq 'podcast'}selected="selected"{/if}>{tr}podcast (audio){/tr}</option> - <option value="vidcast" {if $gal_info.type eq 'vidcast'}selected="selected"{/if}>{tr}podcast (video){/tr}</option> + <option value="default" {if $gal_info.type eq 'default'}selected="selected"{/if}>{tr}Any file{/tr}</option> + <option value="podcast" {if $gal_info.type eq 'podcast'}selected="selected"{/if}>{tr}Podcast (audio){/tr}</option> + <option value="vidcast" {if $gal_info.type eq 'vidcast'}selected="selected"{/if}>{tr}Podcast (video){/tr}</option> </select> </td></tr> - <tr><td class="formcolor">{tr}Description{/tr}:</td><td class="formcolor"><textarea rows="5" cols="40" name="description" style="width:100%">{$gal_info.description|escape}</textarea><br/><i>{tr}required field for podcasts{/tr}</i></td></tr> - <tr><td class="formcolor">{tr}Gallery is visible to non-admin users?{/tr}</td><td class="formcolor"><input type="checkbox" name="visible" {if $gal_info.visible eq 'y'}checked="checked"{/if} /></td></tr> + <tr><td class="formcolor"><label for="description">{tr}Description{/tr}:</label></td><td class="formcolor"><textarea rows="5" cols="40" id="description" name="description" style="width:100%">{$gal_info.description|escape}</textarea><br/><em>{tr}Required for podcasts{/tr}.</em></td></tr> + <tr><td class="formcolor"><label for="visible">{tr}Gallery is visible to non-admin users{/tr}.<label></td><td class="formcolor"><input type="checkbox" id="visible" name="visible" {if $gal_info.visible eq 'y'}checked="checked"{/if} /></td></tr> - <tr><td class="formcolor">{tr}This Gallery is Public{/tr}:</td><td class="formcolor"><input type="checkbox" name="public" {if $gal_info.public eq 'y'}checked="checked"{/if}/><br /><i>{tr}Users with perms and not only the owner of the gallery can upload in it{/tr}</i></td></tr> - <tr><td class="formcolor">{tr}The files can be locked at download:{/tr} </td><td class="formcolor"><input type="checkbox" name="lockable" {if $gal_info.lockable eq 'y'}checked="checked"{/if}/></td></tr> - <tr><td class="formcolor">{tr}Maximum number of archives for each file{/tr}: </td><td class="formcolor"><input size="5" type="text" name="archives" value="{$gal_info.archives|escape}" /> <i>(0={tr}unlimited{/tr}) (-1={tr}none{/tr})</i> + <tr><td class="formcolor"><label for="public">{tr}Gallery is public{/tr}.</label></td><td class="formcolor"><input type="checkbox" id="public" name="public" {if $gal_info.public eq 'y'}checked="checked"{/if}/><br /><em>{tr}Any user with permission (not only the gallery owner) can upload files{/tr}.</em></td></tr> + <tr><td class="formcolor"><label for="lockable">{tr}Files can be locked at download{/tr}.</label> </td><td class="formcolor"><input type="checkbox" id="lockable" name="lockable" {if $gal_info.lockable eq 'y'}checked="checked"{/if}/></td></tr> + <tr><td class="formcolor"><label for="archives">{tr}Maximum number of archives for each file{/tr}:</label> </td><td class="formcolor"><input size="5" type="text" id="archives" name="archives" value="{$gal_info.archives|escape}" /><br /><em>{tr}Use{/tr} 0={tr}unlimited{/tr}, -1={tr}none{/tr}.</em> {if ! isset($smarty.request.parentId)} </td></tr> - <tr><td class="formcolor">{tr}Parent gallery{/tr}:</td><td class="formcolor"> - <select name="parentId"> + <tr><td class="formcolor"><label for="parentId">{tr}Parent gallery{/tr}:</label></td><td class="formcolor"> + <select name="parentId" id="parentId"> <option value="-1" {if $parentId == -1} selected="selected"{/if}>{tr}none{/tr}</option> {foreach from=$all_galleries key=key item=item} {if $galleryId neq $item.id} - <option value="{$item.id}" {if $parentId == $item.id} selected="selected"{/if}>{$item.name|escape}</option> + <option value="{$item.id}" {if $parentId == $item.id} selected="selected"{/if}>{if $item.parentName}{$item.parentName|escape} > {/if}{$item.name|escape}</option> {/if} {/foreach} </select> @@ -54,8 +43,8 @@ {/if} </td></tr> {if $tiki_p_admin eq 'y' or $tiki_p_admin_file_galleries eq 'y'} - <tr><td class="formcolor">{tr}Owner of the gallery{/tr}:</td><td class="formcolor"> - <select name="user"> + <tr><td class="formcolor"><label for="user">{tr}Owner of the gallery{/tr}:</label></td><td class="formcolor"> + <select name="user" id="user"> {section name=ix loop=$users}<option value="{$users[ix].login|escape}"{if $creator eq $users[ix].login} selected="selected"{/if}>{$users[ix].login|username}</option>{/section} </select> </td></tr> @@ -83,34 +72,32 @@ {include file='categorize.tpl'} </table> - </fieldset> + {/tab} <!--display --> - <fieldset {if $prefs.feature_tabs eq 'y'}id="content2" class="tabcontent" style="clear:both;display:none;"{/if}> - {if $prefs.feature_tabs neq 'y'} - <legend class="heading"><a href="#"><span>{tr}Display Properties{/tr}</span></a></legend> - {/if} + {tab name="{tr}Display Properties{/tr}"} <table class="normal"> - <tr><td class="formcolor">{tr}Default sort order{/tr}:</td><td class="formcolor"> - <select name="sortorder"> + <tr><td class="formcolor"><label for="sortorder">{tr}Default sort order{/tr}:</label></td><td class="formcolor"> + <select name="sortorder" id="sortorder"> {foreach from=$options_sortorder key=key item=item} <option value="{$item|escape}" {if $sortorder == $item} selected="selected"{/if}>{$key}</option> {/foreach} - </select> - <input type="radio" name="sortdirection" value="desc" {if $sortdirection == 'desc'}checked="checked"{/if} />{tr}descending{/tr} - <input type="radio" name="sortdirection" value="asc" {if $sortdirection == 'asc'}checked="checked"{/if} />{tr}ascending{/tr} + </select><br /> + <input type="radio" id="sortdirection1" name="sortdirection" value="desc" {if $sortdirection == 'desc'}checked="checked"{/if} /><label for="sortdirection1">{tr}Descending{/tr}</label><br /> + <input type="radio" id="sortdirection2" name="sortdirection" value="asc" {if $sortdirection == 'asc'}checked="checked"{/if} /><label for="sortdirection2">{tr}Ascending{/tr}</label> </td></tr> <tr> - <td class="formcolor">{tr}Max description display size{/tr}</td> - <td class="formcolor"><input type="text" name="max_desc" value="{$max_desc|escape}" /></td> + <td class="formcolor"><label for="max_desc">{tr}Max description display size{/tr}:</label></td> + <td class="formcolor"><input type="text" id="max_desc" name="max_desc" value="{$max_desc|escape}" /></td> </tr> - <tr><td class="formcolor">{tr}Max Rows per page{/tr}:</td><td class="formcolor"><input type="text" name="maxRows" value="{$maxRows|escape}" /></td></tr> - <tr><td class="formcolor">{tr}Listing configuration{/tr}</td><td class="formcolor"> + <tr><td class="formcolor"><label for="maxRows">{tr}Max rows per page{/tr}:</label></td><td class="formcolor"><input type="text" id="maxRows" name="maxRows" value="{$maxRows|escape}" /></td></tr> + <tr><td class="formcolor" colspan="2">{tr}Select which items to display when listing galleries{/tr}: <table> {include file='fgal_listing_conf.tpl'} </table> </td></tr> </table> - </fieldset> + {/tab} +{/tabset} <input type="submit" value="{tr}Save{/tr}" name="edit" /> </form> </div> Modified: branches/experimental/ws/templates/error.tpl =================================================================== --- branches/experimental/ws/templates/error.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/error.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -14,7 +14,7 @@ {capture assign=mid_data} {if ($errortype eq "402")} - {include file=tiki-login.tpl} + {include file='tiki-login.tpl'} {elseif ($errortype eq 401 or $errortype eq 403) and !empty($prefs.permission_denied_url)} {redirect url=$prefs.permission_denied_url} {else} @@ -44,16 +44,16 @@ {if $prefs.feature_search eq 'y'} {if $prefs.feature_search_fulltext eq 'y'} - {include file="tiki-searchresults.tpl" searchNoResults="false" searchStyle="menu" searchOrientation="horiz" words="$page"} + {include file='tiki-searchresults.tpl' searchNoResults="false" searchStyle="menu" searchOrientation="horiz" words="$page"} {else} - {include file="tiki-searchindex.tpl" searchNoResults="true" searchStyle="menu" searchOrientation="horiz" words="$page"} + {include file='tiki-searchindex.tpl' searchNoResults="true" searchStyle="menu" searchOrientation="horiz" words="$page"} {/if} {/if} <br /> {else} {if $errortype eq 401 && empty($user) and $prefs.permission_denied_login_box eq 'y'} {* permission denied *} - {include file=tiki-login.tpl} + {include file='tiki-login.tpl'} {elseif !isset($user) and $errortype != 'no_redirect_login' and $errortype != 'login'} <div class="simplebox highlight"> {tr}You are not logged in.{/tr} <a href="tiki-login_scr.php">{tr}Go to Login Page{/tr}</a> @@ -79,5 +79,5 @@ {if isset($smarty.request.xajax) && $smarty.request.xajax eq 'loadComponent'} {$mid_data} {else} -{include file=tiki.tpl} +{include file='tiki.tpl'} {/if} Modified: branches/experimental/ws/templates/error_simple.tpl =================================================================== --- branches/experimental/ws/templates/error_simple.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/error_simple.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -4,7 +4,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{if !empty($pageLang)}{$pageLang}{else}{$prefs.language}{/if}" lang="{if !empty($pageLang)}{$pageLang}{else}{$prefs.language}{/if}"> <head> -{include file="header.tpl"} +{include file='header.tpl'} </head> <body{if isset($section) and $section eq 'wiki page' and $prefs.user_dbl eq 'y' and $dblclickedit eq 'y' and $tiki_p_edit eq 'y'} ondblclick="location.href='tiki-editpage.php?page={$page|escape:"url"}';"{/if} onload="{if $prefs.feature_tabs eq 'y'}tikitabs({if $cookietab neq ''}{$cookietab}{else}1{/if},50);{/if}{if $msgError} javascript:location.hash='msgError'{/if}"{if $section or $smarty.session.fullscreen eq 'y'} class="{if $section}tiki_{$section}{/if}{if $smarty.session.fullscreen eq 'y'} fullscreen{/if}"{/if}> {if $prefs.feature_bidi eq 'y'} @@ -23,6 +23,6 @@ {if $prefs.feature_bidi eq 'y'} </td></tr></table> {/if} -{include file="footer.tpl"} +{include file='footer.tpl'} </body> </html> Modified: branches/experimental/ws/templates/error_ticket.tpl =================================================================== --- branches/experimental/ws/templates/error_ticket.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/error_ticket.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -4,7 +4,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{if !empty($pageLang)}{$pageLang}{else}{$prefs.language}{/if}" lang="{if !empty($pageLang)}{$pageLang}{else}{$prefs.language}{/if}"> <head> -{include file="header.tpl"} +{include file='header.tpl'} </head> <body{if isset($section) and $section eq 'wiki page' and $prefs.user_dbl eq 'y' and $dblclickedit eq 'y' and $tiki_p_edit eq 'y'} ondblclick="location.href='tiki-editpage.php?page={$page|escape:"url"}';"{/if} onload="{if $prefs.feature_tabs eq 'y'}tikitabs({if $cookietab neq ''}{$cookietab}{else}1{/if},50);{/if}{if $msgError} javascript:location.hash='msgError'{/if}"{if $section or $smarty.session.fullscreen eq 'y'} class="{if $section}tiki_{$section}{/if}{if $smarty.session.fullscreen eq 'y'} fullscreen{/if}"{/if}> {* Index we display a wiki page here *} @@ -15,7 +15,7 @@ <div id="tiki-main"> {if $prefs.feature_top_bar eq 'y'} <div id="tiki-top"> - {include file="tiki-top_bar.tpl"} + {include file='tiki-top_bar.tpl'} </div> {/if} <div id="tiki-mid"> @@ -58,14 +58,14 @@ </div> {if $prefs.feature_bot_bar eq 'y'} <div id="tiki-bot"> - {include file="tiki-bot_bar.tpl"} + {include file='tiki-bot_bar.tpl'} </div> {/if} </div> {if $prefs.feature_bidi eq 'y'} </td></tr></table> {/if} -{include file="footer.tpl"} +{include file='footer.tpl'} </body> </html> Modified: branches/experimental/ws/templates/fgal_context_menu.tpl =================================================================== --- branches/experimental/ws/templates/fgal_context_menu.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/fgal_context_menu.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -78,7 +78,7 @@ or (!$files[changes].lockedby and (($user and $user eq $files[changes].user) or $files[changes].perms.tiki_p_edit_gallery_file eq 'y')) } {if $files[changes].archiveId == 0} - {if $files[changes].perms.tiki_p_admin_file_galleries eq 'y' or ($files[changes].lockedby and $files[changes].lockedby eq $user) or $gal_info.lockable ne 'y'} + {if $files[changes].perms.tiki_p_admin_file_galleries eq 'y' or !$files[changes].locked or ($files[changes].locked and $files[changes].lockedby eq $user) or $gal_info.lockable ne 'y'} {if $prefs.javascript_enabled eq 'y'} {* if javascript is available on client, add a menu item that will directly open a file selector, automatically upload the file after selection and that replace the current file with the uploaded one *} Modified: branches/experimental/ws/templates/fgal_listing_conf.tpl =================================================================== --- branches/experimental/ws/templates/fgal_listing_conf.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/fgal_listing_conf.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -4,9 +4,9 @@ {foreach key=key item=item from=$fgal_options} {if $key eq 'default_view'} <tr class="formcolor"> - <td>{$item.name}</td> + <td><label for="fgal_{$key}">{$item.name}:<label></td> <td> - <select name="fgal_{$key}"> + <select id="fgal_{$key}" name="fgal_{$key}"> <option value="list"{if $item.value eq 'list'} selected="selected"{/if}>{tr}List{/tr}</option> <option value="browse"{if $item.value eq 'browse'} selected="selected"{/if}>{tr}Browse{/tr}</option> </select> @@ -14,8 +14,8 @@ </tr> {else} <tr class="formcolor"> - <td>{$item.name}</td> - <td><input type="checkbox" name="fgal_{$key}" {if $item.value eq 'y'}checked="checked"{/if}/></td> + <td><label for="fgal_{$key}">{$item.name}:</label></td> + <td><input type="checkbox" id="fgal_{$key}" name="fgal_{$key}" {if $item.value eq 'y'}checked="checked"{/if}/></td> </tr> {/if} {/foreach} @@ -24,9 +24,9 @@ {if is_array($fgal_listing_conf) and count($fgal_listing_conf) gt 0} {foreach key=key item=item from=$fgal_listing_conf} <tr class="formcolor"> - <td>{$item.name}</td> + <td><label for="fgal_list_{$key}">{$item.name}:</label></td> <td> - <select name="fgal_list_{$key}"> + <select id="fgal_list_{$key}" name="fgal_list_{$key}"> {if $key eq 'name'} <option value="a"{if $item.value eq 'a'} selected="selected"{/if}>{tr}Name-filename{/tr}</option> <option value="n"{if $item.value eq 'n'} selected="selected"{/if}>{tr}Name{/tr}</option> Modified: branches/experimental/ws/templates/find.tpl =================================================================== --- branches/experimental/ws/templates/find.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/find.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -21,7 +21,7 @@ * filter_values : array( filter_fieldX => filter_fieldX_selected_value, ... ) * * Usage examples : {include file='find.tpl'} - * {include file="find.tpl" find_show_languages='y' find_show_categories='y' find_show_num_rows='y'} + * {include file='find.tpl' find_show_languages='y' find_show_categories='y' find_show_num_rows='y'} *} <div class="clearfix"> Modified: branches/experimental/ws/templates/footer.tpl =================================================================== --- branches/experimental/ws/templates/footer.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/footer.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -15,7 +15,7 @@ {* Include debugging console. Note it should be processed as near as possible to the end of file and it requires Smarty secure mode off to permit PHP tags in tpl files. See Smarty_Compiler.class.php *} {php} include_once("tiki-debug_console.php"); {/php} - {include file="tiki-debug_console.tpl"} + {include file='tiki-debug_console.tpl'} {/if} {if $prefs.feature_phplayers eq 'y' and isset($phplayers_LayersMenu)} Modified: branches/experimental/ws/templates/header.tpl =================================================================== --- branches/experimental/ws/templates/header.tpl 2009-06-23 11:08:57 UTC (rev 19740) +++ branches/experimental/ws/templates/header.tpl 2009-06-23 11:14:24 UTC (rev 19741) @@ -23,7 +23,7 @@ {* --- tikiwiki block --- *} <script type="text/javascript" src="lib/tiki-js.js"></script> -{include file="bidi.tpl"} +{include file='bidi.tpl'} <title> {if isset($trail)} {breadcrumbs type="fulltrail" loc="head" crumbs=$trail} {else} @@ -102,7 +102,7 @@ {/if} {/if} {if $prefs.feature_jquery eq "y"} - {include file="header_jquery.tpl"} + {include file='header_jquery.tpl'} {/if} {if $prefs.feature_swfobj eq "y"} Modified: branches/experi... [truncated message content] |
From: <ax...@us...> - 2009-06-23 11:53:41
|
Revision: 19743 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19743&view=rev Author: axold Date: 2009-06-23 11:53:40 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [MOD] Added workspaces panel Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/templates/tiki-admin-include-features.tpl branches/experimental/ws/templates/tiki-admin-include-list-sections.tpl branches/experimental/ws/tiki-admin.php branches/experimental/ws/tiki-admin_include_features.php branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-23 11:53:40 UTC (rev 19743) @@ -1378,6 +1378,10 @@ 'zend_mail_smtp_pass' => '', 'zend_mail_smtp_port' => 25, 'zend_mail_smtp_security' => '', + + //workspaces + 'feature_workspaces' => 'n', + 'feature_workspaces_init' => 'y', ); // spellcheck Modified: branches/experimental/ws/templates/tiki-admin-include-features.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-06-23 11:53:40 UTC (rev 19743) @@ -61,7 +61,10 @@ <span class="checkbox"><input type="checkbox" name="feature_banners" {if $prefs.feature_banners eq 'y'}checked="checked"{/if}/></span> <span class="label"> {if $prefs.feature_help eq 'y'}<a href="{$prefs.helpurl}Banners" target="tikihelp" class="tikihelp" title="{tr}Banners{/tr}">{/if} {tr}Banners{/tr} {if $prefs.feature_help eq 'y'}</a>{/if}</span> </div> - + <div class="half_width"> + <span + class="checkbox"><input type="checkbox" name="feature_workspaces" {if $prefs.feature_workspaces eq 'y'}checked="checked"{/if}/></span><span class="label"> {if $prefs.feature_workspaces eq 'y'}<a href="{$prefs.helpurl}Workspaces" target="tikihelp" class="tikihelp" title="{tr}Workspaces{/tr}">{/if}{tr}Workspaces{/tr} {if $prefs.feature_help eq 'y'}</a>{/if}</span> + </div> </div> {/tab} Modified: branches/experimental/ws/templates/tiki-admin-include-list-sections.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-list-sections.tpl 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/templates/tiki-admin-include-list-sections.tpl 2009-06-23 11:53:40 UTC (rev 19743) @@ -97,6 +97,8 @@ {self_link page="webservices" _class="admbox" _style="background-image: url('pics/large/webservices48x48.png')" _selected="'`$prefs.feature_webservices`' != 'y'" _selected_class="admbox off"}<img src="pics/trans.png" alt="{tr}Webservices{/tr}" title="{tr}Webservices{/tr}{if $prefs.feature_webservices ne 'y'} ({tr}Disabled{/tr}){/if}" /><span>{tr}Webservices{/tr}</span>{/self_link} {self_link page="sefurl" _class="admbox" _style="background-image: url('pics/large/goto48x48.png')" _selected="'`$prefs.feature_sefurl`' != 'y'" _selected_class="admbox off"}<img src="pics/trans.png" alt="{tr}Search engine friendly url{/tr}" title="{tr}Search engine friendly url{/tr}{if $prefs.feature_sefurl ne 'y'} ({tr}Disabled{/tr}){/if}" /><span>{tr}Search engine friendly url{/tr}</span>{/self_link} + + {self_link page="workspaces" _class="admbox" _style="background-image: url('pics/large/workspaces.png')" _selected="'`$prefs.feature_workspaces`' != 'y'" _selected_class="admbox off"}<img src="pics/trans.png" alt="{tr}Workspaces pre-alpha{/tr}" title="{tr}Workspaces pre-alpha{/tr}{if $prefs.feature_workspaces ne 'y'}({tr}Disabled{/tr}){/if}" /><span>{tr}Workspaces pre-alpha{/tr}</span>{/self_link} </div> </div> Modified: branches/experimental/ws/tiki-admin.php =================================================================== --- branches/experimental/ws/tiki-admin.php 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/tiki-admin.php 2009-06-23 11:53:40 UTC (rev 19743) @@ -307,6 +307,11 @@ $description = 'Search engine friendly url'; $helpUrl = "Rewrite+Rules"; include_once ('tiki-admin_include_sefurl.php'); + } else if ($adminPage == 'workspaces') { + $admintitle = 'Workspaces pre-alpha'; + $description = 'Workspaces pre-alpha use with caution'; + $helpUrl = "Workspace"; + include_once ('tiki-admin_include_workspaces.php'); } else { $helpUrl = ''; } Modified: branches/experimental/ws/tiki-admin_include_features.php =================================================================== --- branches/experimental/ws/tiki-admin_include_features.php 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/tiki-admin_include_features.php 2009-06-23 11:53:40 UTC (rev 19743) @@ -108,6 +108,7 @@ "use_minified_scripts", "feature_print_indexed", 'debug_ignore_xdebug', + 'feature_workspaces', ); $pref_byref_values = array( Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 11:19:28 UTC (rev 19742) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 11:53:40 UTC (rev 19743) @@ -5,7 +5,7 @@ require_once ('tiki-setup.php'); $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); -//if $prefs['feature_workspaces_init'] != 'n' +//if $prefs['feature_workspaces_init'] == 'y' //{ $smarty->assign('welcome', tra('Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because you can not step back!')); //} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-23 14:26:06
|
Revision: 19749 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19749&view=rev Author: axold Date: 2009-06-23 14:25:56 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19736 to 19748 Modified Paths: -------------- branches/experimental/ws/lib/reportslib.php branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/templates/mail/report.tpl branches/experimental/ws/templates/tiki-admin-include-features.tpl branches/experimental/ws/templates/tiki-objectpermissions.tpl branches/experimental/ws/tiki-admin_include_features.php branches/experimental/ws/tiki-listpages.php branches/experimental/ws/tiki-objectpermissions.php branches/experimental/ws/tiki-user_reports_send.php Property Changed: ---------------- branches/experimental/ws/ branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php branches/experimental/ws/lib/jquery/ branches/experimental/ws/lib/jquery/cluetip/ branches/experimental/ws/lib/jquery/jquery-autocomplete/ branches/experimental/ws/lib/jquery/reflection-jquery/ branches/experimental/ws/lib/jquery/superfish/ branches/experimental/ws/lib/jquery_tiki/ branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php branches/experimental/ws/styles/strasa/options/mono/pics/ Property changes on: branches/experimental/ws ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 /trunk:19726-19736 + /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 /trunk:19726-19748 Property changes on: branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 /trunk/installer/schema/20081125_tiki_tracker_types_tiki.sql:19726-19736 + /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 /trunk/installer/schema/20081125_tiki_tracker_types_tiki.sql:19726-19748 Property changes on: branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_calendar_priority_tiki.sql:19726-19736 + /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_calendar_priority_tiki.sql:19726-19748 Property changes on: branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_wiki_similar_permission_tiki.sql:19726-19736 + /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_wiki_similar_permission_tiki.sql:19726-19748 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:19726-19736 + /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:19726-19736 + /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:19726-19736 + /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/AllTests.php:19726-19736 + /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/AllTests.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:19726-19736 + /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:19726-19736 + /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:19726-19748 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:19726-19736 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 + /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:19726-19748 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 Property changes on: branches/experimental/ws/lib/jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 /trunk/lib/jquery:19726-19736 + /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 /trunk/lib/jquery:19726-19748 Property changes on: branches/experimental/ws/lib/jquery/cluetip ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/cluetip:17063-18916 /trunk/lib/jquery/cluetip:19726-19736 + /branches/3.0/lib/jquery/cluetip:17063-18916 /trunk/lib/jquery/cluetip:19726-19748 Property changes on: branches/experimental/ws/lib/jquery/jquery-autocomplete ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 /trunk/lib/jquery/jquery-autocomplete:19726-19736 + /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 /trunk/lib/jquery/jquery-autocomplete:19726-19748 Property changes on: branches/experimental/ws/lib/jquery/reflection-jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/reflection-jquery:17063-18916 /trunk/lib/jquery/reflection-jquery:19726-19736 + /branches/3.0/lib/jquery/reflection-jquery:17063-18916 /trunk/lib/jquery/reflection-jquery:19726-19748 Property changes on: branches/experimental/ws/lib/jquery/superfish ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/superfish:17063-18916 /trunk/lib/jquery/superfish:19726-19736 + /branches/3.0/lib/jquery/superfish:17063-18916 /trunk/lib/jquery/superfish:19726-19748 Property changes on: branches/experimental/ws/lib/jquery_tiki ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 /trunk/lib/jquery_tiki:19726-19736 + /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 /trunk/lib/jquery_tiki:19726-19748 Modified: branches/experimental/ws/lib/reportslib.php =================================================================== --- branches/experimental/ws/lib/reportslib.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/lib/reportslib.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -12,6 +12,8 @@ include_once('lib/webmail/tikimaillib.php'); $mail = new TikiMail(); + + $smarty->assign('report_preferences', $report_preferences); $smarty->assign('report_user', ucfirst($user_data['login'])); $smarty->assign('report_interval', ucfirst($report_preferences['interval'])); $smarty->assign('report_date', date("l d.m.Y")); @@ -51,7 +53,12 @@ $email_test_headers .= 'From: no...@ti...' . "\n"; // needs a valid sender $email_test_headers .= 'Reply-to: '. $email_test_to . "\n"; - $email_test_headers .= "Content-type: text/html; charset=utf-8\n"; + + if($report_preferences['type']=='plain') + $email_test_headers .= "Content-type: text/plain; charset=utf-8\n"; + else + $email_test_headers .= "Content-type: text/html; charset=utf-8\n"; + $email_test_headers .= 'X-Mailer: Tiki/'.$TWV->version.' - PHP/' . phpversion() . "\n"; $sentmail = mail($user_data['email'], $subject, $mail_data, $email_test_headers); Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -1225,6 +1225,7 @@ 'feature_group_watches' => 'n', 'feature_user_watches_translations' => 'n', 'feature_daily_report_watches' => 'n', + 'feature_quick_object_perms' => 'n', 'feature_workflow' => 'n', 'feature_xmlrpc' => 'n', 'helpurl' => "http://doc.tikiwiki.org/", Property changes on: branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/lib/wiki-plugins/wikiplugin_mediaplayer.php:19726-19736 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 + /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/lib/wiki-plugins/wikiplugin_mediaplayer.php:19726-19748 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 Property changes on: branches/experimental/ws/styles/strasa/options/mono/pics ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/styles/strasa/options/mono/pics:18696-18916 /trunk/styles/strasa/options/mono/pics:19726-19736 + /branches/3.0/styles/strasa/options/mono/pics:18696-18916 /trunk/styles/strasa/options/mono/pics:19726-19748 Modified: branches/experimental/ws/templates/mail/report.tpl =================================================================== --- branches/experimental/ws/templates/mail/report.tpl 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/templates/mail/report.tpl 2009-06-23 14:25:56 UTC (rev 19749) @@ -1,6 +1,15 @@ -{tr}Report for{/tr} {$report_user}.<br> -{tr}Last Report sent on{/tr} {$report_last_report_date}.<br><br> -<u>{tr}Changes in detail:{/tr}</u><br> +{tr}Report for{/tr} {$report_user}.{if $report_preferences.type eq 'plain'} + +{else}<br>{/if} +{tr}Last Report sent on{/tr} {$report_last_report_date}.{if $report_preferences.type eq 'plain'} + + +{else}<br><br>{/if} +{if $report_preferences.type eq 'html'}<u>{/if}{tr}Changes in detail:{/tr}{if $report_preferences.type eq 'html'}<u><br>{else} + +----------------------- + +{/if} {$report_body} {if $mail_contributions}{tr}Contribution{/tr}: {$mail_contributions}{/if} \ No newline at end of file Modified: branches/experimental/ws/templates/tiki-admin-include-features.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/templates/tiki-admin-include-features.tpl 2009-06-23 14:25:56 UTC (rev 19749) @@ -203,6 +203,10 @@ <span class="checkbox"><input type="checkbox" name="feature_mootools" {if $prefs.feature_mootools eq 'y'}checked="checked"{/if}/></span> <span class="label"> <a href="{$prefs.helpurl}Mootools" target="tikihelp" class="tikihelp" title="{tr}Mootools{/tr}"> {tr}Mootools{/tr}</a></span> </div> + <div class="half_width"> + <span class="checkbox"><input type="checkbox" name="feature_quick_object_perms" {if $prefs.feature_quick_object_perms eq 'y'}checked="checked"{/if}/></span> + <span class="label"> <a href="{$prefs.helpurl}Quickperms" target="tikihelp" class="tikihelp" title="{tr}Quickperms{/tr}"> {tr}Quickperms{/tr}</a></span> + </div> </div> {/tab} Modified: branches/experimental/ws/templates/tiki-objectpermissions.tpl =================================================================== --- branches/experimental/ws/templates/tiki-objectpermissions.tpl 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/templates/tiki-objectpermissions.tpl 2009-06-23 14:25:56 UTC (rev 19749) @@ -4,15 +4,21 @@ <div class="navbar"> {button href="$referer" _text="{tr}Back{/tr}"} - {button href="tiki-list_object_permissions.php" _text="{tr}Object Permissions List{/tr}"} </div> -{tabset name='tabs_objectpermissions'} +{if $prefs.feature_tabs eq 'y'} + <div class="tabs" style="clear: both;"> + <span id="tab1" class="tabmark tabactive"><a href="javascript:tikitabs(1,3);">{tr}View Permissions{/tr}</a></span> + {if $prefs.feature_quick_object_perms eq 'y'} + <span id="tab2" class="tabmark tabinactive"><a href="javascript:tikitabs(2,3);">{tr}Edit Permissions (Quick!){/tr}</a></span> + {/if} + <span id="tab3" class="tabmark tabinactive"><a href="javascript:tikitabs(3,3);">{tr}Edit Permissions{/tr}</a></span> + </div> +{/if} -{tab name='{tr}View Permissions{/tr}'} - +<fieldset {if $prefs.feature_tabs eq 'y'}id="content1" class="tabcontent" style="clear:both;display:block; margin-left: 0;"{/if}> {if $prefs.feature_tabs neq 'y'} - <h2>{tr}View Permissions{/tr}</h2> + <legend class="heading"><a href="#"><span>{tr}View Permissions{/tr}</span></a></legend> {/if} {if $filegals_manager eq ''} {remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> @@ -29,13 +35,12 @@ {section name=pg loop=$page_perms} <tr> <td class="{cycle advance=false}" title="{$page_perms[pg].permName}">{$page_perms[pg].permName|escape}<br /><i>{tr}{$page_perms[pg].permDesc|escape}{/tr}</i></td> -<td class="{cycle advance=false}">{if $page_perms[pg].groupName eq $prefs.trackerCreatorGroupName}<i>{tr}Creator Group{/tr}</i>{assign var=commentCreatorGroup value="y"}{else}{$page_perms[pg].groupName|escape}{/if}</td> +<td class="{cycle advance=false}">{$page_perms[pg].groupName}</td> </tr> {sectionelse} <tr><td colspan="4" class="odd">{if !empty($categ_perms)}{tr}No individual permissions, category permissions apply{/tr}{else}{tr}No individual permissions, category permissions apply{/tr}{/if}</td></tr> {/section} </table> -{if isset($commentCreatorGroup) && $commentCreatorGroup eq 'y'}{remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}Creator group perms apply only if no tiki_p_view_trackers{/tr}{/remarksbox}{/if} <br/> @@ -63,14 +68,14 @@ <tr><td colspan="3">{if empty($page_perms)}{tr}No category permissions; global permissions apply{/tr}{else}{tr}No category permissions; special permissions apply{/tr}{/if}</td></tr> {/section} </table> -{/tab} +</fieldset> -{tab name='{tr}Edit Permissions{/tr}'} +<fieldset {if $prefs.feature_tabs eq 'y'}id="content3" class="tabcontent" style="clear:both;display:block; margin-left:0;"{/if}> {if $prefs.feature_tabs neq 'y'} - <h2>{tr}Edit Permissions{/tr}</h2> + <legend class="heading"><a href="#"><span>{tr}Edit Permissions{/tr}</span></a></legend> {/if} -<form method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> +<form name="allperms" method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> {if $filegals_manager eq ''} {remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> {if $tiki_p_admin eq 'y'}{tr}To edit global permissions <a class="rbox-link" href="tiki-admingroups.php">click here</a>.{/tr}{/if} @@ -79,12 +84,7 @@ <h2>{tr}Current permissions for this object{/tr}</h2> <table class="normal"> <tr> - <th> - {if $page_perms} - {select_all checkbox_names='checked[]'} - {/if} - </th> - <th>{tr}Permissions{/tr}</th> + <th colspan="2">{tr}Permissions{/tr}</th> <th>{tr}Groups{/tr}</th> <th style="width:20px">{tr}Action{/tr}</th> </tr> @@ -98,23 +98,27 @@ {$page_perms[pg].permName|escape}<br /><i>{tr}{$page_perms[pg].permDesc|escape}{/tr}</i> </td> <td class="{cycle advance=false}"> - {if $page_perms[pg].groupName eq $prefs.trackerCreatorGroupName}<i>{tr}Creator Group{/tr}</i>{else}{$page_perms[pg].groupName|escape}{/if} + {$page_perms[pg].groupName} </td> <td class="{cycle advance=true}"><a class="link" href="tiki-objectpermissions.php?referer={$referer|escape:"url"}&action=remove&objectName={$objectName}&objectId={$objectId}&objectType={$objectType}&permType={$permType}&page={$page|escape:"url"}&perm={$page_perms[pg].permName}&group={$page_perms[pg].groupName}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" title="{tr}Delete{/tr}">{icon _id='cross' alt="{tr}Delete{/tr}"}</a></td></tr> {sectionelse} <tr><td colspan="4" class="odd">{if !empty($categ_perms)}{tr}No individual permissions, category permissions apply{/tr}{else}{tr}No individual permissions, category permissions apply{/tr}{/if}</td></tr> {/section} -</table> - {if $page_perms} - <div> - {tr}Perform action with checked:{/tr} - <input type="image" name="delsel" src='pics/icons/cross.png' alt='{tr}Delete{/tr}' title='{tr}Delete{/tr}' /> - {if isset($inStructure)} - {tr}and also to all pages of the sub-structure:{/tr} <input name="removestructure" type="checkbox" /> - {/if} - </div> +<tr> + <td colspan="3"> + <input type="checkbox" id="clickall" title="{tr}Select All{/tr}" onclick="switchCheckboxes(this.form,'checked[]',this.checked)"/> {tr}Select All{/tr} + </td> +</tr> {/if} +</table> +{if $page_perms}<div> +{tr}Perform action with checked:{/tr} +<input type="image" name="delsel" src='pics/icons/cross.png' alt='{tr}Delete{/tr}' title='{tr}Delete{/tr}' /> +{if isset($inStructure)} +{tr}and also to all pages of the sub-structure:{/tr} <input name="removestructure" type="checkbox" /> +{/if} +</div>{/if} <br/> @@ -135,38 +139,40 @@ <th>{tr}Permissions{/tr}</th> <th>{tr}Groups{/tr}</th> </tr> -<tr> -<td><table width="100%"> -{cycle print=false values="even,odd"} -{section name=prm loop=$perms} -<tr class="{cycle advance=true}"> - <td class="{cycle advance=false}" title="{$perms[prm].permName|escape}"> - <input type="checkbox" name="perm[]" value="{$perms[prm].permName|escape}" title="{$perms[prm].permName|escape}"/> - </td> - <td class="{cycle advance=false}"> - {$perms[prm].permName|escape} - </td> - <td class="{cycle advance=false}"> - <div class="subcomment">{tr}{$perms[prm].permDesc|escape}{/tr}</div> - </td> - </tr> -{/section} -</table></td> -<td><table width="100%"> -{cycle print=false values="even,odd"} -{section name=grp loop=$groups} -<tr class="{cycle advance=true}"> - <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$groups[grp].groupName|escape}" {if $groupName eq $groups[grp].groupName }checked{/if}/> {$groups[grp].groupName|escape}</td></tr> -{/section} -{if $group_tracker eq 'y'} -<tr class="{cycle advance=true}"><td><hr /></td></tr> -<tr class="{cycle advance=true}"> - <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$prefs.trackerCreatorGroupName}" {if isset($groupName) and $grouName eq $prefs.trackerCreatorGroupName}checked{/if}/> <i>{tr}Creator Group{/tr}</i></td> -</tr> -{/if} -</table></td></tr> + <tr> + <td> + <table width="100%"> + {cycle print=false values="even,odd"} + {section name=prm loop=$perms} + <tr class="{cycle advance=true}"> + <td class="{cycle advance=false}" title="{$perms[prm].permName|escape}"> + <input type="checkbox" name="perm[]" id="{$perms[prm].permName}" value="{$perms[prm].permName|escape}" title="{$perms[prm].permName|escape}"/> + </td> + <td class="{cycle advance=false}"> + {$perms[prm].permName|escape} + </td> + <td class="{cycle advance=false}"> + <div class="subcomment">{tr}{$perms[prm].permDesc|escape}{/tr}</div> + </td> + </tr> + {/section} + </table> + </td> + <td> + <table width="100%"> + {cycle print=false values="even,odd"} + {section name=grp loop=$groups} + <tr class="{cycle advance=true}"> + <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$groups[grp].groupName|escape}" {if $groupName eq $groups[grp].groupName }checked{/if}/> {$groups[grp].groupName|escape} + </td> + </tr> + {/section} + </table> + </td> + </tr> </table> -<div class="input_submit_container" style="text-align: center"> + + <div class="input_submit_container" style="text-align: center"> <input type="submit" name="assign" value="{tr}Assign{/tr}" /> </div> {if ($objectType eq 'wiki' or $objectType eq 'wiki page') and !empty($inStructure)} @@ -184,7 +190,90 @@ {/section} </table> +{* <a class="trailer" href="#" {popup sticky=true fullhtml="1" hauto=true vauto=true text=$smarty.capture.add_perm|escape:"javascript"|escape:"html" trigger=onClick} >{tr}Add new Permissions{/tr}</a> *} </div> </form> -{/tab} -{/tabset} + + +</fieldset> + +{if $prefs.feature_quick_object_perms eq 'y'} + + +{* Example for implementing Wisent permissions, clemens john 16.04.2009 *} + +<form name="allperms" method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> +<fieldset {if $prefs.feature_tabs eq 'y'}id="content2" class="tabcontent" style="clear:both;display:block; margin-left: 0;"{/if}> +{if $prefs.feature_tabs neq 'y'} + <legend class="heading"><a href="#"><span>{tr}View Permissions{/tr}</span></a></legend> +{/if} +{if $filegals_manager eq ''} +{remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> +{if $tiki_p_admin eq 'y'}{tr}To edit global permissions <a class="rbox-link" href="tiki-admingroups.php">click here</a>.{/tr}{/if} +{/remarksbox} +{/if} + +<h2>{tr}Assign Quick-Permissions to this object{/tr}</h2> + + <input type="hidden" name="quick_perms" value="true"/> + <table width="100%"> + <tr class="{cycle advance=true}"> + <td class="{cycle advance=false}"> + <table> + <th>Permission</th> + <tr> + <td>Admin access</td> + <tr> + <tr> + <td>Write access</td> + <tr> + <tr> + <td>Read access</td> + <tr> + <tr> + <td>No access</td> + <tr> + <tr> + <td>Userdefined</td> + <tr> + </table> + </td> + {cycle print=false values="even,odd"} + {section name=grp loop=$groups} + <td class="{cycle advance=false}"> + <table> + <th>{$groups[grp].groupName|escape}</th> + <tr> + <td><input type="radio" name="perm_{$groups[grp].groupName}" value="admin" {if $groups[grp].groupSumm eq 'admin'}checked{/if} /></td> + <tr> + <tr> + <td><input type="radio" name="perm_{$groups[grp].groupName}" value="write"{if $groups[grp].groupSumm eq 'write'}checked{/if} /></td> + <tr> + <tr> + <td><input type="radio" name="perm_{$groups[grp].groupName}" value="read" {if $groups[grp].groupSumm eq 'read'}checked{/if} /></td> + <tr> + <tr> + <td><input type="radio" name="perm_{$groups[grp].groupName}" value="none" {if $groups[grp].groupSumm eq 'none'}checked{/if} /></td> + <tr> + <tr> + <td><input type="radio" name="perm_{$groups[grp].groupName}" value="userdefined" {if $groups[grp].groupSumm eq 'userdefined'}checked{/if} disabled /></td> + <tr> + </table> + </td> + {/section} + </tr> + </table> + +<input type="hidden" name="page" value="{$page|escape}" /> +<input type="hidden" name="referer" value="{$referer|escape}" /> +<input type="hidden" name="objectName" value="{$objectName|escape}" /> +<input type="hidden" name="objectType" value="{$objectType|escape}" /> +<input type="hidden" name="objectId" value="{$objectId|escape}" /> +<input type="hidden" name="permType" value="{$permType|escape}" /> +<div class="input_submit_container" style="text-align: center"> + <input type="submit" name="assign" value="{tr}Assign{/tr}" /> +</div> + +</fieldset> +</form> +{/if} \ No newline at end of file Modified: branches/experimental/ws/tiki-admin_include_features.php =================================================================== --- branches/experimental/ws/tiki-admin_include_features.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/tiki-admin_include_features.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -83,6 +83,7 @@ "feature_user_watches", "feature_group_watches", "feature_daily_report_watches", + "feature_quick_object_perms", "feature_user_watches_translations", "feature_userfiles", "feature_usermenu", Modified: branches/experimental/ws/tiki-listpages.php =================================================================== --- branches/experimental/ws/tiki-listpages.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/tiki-listpages.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -10,19 +10,20 @@ $section = 'wiki page'; require_once('tiki-setup.php'); require_once('lib/ajax/ajaxlib.php'); -global $multilinguallib; -include_once('lib/multilingual/multilinguallib.php'); $auto_query_args = array('initial','maxRecords','sort_mode','find','lang','langOrphan', 'findfilter_orphan', 'categId', 'category', 'page_orphans', 'structure_orphans', 'exact_match', 'hits_link_to_all_languages', 'create_new_pages_using_template_name'); -$language = $_REQUEST['lang']; -$template_id_for_new_pages = $multilinguallib->getTemplateIDInLanguage('wiki', $_REQUEST['create_new_pages_using_template_name'], $language); -$smarty->assign('template_id', $template_id_for_new_pages); -if ($_REQUEST['hits_link_to_all_languages'] == 'On') { +if ($prefs['feature_multilingual'] == 'y' && isset($_REQUEST['lang']) && isset($_REQUEST['create_new_pages_using_template_name'])) { + global $multilinguallib; include_once('lib/multilingual/multilinguallib.php'); + $template_id_for_new_pages = $multilinguallib->getTemplateIDInLanguage('wiki', $_REQUEST['create_new_pages_using_template_name'], $_REQUEST['lang']); + $smarty->assign('template_id', $template_id_for_new_pages); +} + +if (isset($_REQUEST['hits_link_to_all_languages']) && $_REQUEST['hits_link_to_all_languages'] == 'On') { $smarty->assign('all_langs', 'y'); } else { $smarty->assign('all_langs', ''); @@ -165,7 +166,9 @@ $smarty->assign('find', $find); $filter = ''; - $filter = setLangFilter($filter); + if ($prefs['feature_multilingual'] == 'y') { + $filter = setLangFilter($filter); + } if (!empty($_REQUEST['langOrphan'])) { $filter['langOrphan'] = $_REQUEST['langOrphan']; $smarty->assign_by_ref('find_langOrphan', $_REQUEST['langOrphan']); @@ -339,7 +342,8 @@ } function setLangFilter($filter) { - global $_REQUEST, $_SESSION, $smarty, $multilinguallib; + global $smarty; + global $multilinguallib; include_once('lib/multilingual/multilinguallib.php'); $lang = $multilinguallib->currentSearchLanguage(false); $filter['lang'] = $lang; $smarty->assign_by_ref('find_lang', $lang); Modified: branches/experimental/ws/tiki-objectpermissions.php =================================================================== --- branches/experimental/ws/tiki-objectpermissions.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/tiki-objectpermissions.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -25,12 +25,6 @@ } } else { $tikilib->get_perm_object($_REQUEST['objectId'], $_REQUEST['objectType']); - if ($_REQUEST['objectType'] == 'tracker') { - global $trklib; include('lib/trackers/trackerlib.php'); - if ($groupCreatorFieldId = $trklib->get_field_id_from_type($_REQUEST['objectId'], 'g', '1%')) { - $smarty->assign('group_tracker', 'y'); - } - } } if (!($tiki_p_admin_objects == 'y' || (isset($$perm) && $$perm == 'y') ||(isset($special_perm) && $special_perm == 'y'))) { @@ -68,9 +62,74 @@ } } + //Make Quickpermission bundles + //ADMIN (get´s all perms) + $quickperms['tiki_p_admin_file_galleries'] = "tiki_p_admin_file_galleries"; + $quickperms['tiki_p_assign_perm_file_gallery'] = "tiki_p_assign_perm_file_gallery"; + $quickperms['tiki_p_batch_upload_files'] = "tiki_p_batch_upload_files"; + $quickperms['tiki_p_batch_upload_file_dir'] = "tiki_p_batch_upload_file_dir"; + $quickperms['tiki_p_create_file_galleries'] = "tiki_p_create_file_galleries"; + $quickperms['tiki_p_download_files'] = "tiki_p_download_files"; + $quickperms['tiki_p_edit_gallery_file'] = "tiki_p_edit_gallery_file"; + $quickperms['tiki_p_list_file_galleries'] = "tiki_p_list_file_galleries"; + $quickperms['tiki_p_upload_files'] = "tiki_p_upload_files"; + $quickperms['tiki_p_view_fgal_explorer'] = "tiki_p_view_fgal_explorer"; + $quickperms['tiki_p_view_fgal_path'] = "tiki_p_view_fgal_path"; + $quickperms['tiki_p_view_file_gallery'] = "tiki_p_view_file_gallery"; + $perms['admin'] = $quickperms; + + //WRITE (get´s only write perms) + unset($quickperms['tiki_p_admin_file_galleries']); + unset($quickperms['tiki_p_assign_perm_file_gallery']); + unset($quickperms['tiki_p_create_file_galleries']); + unset($quickperms['tiki_p_edit_gallery_file']); + $perms['write'] = $quickperms; + + //READ (get´s only read perms) + unset($quickperms['tiki_p_batch_upload_files']); + unset($quickperms['tiki_p_batch_upload_file_dir']); + unset($quickperms['tiki_p_create_file_galleries']); + unset($quickperms['tiki_p_upload_files']); + $perms['read'] = $quickperms; + + //NONE (doesn´t get any perms) + unset($quickperms['tiki_p_download_files']); + unset($quickperms['tiki_p_list_file_galleries']); + unset($quickperms['tiki_p_view_fgal_explorer']); + unset($quickperms['tiki_p_view_fgal_path']); + unset($quickperms['tiki_p_view_file_gallery']); + $perms['none'] = $quickperms; + // Process the form to assign a new permission to this page -if (isset($_REQUEST['assign']) && isset($_REQUEST['group']) && isset($_REQUEST['perm'])) { +if (isset($_REQUEST['assign']) && isset($_REQUEST['quick_perms'])) { check_ticket('object-perms'); + + $groups = $userlib->get_groups(0, -1, 'groupName_asc', '', '', 'n'); + + foreach($groups['data'] as $group) { + if(isset($_REQUEST["perm_".$group['groupName']])) { + $group = $group['groupName']; + $permission = $_REQUEST["perm_".$group]; + + if ($permission != "userdefined") { + //Remove all permissions of a group + foreach($perms['admin'] as $perm) { + $userlib->remove_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); + } + + //Add chosen quickperm bundle to the objcet/group + foreach($perms["$permission"] as $perm) { + $userlib->assign_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); + } + } + } + } + + $cookietab = 2; + setcookie('tab',$cookietab); + $smarty->assign_by_ref('cookietab',$cookietab); + + foreach($_REQUEST['perm'] as $perm) { if ($tiki_p_admin_objects != 'y' && !$userlib->user_has_permission($user, $perm)) { $smarty->assign('errortype', 401); @@ -79,6 +138,34 @@ die; } } + + if (!empty($_REQUEST['assignstructure']) && $_REQUEST['assignstructure'] == 'on' && !empty($pageInfoTree)) { + foreach($pageInfoTree as $subPage) { + foreach($_REQUEST['perm'] as $perm) { + foreach ($_REQUEST['group'] as $group) { + $userlib->assign_object_permission($group,$subPage["pageName"],'wiki page',$perm); + } + } + } + } else { + foreach($_REQUEST['perm'] as $perm) { + foreach ($_REQUEST['group'] as $group) { + $userlib->assign_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); + } + } + } + $smarty->assign('groupName', $_REQUEST["group"]); + +} elseif (isset($_REQUEST['assign']) && isset($_REQUEST['group']) && isset($_REQUEST['perm'])) { + check_ticket('object-perms'); + foreach($_REQUEST['perm'] as $perm) { + if ($tiki_p_admin_objects != 'y' && !$userlib->user_has_permission($user, $perm)) { + $smarty->assign('errortype', 401); + $smarty->assign('msg', tra('Permission denied')); + $smarty->display('error.tpl'); + die; + } + } if (!empty($_REQUEST['assignstructure']) && $_REQUEST['assignstructure'] == 'on' && !empty($pageInfoTree)) { foreach($pageInfoTree as $subPage) { foreach($_REQUEST['perm'] as $perm) { @@ -119,8 +206,8 @@ } } -if (isset($_REQUEST['delsel_x']) || isset($_REQUEST['action']) || isset($_REQUEST['assign'])) { - $cookietab = 2; +if ((isset($_REQUEST['delsel_x']) || isset($_REQUEST['action']) || isset($_REQUEST['assign'])) AND (!isset($_REQUEST['quick_perms']))) { + $cookietab = 3; setcookie('tab',$cookietab); $smarty->assign_by_ref('cookietab',$cookietab); } @@ -128,8 +215,41 @@ // Now we have to get the individual page permissions if any $page_perms = $userlib->get_object_permissions($_REQUEST["objectId"], $_REQUEST["objectType"]); +foreach($page_perms as $perm) { + $current_permissions[$perm['groupName']][] = $perm['permName']; +} + // Get a list of groups $groups = $userlib->get_groups(0, -1, 'groupName_asc', '', '', 'n'); + +foreach($groups['data'] as $key=>$group) { + if (!empty($current_permissions) && is_array($current_permissions[$group['groupName']])) { + //Check if Group has admin perm. + $diff1 = array_diff($current_permissions[$group['groupName']], $perms['admin']); + $diff2 = array_diff($perms['admin'], $current_permissions[$group['groupName']]); + if (empty($diff1) AND empty($diff2)) + $groups['data'][$key]['groupSumm'] = "admin"; + + //Check if Group has write perm. + $diff1 = array_diff($current_permissions[$group['groupName']], $perms['write']); + $diff2 = array_diff($perms['write'], $current_permissions[$group['groupName']]); + if (empty($diff1) AND empty($diff2)) + $groups['data'][$key]['groupSumm'] = "write"; + + //Check if Group has read perm. + $diff1 = array_diff($current_permissions[$group['groupName']], $perms['read']); + $diff2 = array_diff($perms['read'], $current_permissions[$group['groupName']]); + if (empty($diff1) AND empty($diff2)) + $groups['data'][$key]['groupSumm'] = "read"; + + if (empty($groups['data'][$key]['groupSumm'])) + $groups['data'][$key]['groupSumm'] = "userdefined"; + + } else { + $groups['data'][$key]['groupSumm'] = "none"; + } +} + $smarty->assign_by_ref('groups', $groups["data"]); // Get a list of permissions @@ -204,3 +324,4 @@ } else { $smarty->display("tiki.tpl"); } +?> Modified: branches/experimental/ws/tiki-user_reports_send.php =================================================================== --- branches/experimental/ws/tiki-user_reports_send.php 2009-06-23 14:11:03 UTC (rev 19748) +++ branches/experimental/ws/tiki-user_reports_send.php 2009-06-23 14:25:56 UTC (rev 19749) @@ -2,16 +2,11 @@ include_once ('tiki-setup.php'); -if ($_SERVER['REMOTE_ADDR'] != "127.0.0.1") { - $smarty->assign('msg', tra("This script can only be called by the server!")); - $smarty->display("error.tpl"); - die; -} +if ($_SERVER['REMOTE_ADDR'] != "127.0.0.1" AND !empty($_SERVER['REMOTE_ADDR'])) + die("This script can only be called by the server!"); if ($prefs['feature_daily_report_watches'] != 'y') { - $smarty->assign('msg', tra("This feature is disabled").": feature_daily_report_watches"); - $smarty->display("error.tpl"); - die; + die("This feature is disabled"); } include_once ('lib/tikilib.php'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-23 14:52:41
|
Revision: 19746 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19746&view=rev Author: axold Date: 2009-06-23 13:49:37 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [MOD] Added one panel of Workspaces in the admin panel Modified Paths: -------------- branches/experimental/ws/templates/tiki-admin-include-anchors.tpl branches/experimental/ws/templates/tiki-admin.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/templates/tiki-admin-include-anchors.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-anchors.tpl 2009-06-23 13:40:06 UTC (rev 19745) +++ branches/experimental/ws/templates/tiki-admin-include-anchors.tpl 2009-06-23 13:49:37 UTC (rev 19746) @@ -133,5 +133,10 @@ {if $prefs.feature_sefurl neq 'n'} {self_link page="sefurl" _class="icon"}{icon _id="pics/large/goto.png" alt="{tr}Sef URL{/tr}" class="reflect" style="vertical-align: middle" width="32" height="32"}{/self_link} {/if} + +{if $prefs.feature_workspaces neq 'n'} +{self_link page="workspaces" _class="icon"}{icon _id="pics/large/workspaces.png" alt="{tr}Workspaces{/tr}" class="reflect" style="vertical-align: middle" width="32" height="32"}{/self_link} +{/if} + {if $prefs.feature_jquery and $prefs.feature_jquery_reflection}{jq}$jq('img.reflect').reflect({});{/jq}{/if}{* for ajax *} <br class="clear" /> Modified: branches/experimental/ws/templates/tiki-admin.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin.tpl 2009-06-23 13:40:06 UTC (rev 19745) +++ branches/experimental/ws/templates/tiki-admin.tpl 2009-06-23 13:49:37 UTC (rev 19746) @@ -18,7 +18,7 @@ </div> {* The rest determines which page to include using "page" GET parameter. Default : list-sections Add a value in first check when you create a new admin page. *} -{if in_array($adminpage, array("features", "general", "login", "wiki", "gal", "fgal", "cms", "polls", "search", "blogs", "forums", "faqs", "trackers", "webmail", "rss", "directory", "userfiles", "maps", "metatags", "wikiatt","score", "community", "messages", "calendar","intertiki","freetags","gmap", "i18n","wysiwyg","copyright","category", "module", "look", "textarea", "multimedia", "ads", "profiles", "semantic", "plugins", "webservices", 'sefurl'))} +{if in_array($adminpage, array("features", "general", "login", "wiki", "gal", "fgal", "cms", "polls", "search", "blogs", "forums", "faqs", "trackers", "webmail", "rss", "directory", "userfiles", "maps", "metatags", "wikiatt","score", "community", "messages", "calendar","intertiki","freetags","gmap", "i18n","wysiwyg","copyright","category", "module", "look", "textarea", "multimedia", "ads", "profiles", "semantic", "plugins", "webservices", 'sefurl', 'workspaces'))} {assign var="include" value=$smarty.get.page} {else} {assign var="include" value="list-sections"} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 13:40:06 UTC (rev 19745) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 13:49:37 UTC (rev 19746) @@ -7,7 +7,7 @@ //if $prefs['feature_workspaces_init'] == 'y' //{ - $smarty->assign('welcome', tra('Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because you can not step back!')); + $smarty->assign('welcome', tra('Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because this will destroy any category o whatever inside it!')); //} ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-23 17:42:21
|
Revision: 19751 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19751&view=rev Author: axold Date: 2009-06-23 17:42:20 +0000 (Tue, 23 Jun 2009) Log Message: ----------- [ADD] Added more panels in the Workspaces Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Added Paths: ----------- branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-23 14:49:00 UTC (rev 19750) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-23 17:42:20 UTC (rev 19751) @@ -1381,8 +1381,8 @@ 'zend_mail_smtp_security' => '', //workspaces + 'new_to_ws' => 'y', 'feature_workspaces' => 'n', - 'feature_workspaces_init' => 'y', ); // spellcheck Added: branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl (rev 0) +++ branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl 2009-06-23 17:42:20 UTC (rev 19751) @@ -0,0 +1,45 @@ +{remarksbox type="info" title="{tr}You must to configure Workspaces before to get ready!{/tr}"} + {if $warning} + {$warning} + {else} + {"Please select one option bellow. Remember this step is very + important, so be careful when you select the workspace category + container, because this will destroy any category o whatever + inside it!"} + {/if} +{/remarksbox} + + <div class="cbox"> + <div class="cbox-title"> + Workspaces Configuration + </div> + <form class="admin" method="post" action="tiki-admin.php?page=workspaces"> + <div style="padding:0.5em;clear:both"> + <div style="float:left;margin-right:1em;"> + <input type="radio" id="selected_used_category" name="selected_radio" checked="checked" value="selected_used_category" /> + </div> + <div> + <label for="selected_used_category">{tr}Select a Category and convert it to a Workspace container{/tr}</label> + <select id="workspaces_category_list"> + <option title="Example 1" value="1">Category example 1</option> + <option title="Example 2 " value="2">Category example 2</option> + <option title="Example 3" value="3">Category example 3</option> + </select> + {if $prefs.feature_help eq 'y'} {help url="Workspaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> + </div> + </div> + <div style="padding:0.5em;clear:both"> + <div style="float:left;margin-right:1em;"> + <input type="radio" id="selected_new_container" name="selected_radio" value="selected_new_container"/> + </div> + <div> + <label for="selected_new_container">{tr}Create a new Workspace container{/tr}</label> + <input type="text" id="new_container_name" name="new_container_name" /> + {if $prefs.feature_help eq 'y'} {help url="Workpaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> + </div> + </div> + <div class="heading input_submit_container" style="text-align: center;padding:1em;"> + <input type="submit" name="save" value="{tr}Apply{/tr}" /> + </div> + </form> + </div> Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-23 14:49:00 UTC (rev 19750) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-23 17:42:20 UTC (rev 19751) @@ -1,41 +1,6 @@ {* $Id: $ *} -{if $welcome} -{remarksbox type="info" title="{tr}You must to configure Workspaces before to get ready!{/tr}"} - {$welcome} -{/remarksbox} -{/if} -<div class="cbox"> -<div class="cbox-title"> -Workspaces Configuration -</div> -<form class="admin" method="post" action="tiki-admin.php?page=workspaces"> -<div style="padding:0.5em;clear:both"> - <div style="float:left;margin-right:1em;"> - <input type="radio" id="feature_workspaces" name="feature_workspaces" checked="checked"/> - </div> - <div> - <label for="feature_workspaces">{tr}Select a Category and convert it to a Workspace container{/tr}</label> - <select id="workspaces_category_list"> - <option title="Example 1" value="1">Category example 1</option> - <option title="Example 2 " value="2">Category example 2</option> - <option title="Example 3" value="3">Category example 3</option> - </select> - {if $prefs.feature_help eq 'y'} {help url="Workspaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> - </div> -</div> -<div style="padding:0.5em;clear:both"> - <div style="float:left;margin-right:1em;"> - <input type="radio" id="feature_workspaces_new_container_selection" name="feature_workspaces" /> - </div> - <div> - <label for="feature_sefurl_filter">{tr}Create a new Workspace container{/tr}</label> - <input type="text" id="feature_workspaces_new_container" name="feature_workspaces_new_container" /> - {if $prefs.feature_help eq 'y'} {help url="Workpaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> - </div> -</div> -<div class="heading input_submit_container" style="text-align: center;padding:1em;"> - <input type="submit" name="save" value="{tr}Apply{/tr}" /> -</div> -</form> -</div> +{* If is the user first time coming to Workspaces we need to set up... *} +{if $prefs.new_to_ws eq 'y'} + {include file='tiki-admin-config-workspaces.tpl' warning=$warning} +{/if} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 14:49:00 UTC (rev 19750) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-23 17:42:20 UTC (rev 19751) @@ -5,13 +5,22 @@ require_once ('tiki-setup.php'); $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); -//if $prefs['feature_workspaces_init'] == 'y' -//{ - $smarty->assign('welcome', tra('Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because this will destroy any category o whatever inside it!')); -//} -//else { - //$smarty->assign('welcome', tra(); -//} +//We check if the user first time using Workspaces +if (isset($_REQUEST['save'])) +{ + //The user wants to create its own workspaces category + if (isset($_REQUEST['selected_radio']) && ($_REQUEST['selected_radio'] == 'selected_new_container')) + { + $workspacesContainer = $_REQUEST['new_container_name']; + echo $workspacesContainer; + $smarty->assign('warning', tra('You chosed an invalid workspaces category name. Please make sure you have typed with a valid set of characters')); + + } + else + { + } +} ask_ticket('admin-inc-workspaces'); ?> + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-24 09:12:25
|
Revision: 19759 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19759&view=rev Author: axold Date: 2009-06-24 09:11:24 +0000 (Wed, 24 Jun 2009) Log Message: ----------- [MOD] Added more options to the configuration panel of workspaces Modified Paths: -------------- branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl 2009-06-24 07:36:46 UTC (rev 19758) +++ branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl 2009-06-24 09:11:24 UTC (rev 19759) @@ -2,10 +2,7 @@ {if $warning} {$warning} {else} - {"Please select one option bellow. Remember this step is very - important, so be careful when you select the workspace category - container, because this will destroy any category o whatever - inside it!"} + {"{tr}Please select one option bellow. Remember this step is very important, so be careful when you select the workspace category container, because this will destroy any category o whatever inside it if the names are equal! If you don't know what are you doing, select the default option.{/tr}"} {/if} {/remarksbox} @@ -15,8 +12,17 @@ </div> <form class="admin" method="post" action="tiki-admin.php?page=workspaces"> <div style="padding:0.5em;clear:both"> + <div style="float:left;margin-righ:1em;"> + <input type="radio" id="selected_workspace_name" name="selected_radio" checked="checked" value="selected_workspace_holder" /> + </div> + <div> + <label for="selected_workspace">{tr}Create a new Workspace container, called 'Workspaces' (Default option){/tr}</label> + </div> + </div> + {if $prefs.feature_categories eq 'y'} + <div style="padding:0.5em;clear:both"> <div style="float:left;margin-right:1em;"> - <input type="radio" id="selected_used_category" name="selected_radio" checked="checked" value="selected_used_category" /> + <input type="radio" id="selected_used_category" name="selected_radio" value="selected_used_category" /> </div> <div> <label for="selected_used_category">{tr}Select a Category and convert it to a Workspace container{/tr}</label> @@ -28,6 +34,7 @@ {if $prefs.feature_help eq 'y'} {help url="Workspaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> </div> </div> + {/if} <div style="padding:0.5em;clear:both"> <div style="float:left;margin-right:1em;"> <input type="radio" id="selected_new_container" name="selected_radio" value="selected_new_container"/> Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-24 07:36:46 UTC (rev 19758) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-24 09:11:24 UTC (rev 19759) @@ -1,6 +1,6 @@ {* $Id: $ *} {* If is the user first time coming to Workspaces we need to set up... *} -{if $prefs.new_to_ws eq 'y'} - {include file='tiki-admin-config-workspaces.tpl' warning=$warning} +{if $prefs.new_to_ws eq 'y'} + {include file='tiki-admin-config-workspaces.tpl'} {/if} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-24 07:36:46 UTC (rev 19758) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-24 09:11:24 UTC (rev 19759) @@ -6,16 +6,18 @@ $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); //We check if the user first time using Workspaces -if (isset($_REQUEST['save'])) +if (($prefs['new_to_ws'] == 'y') && (isset($_REQUEST['save']) && (isset($_REQUEST['selected_radio'])))) { + //The user has selected the default option + if ($_REQUEST['selected_radio'] == 'selected_workspace_name'){ + } //The user wants to create its own workspaces category - if (isset($_REQUEST['selected_radio']) && ($_REQUEST['selected_radio'] == 'selected_new_container')) + else if ($_REQUEST['selected_radio'] == 'selected_new_container') { $workspacesContainer = $_REQUEST['new_container_name']; - echo $workspacesContainer; $smarty->assign('warning', tra('You chosed an invalid workspaces category name. Please make sure you have typed with a valid set of characters')); - } + //The user has selected one category for holding the workspaces else { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-24 12:22:52
|
Revision: 19760 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19760&view=rev Author: axold Date: 2009-06-24 11:11:55 +0000 (Wed, 24 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19748 to 19757 Modified Paths: -------------- branches/experimental/ws/db/tiki.sql branches/experimental/ws/lib/smarty_tiki/block.tab.php branches/experimental/ws/lib/webmail/tikimaillib.php branches/experimental/ws/styles/layout/layout.css branches/experimental/ws/templates/tiki-admin-include-general.tpl branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl branches/experimental/ws/tiki-index.php branches/experimental/ws/tiki-read_article.php Added Paths: ----------- branches/experimental/ws/installer/schema/20090623_actionlog_view_article_tiki.sql Modified: branches/experimental/ws/db/tiki.sql =================================================================== --- branches/experimental/ws/db/tiki.sql 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/db/tiki.sql 2009-06-24 11:11:55 UTC (rev 19760) @@ -3582,6 +3582,7 @@ INSERT IGNORE INTO tiki_actionlog_conf(action, objectType, status) VALUES ('Updated', 'blog', 'n'); INSERT IGNORE INTO tiki_actionlog_conf(action, objectType, status) VALUES ('Removed', 'blog', 'n'); INSERT IGNORE INTO tiki_actionlog_conf(action, objectType, status) VALUES ('Removed', 'file', 'n'); +INSERT IGNORE INTO tiki_actionlog_conf(action, objectType, status) VALUES ('Viewed', 'article', 'n'); DROP TABLE IF EXISTS tiki_freetags; CREATE TABLE tiki_freetags ( Copied: branches/experimental/ws/installer/schema/20090623_actionlog_view_article_tiki.sql (from rev 19757, trunk/installer/schema/20090623_actionlog_view_article_tiki.sql) =================================================================== --- branches/experimental/ws/installer/schema/20090623_actionlog_view_article_tiki.sql (rev 0) +++ branches/experimental/ws/installer/schema/20090623_actionlog_view_article_tiki.sql 2009-06-24 11:11:55 UTC (rev 19760) @@ -0,0 +1 @@ +INSERT IGNORE INTO tiki_actionlog_conf(action, objectType, status) VALUES ('Viewed', 'article', 'n'); \ No newline at end of file Modified: branches/experimental/ws/lib/smarty_tiki/block.tab.php =================================================================== --- branches/experimental/ws/lib/smarty_tiki/block.tab.php 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/lib/smarty_tiki/block.tab.php 2009-06-24 11:11:55 UTC (rev 19760) @@ -37,7 +37,7 @@ if ($prefs['feature_tabs'] == 'y' and (!isset($_COOKIE["tabbed_$smarty_tabset_name"]) or $_COOKIE["tabbed_$smarty_tabset_name"] != 'n')) { $ret .= "id='content".sizeof($smarty_tabset)."' class='tabcontent' style='clear:both;display:block;'"; } else { - $ret .= ">"; + $ret .= "id='anchor".sizeof($smarty_tabset)."'>"; } if ($prefs['feature_tabs'] != 'y' or (isset($_COOKIE["tabbed_$smarty_tabset_name"]) and $_COOKIE["tabbed_$smarty_tabset_name"] == 'n')) { $ret .= '<legend class="heading"><a href="#"><span>'.$params['name'].'</span></a></legend>'; Modified: branches/experimental/ws/lib/webmail/tikimaillib.php =================================================================== --- branches/experimental/ws/lib/webmail/tikimaillib.php 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/lib/webmail/tikimaillib.php 2009-06-24 11:11:55 UTC (rev 19760) @@ -22,6 +22,13 @@ if (isset($prefs['mail_crlf'])) { $this->setCrlf($prefs['mail_crlf'] == "LF"? "\n": "\r\n"); } + if ($prefs['zend_mail_handler'] == 'smtp') { + if ($prefs['zend_mail_smtp_auth'] == 'login') { + $this->setSMTPParams($prefs['zend_mail_smtp_server'], $prefs['zend_mail_smtp_port'], $prefs['zend_mail_smtp_helo'], true, $prefs['zend_mail_smtp_user'], $prefs['zend_mail_smtp_pass']); + } else { + $this->setSMTPParams($prefs['zend_mail_smtp_server'], $prefs['zend_mail_smtp_port']); + } + } if (empty($from)) { $from = $prefs['sender_email']; } @@ -91,6 +98,9 @@ function send($recipients, $type = 'mail') { global $prefs; global $logslib; include_once ('lib/logs/logslib.php'); + if ($prefs['zend_mail_handler'] == 'smtp') { + $type = 'smtp'; + } $result = parent::send($recipients, $type); $title = $result?'mail': 'mail error'; if (!$result || $prefs['log_mail']) Modified: branches/experimental/ws/styles/layout/layout.css =================================================================== --- branches/experimental/ws/styles/layout/layout.css 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/styles/layout/layout.css 2009-06-24 11:11:55 UTC (rev 19760) @@ -1041,7 +1041,7 @@ #wikihelp-tab table td {} #wikihelp-tab table td {padding: 2px} -textarea.wikiedit {font-size: 1.0em} +textarea.wikiedit {} p.editdate {padding-top: 10px} img.externallink {} Modified: branches/experimental/ws/templates/tiki-admin-include-general.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-general.tpl 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/templates/tiki-admin-include-general.tpl 2009-06-24 11:11:55 UTC (rev 19760) @@ -115,6 +115,9 @@ <div class="adminoption"><input type="checkbox" id="feature_pear_date" name="feature_pear_date"{if $prefs.feature_pear_date eq 'y'} checked="checked"{/if} /></div> <div class="adminoptionlabel"><label for="feature_pear_date">{tr}Use PEAR::Date library{/tr}.</label></div> </div> +</fieldset> + +<fieldset><legend>{tr}Mail{/tr}</legend> <div class="adminoptionbox"><label for="general-charset">{tr}Default charset for sending mail{/tr}:</label> <select name="default_mail_charset" id="general-charset"> <option value="utf-8" {if $prefs.default_mail_charset eq "utf-8"}selected="selected"{/if}>utf-8</option> Modified: branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl 2009-06-24 11:11:55 UTC (rev 19760) @@ -13,6 +13,77 @@ </div> {tabset} +<!-- {$plug} --> +<a name="list"></a> +{tab name='{tr}Tracker fields{/tr}'} + +<table class="findtable"> +<tr><td>{tr}Find{/tr}</td> +<td> +<form method="get" action="tiki-admin_tracker_fields.php"> +<input type="text" name="find" value="{$find|escape}" /> +<input type="submit" value="{tr}Find{/tr}" name="search" /> +<input type="hidden" name="sort_mode" value="{$sort_mode|escape}" /> +<input type="hidden" name="trackerId" value="{$trackerId|escape}" /> + +<input type="text" name="max" value="{$max|escape}" size="5"/> +{tr}Rows{/tr} +</form> +</td> +</tr> +</table> +<table class="normal"> +<tr> +<th> </th> +<th>{self_link _sort_arg='sort_mode' _sort_field='fieldId'}{tr}Id{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='name'}{tr}Name{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='type'}{tr}Type{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='options'}{tr}Options{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='position'}{tr}Position{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isMain'}{tr}isMain{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isMultilingual'}{tr}Multilingual{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isTblVisible'}{tr}Tbl vis{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isSearchable'}{tr}Searchable{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isPublic'}{tr}Public{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isHidden'}{tr}Hidden{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='isMandatory'}{tr}Mandatory{/tr}{/self_link}</th> +<th>{self_link _sort_arg='sort_mode' _sort_field='description'}{tr}Description{/tr}{/self_link}</th> +<th> </th> +</tr> +{cycle values="odd,even" print=false} +{section name=user loop=$channels} +<tr class="{cycle}"> +<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} +{self_link _icon='page_edit' cookietab='2' _anchor="anchor2" fieldId=$channels[user].fieldId}{tr}Edit{/tr}{/self_link} +{/if}</td> +<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} +{self_link cookietab='2' _anchor="anchor2" fieldId=$channels[user].fieldId _title='{tr}Edit{/tr}'}{$channels[user].fieldId}{/self_link}{else}{$channels[user].fieldId}{/if}</td> +<td>{$channels[user].name}</td> +<td>{assign var=x value=$channels[user].type}{$field_types[$x].label}</td> +<td>{$channels[user].options|truncate:42:"..."|escape}</td> +<td>{$channels[user].position}</td> +<td>{$channels[user].isMain}</td> +<td>{$channels[user].isMultilingual}</td> +<td>{$channels[user].isTblVisible}</td> +<td>{$channels[user].isSearchable}</td> +<td>{$channels[user].isPublic}</td> +<td>{$channels[user].isHidden} +{if !empty($channels[user].visibleBy)}<br />{icon _id=magnifier width=10 height=10}{foreach from=$channels[user].visibleBy item=g}{$g|escape} {/foreach}{/if} +{if !empty($channels[user].editableBy)}<br />{icon _id=page_edit width=10 height=10}{foreach from=$channels[user].editableBy item=g}{$g|escape} {/foreach}{/if} +</td> +<td>{$channels[user].isMandatory}</td> +<td>{$channels[user].description|truncate:14:"..."}</td> +<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} +<a class="link" href="tiki-admin_tracker_fields.php?trackerId={$trackerId}{if $max and $max ne $prefs.maxRecords}&max={$max}{/if}{if $offset}&offset={$offset}{/if}&sort_mode={$sort_mode}&remove={$channels[user].fieldId}" title="{tr}Remove{/tr}">{icon _id='cross' alt="{tr}Remove{/tr}"}</a> +<a class="link" href="tiki-admin_tracker_fields.php?trackerId={$trackerId}&fieldId={$channels[user].fieldId}&up=1{if $offset > 1}&offset={$offset}{/if}{if $max and $max ne $prefs.maxRecords}&max={$max}{/if}">{icon _id='resultset_down'}</a> +{/if}</td> +</tr> +{/section} +</table> + +{pagination_links cant=$cant step=$max offset=$offset}{/pagination_links} +{/tab} + {if $fieldId eq "0"} {assign var='title' value='{tr}New tracker field{/tr}'} {else} @@ -123,77 +194,7 @@ </form> {/tab} -<!-- {$plug} --> -<a name="list"></a> -{tab name='{tr}Tracker fields{/tr}'} -<table class="findtable"> -<tr><td>{tr}Find{/tr}</td> -<td> -<form method="get" action="tiki-admin_tracker_fields.php"> -<input type="text" name="find" value="{$find|escape}" /> -<input type="submit" value="{tr}Find{/tr}" name="search" /> -<input type="hidden" name="sort_mode" value="{$sort_mode|escape}" /> -<input type="hidden" name="trackerId" value="{$trackerId|escape}" /> - -<input type="text" name="max" value="{$max|escape}" size="5"/> -{tr}Rows{/tr} -</form> -</td> -</tr> -</table> -<table class="normal"> -<tr> -<th> </th> -<th>{self_link _sort_arg='sort_mode' _sort_field='fieldId'}{tr}Id{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='name'}{tr}Name{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='type'}{tr}Type{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='options'}{tr}Options{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='position'}{tr}Position{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isMain'}{tr}isMain{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isMultilingual'}{tr}Multilingual{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isTblVisible'}{tr}Tbl vis{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isSearchable'}{tr}Searchable{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isPublic'}{tr}Public{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isHidden'}{tr}Hidden{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='isMandatory'}{tr}Mandatory{/tr}{/self_link}</th> -<th>{self_link _sort_arg='sort_mode' _sort_field='description'}{tr}Description{/tr}{/self_link}</th> -<th> </th> -</tr> -{cycle values="odd,even" print=false} -{section name=user loop=$channels} -<tr class="{cycle}"> -<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} -{self_link _icon='page_edit' cookietab='1' _anchor="content1" fieldId=$channels[user].fieldId}{tr}Edit{/tr}{/self_link} -{/if}</td> -<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} -{self_link cookietab='1' _anchor="content1" fieldId=$channels[user].fieldId _title='{tr}Edit{/tr}'}{$channels[user].fieldId}{/self_link}{else}{$channels[user].fieldId}{/if}</td> -<td>{$channels[user].name}</td> -<td>{assign var=x value=$channels[user].type}{$field_types[$x].label}</td> -<td>{$channels[user].options|truncate:42:"..."|escape}</td> -<td>{$channels[user].position}</td> -<td>{$channels[user].isMain}</td> -<td>{$channels[user].isMultilingual}</td> -<td>{$channels[user].isTblVisible}</td> -<td>{$channels[user].isSearchable}</td> -<td>{$channels[user].isPublic}</td> -<td>{$channels[user].isHidden} -{if !empty($channels[user].visibleBy)}<br />{icon _id=magnifier width=10 height=10}{foreach from=$channels[user].visibleBy item=g}{$g|escape} {/foreach}{/if} -{if !empty($channels[user].editableBy)}<br />{icon _id=page_edit width=10 height=10}{foreach from=$channels[user].editableBy item=g}{$g|escape} {/foreach}{/if} -</td> -<td>{$channels[user].isMandatory}</td> -<td>{$channels[user].description|truncate:14:"..."}</td> -<td>{if $tracker_info.useRatings ne 'y' or $channels[user].name ne "Rating"} -<a class="link" href="tiki-admin_tracker_fields.php?trackerId={$trackerId}{if $max and $max ne $prefs.maxRecords}&max={$max}{/if}{if $offset}&offset={$offset}{/if}&sort_mode={$sort_mode}&remove={$channels[user].fieldId}" title="{tr}Remove{/tr}">{icon _id='cross' alt="{tr}Remove{/tr}"}</a> -<a class="link" href="tiki-admin_tracker_fields.php?trackerId={$trackerId}&fieldId={$channels[user].fieldId}&up=1{if $offset > 1}&offset={$offset}{/if}{if $max and $max ne $prefs.maxRecords}&max={$max}{/if}">{icon _id='resultset_down'}</a> -{/if}</td> -</tr> -{/section} -</table> - -{pagination_links cant=$cant step=$max offset=$offset}{/pagination_links} -{/tab} - {tab name='{tr}Import/Export Trackers Fields{/tr}'} <form action="tiki-admin_tracker_fields.php" method="post"> Modified: branches/experimental/ws/tiki-index.php =================================================================== --- branches/experimental/ws/tiki-index.php 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/tiki-index.php 2009-06-24 11:11:55 UTC (rev 19760) @@ -392,7 +392,7 @@ //add a hit $statslib->stats_hit($page,'wiki'); if ($prefs['feature_actionlog'] == 'y') { - include_once('lib/logs/logslib.php'); + global $logslib; include_once('lib/logs/logslib.php'); $logslib->add_action('Viewed', $page); } Modified: branches/experimental/ws/tiki-read_article.php =================================================================== --- branches/experimental/ws/tiki-read_article.php 2009-06-24 09:11:24 UTC (rev 19759) +++ branches/experimental/ws/tiki-read_article.php 2009-06-24 11:11:55 UTC (rev 19760) @@ -42,8 +42,8 @@ die; } -include_once ('lib/stats/statslib.php'); -include_once ('lib/articles/artlib.php'); +global $statslib; include_once ('lib/stats/statslib.php'); +global $artlib; include_once ('lib/articles/artlib.php'); if ($prefs['feature_categories'] == 'y') { global $categlib; include_once('lib/categories/categlib.php'); } @@ -219,6 +219,10 @@ //add a hit $statslib->stats_hit($article_data["title"],"article",$article_data['articleId']); +if ($prefs['feature_actionlog'] == 'y') { + global $logslib; include_once('lib/logs/logslib.php'); + $logslib->add_action('Viewed', $_REQUEST['articleId'], 'article'); +} // Display the Index Template $smarty->assign('mid', 'tiki-read_article.tpl'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <man...@us...> - 2009-06-26 07:29:36
|
Revision: 19809 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19809&view=rev Author: mangapower Date: 2009-06-26 07:28:46 +0000 (Fri, 26 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19757 to 19807 Modified Paths: -------------- branches/experimental/ws/lib/categories/categlib.php branches/experimental/ws/lib/core/test/AcceptanceTests/ListPagesTest.php branches/experimental/ws/lib/core/test/AcceptanceTests/MultilingualTest.php branches/experimental/ws/lib/core/test/AcceptanceTests/SearchTest.php branches/experimental/ws/lib/core/test/TikiAcceptanceTestDBRestorer.php branches/experimental/ws/lib/core/test/TikiSeleniumTestCase.php branches/experimental/ws/lib/searchlib.php branches/experimental/ws/lib/smarty_tiki/block.ajax_href.php branches/experimental/ws/lib/smarty_tiki/block.self_link.php branches/experimental/ws/lib/smarty_tiki/block.tab.php branches/experimental/ws/lib/tikilib.php branches/experimental/ws/lib/trackers/trackerlib.php branches/experimental/ws/modules/mod-terminology.php branches/experimental/ws/setup.sh branches/experimental/ws/styles/layout/layout.css branches/experimental/ws/styles/strasa/ie7.css branches/experimental/ws/templates/messu-mailbox.tpl branches/experimental/ws/templates/modules/mod-terminology.tpl branches/experimental/ws/templates/tiki-admin_newsletters.tpl branches/experimental/ws/templates/tiki-listpages.tpl branches/experimental/ws/templates/tiki-listpages_content.tpl branches/experimental/ws/templates/tiki-minical_prefs.tpl branches/experimental/ws/templates/tiki-newsletters.tpl branches/experimental/ws/templates/tracker_item_field_value.tpl branches/experimental/ws/tiki-admin_newsletters.php branches/experimental/ws/tiki-index.php branches/experimental/ws/tiki-listpages.php branches/experimental/ws/tiki-newsletters.php Added Paths: ----------- branches/experimental/ws/lib/importer/ branches/experimental/ws/lib/importer/TikiImporter.php branches/experimental/ws/lib/importer/TikiImporter_Wiki.php branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php branches/experimental/ws/lib/importer/mediawiki_dump.xsd branches/experimental/ws/lib/importer/test/ branches/experimental/ws/lib/pear/Text/ branches/experimental/ws/lib/pear/Text/Wiki/ branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Anchor.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Blockquote.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Bold.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Center.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Colortext.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Delimiter.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Embed.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Freelink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Function.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Horiz.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Html.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Image.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Include.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Interwiki.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Italic.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/List.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Paragraph.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Phplookup.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Prefilter.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Revise.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Smiley.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Strong.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Tighten.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Toc.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Underline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Comment.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/List.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Preformatted.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse.php branches/experimental/ws/lib/pear/Text/Wiki/Render/ branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/ branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Anchor.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Blockquote.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Bold.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Box.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Center.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Colortext.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Delimiter.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Embed.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Freelink.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Function.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Horiz.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Html.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Image.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Include.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Interwiki.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Italic.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/List.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Paragraph.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Phplookup.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Prefilter.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Preformatted.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Revise.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Strong.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Tighten.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Toc.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Underline.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki.php branches/experimental/ws/lib/pear/Text/Wiki/Render.php branches/experimental/ws/lib/pear/Text/Wiki/Tiki.php branches/experimental/ws/lib/pear/Text/Wiki.php branches/experimental/ws/templates/tiki-importer.tpl branches/experimental/ws/tiki-importer.php Removed Paths: ------------- branches/experimental/ws/import/ branches/experimental/ws/lib/importer/TikiImporter.php branches/experimental/ws/lib/importer/TikiImporter_Wiki.php branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php branches/experimental/ws/lib/importer/mediawiki_dump.xsd branches/experimental/ws/lib/importer/test/ branches/experimental/ws/lib/pear/Text/Wiki/ branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Anchor.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Blockquote.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Bold.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Center.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Colortext.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Delimiter.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Embed.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Freelink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Function.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Horiz.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Html.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Image.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Include.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Interwiki.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Italic.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/List.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Paragraph.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Phplookup.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Prefilter.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Revise.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Smiley.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Strong.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Tighten.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Toc.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Underline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Default/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/ branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Comment.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/List.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Preformatted.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Parse/Mediawiki/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Parse.php branches/experimental/ws/lib/pear/Text/Wiki/Render/ branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/ branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Anchor.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Blockquote.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Bold.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Box.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Break.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Center.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Code.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Colortext.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Deflist.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Delimiter.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Embed.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Emphasis.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Freelink.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Function.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Heading.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Horiz.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Html.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Image.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Include.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Interwiki.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Italic.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/List.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Newline.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Paragraph.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Phplookup.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Prefilter.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Preformatted.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Raw.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Revise.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Strong.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Subscript.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Superscript.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Table.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Tighten.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Toc.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Tt.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Underline.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Url.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki/Wikilink.php branches/experimental/ws/lib/pear/Text/Wiki/Render/Tiki.php branches/experimental/ws/lib/pear/Text/Wiki/Render.php branches/experimental/ws/lib/pear/Text/Wiki/Tiki.php branches/experimental/ws/lib/pear/Text/Wiki.php branches/experimental/ws/tiki-import_mwdump.php Modified: branches/experimental/ws/lib/categories/categlib.php =================================================================== --- branches/experimental/ws/lib/categories/categlib.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/categories/categlib.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -1491,9 +1491,11 @@ $old_categories = $this->get_object_categories($objType, $objId); //Dirty hack to remove the Slash at the end of the ID (Why is there a slash?! Bug is reportet.) - foreach($categories as $key=>$category) { - if($category{strlen($category)-1}=="/") - $categories[$key]=substr($category, 0, -1); + if (!empty($categories)) { + foreach($categories as $key=>$category) { + if($category{strlen($category)-1}=="/") + $categories[$key]=substr($category, 0, -1); + } } // need to prevent categories where user has no perm (but is set by other users with perm) to be wiped out Modified: branches/experimental/ws/lib/core/test/AcceptanceTests/ListPagesTest.php =================================================================== --- branches/experimental/ws/lib/core/test/AcceptanceTests/ListPagesTest.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/core/test/AcceptanceTests/ListPagesTest.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -9,7 +9,7 @@ public function testListPagesTableIsWellFormed() { $this->openTikiPage('tiki-listpages.php'); $this->_assertListPagesTableIsWellFormed(); - $this->_assertListedPagesWere(array(0 => "HomePage", 1 => 'EnglishTestPage'), "Listed pages"); + $this->_assertListedPagesWere(array(0 => "HomePage", 1 => "EnglishTestPage"), "Listed pages"); $this->assertEquals("Page", $this->getTable("//div[@id='tiki-listpages-content']/table.0.0")); $this->assertEquals("Hits", $this->getTable("//div[@id='tiki-listpages-content']/table.0.1")); $this->assertEquals("Last mod", $this->getTable("//div[@id='tiki-listpages-content']/table.0.2")); @@ -46,7 +46,7 @@ $this->assertTrue($this->isTextPresent("This is a test page in English")); $this->openTikiPage('tiki-listpages.php'); $this->clickAndWait("link=HomePage"); - $this->assertTrue($this->isTextPresent("This is the default HomePage for your Tiki")); + $this->assertTrue($this->isTextPresent("Thank you for installing Tiki")); } @@ -66,7 +66,7 @@ public function printImportantMessageForTestUsers() { die("ListPagesTest will not work unless:\n". "- the name of the Tiki db is 'tiki_db_for_acceptance_tests' and \n". - "- the file 'listPagesTestDump.sql' (not in svn, due to its size) is copied in the mySql data directory.\n". + "- the file 'listPagesTestDump.sql' (check it out from mods/acceptance_tests_files) is copied in the mySql data directory.\n". "Comment out the call to printImportantMessageForTestUsers() in ListPagesTest::setUp() to run the tests.\n"); } Modified: branches/experimental/ws/lib/core/test/AcceptanceTests/MultilingualTest.php =================================================================== --- branches/experimental/ws/lib/core/test/AcceptanceTests/MultilingualTest.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/core/test/AcceptanceTests/MultilingualTest.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -192,7 +192,7 @@ public function printImportantMessageForTestUsers() { die("MultilingualTest will not work unless:\n". "- the name of the Tiki db is 'tiki_db_for_acceptance_tests' and \n". - "- the file 'multilingualTestDump.sql' (not in svn, due to its size) is copied in the mySql data directory.\n" . + "- the file 'multilingualTestDump.sql' (check it out from mods/acceptance_tests_files) is copied in the mySql data directory.\n" . "Comment out the call to printImportantMessageForTestUsers() in MultilingualTest::setUp() to run the tests.\n"); } Modified: branches/experimental/ws/lib/core/test/AcceptanceTests/SearchTest.php =================================================================== --- branches/experimental/ws/lib/core/test/AcceptanceTests/SearchTest.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/core/test/AcceptanceTests/SearchTest.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -19,7 +19,9 @@ $this->openTikiPage('tiki-index.php'); $this->logInIfNecessaryAs('admin'); $query = 'feature'; +// echo $this->getBodyText(); $this->_searchFor($query); + $this->_assertSearchResultsWere(array(0 => "HomePage", 1 => 'Multilingual Test Page 1', 2 => 'Another page containing the word feature'), $query, ""); } @@ -63,28 +65,30 @@ public function printImportantMessageForTestUsers() { die("SearchTest will not work unless:\n". "- the name of the Tiki db is 'tiki_db_for_acceptance_tests' and \n". - "- the file 'searchTestDump.sql' (not in svn, due to its size) is copied in the mySql data directory.\n" . + "- the file 'searchTestDump.sql' (check it out from mods/acceptance_tests_files) is copied in the mySql data directory.\n" . "Comment out the call to printImportantMessageForTestUsers() in SearchTest::setUp() to run the tests.\n"); } private function _searchFor($query) { - $this->type('fuser', $query); + $this->type("highlight", $query); $this->clickAndWait('search'); + + } private function _assertSearchFormIsWellFormed() { $this->assertElementPresent("xpath=//form[@id='search-form']", "Search form was not present"); - $this->assertElementPresent("fuser", + $this->assertElementPresent("highlight", "Search input field not present"); $this->assertElementPresent("xpath=//div[@id='sitesearchbar']", "Site search bar was not present"); } private function _assertSearchResultsWere($listOfHits, $query, $message) { - $this->assertElementPresent("xpath=//div[@class='searchresults']", + $this->assertElementPresent("xpath=//ul[@class='searchresults']", "List of search results was absent for query '$query'"); $numExpectedHits = count($listOfHits); foreach ($listOfHits as $expectedHit) { Modified: branches/experimental/ws/lib/core/test/TikiAcceptanceTestDBRestorer.php =================================================================== --- branches/experimental/ws/lib/core/test/TikiAcceptanceTestDBRestorer.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/core/test/TikiAcceptanceTestDBRestorer.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -51,12 +51,12 @@ //Useful for creating dumps for diffent test db configurations function create_dump_file($dump_file) { chdir($this->mysql_data_dir); - echo "\nDumping the whole tiki database: "; - $begTime = microtime(true); +// echo "\nDumping the whole tiki database: "; +// $begTime = microtime(true); $mysqldump_command_line = "mysqldump --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd $this->tiki_test_db > $dump_file"; shell_exec($mysqldump_command_line); - echo (microtime(true) -$begTime)." sec\n"; +// echo (microtime(true) -$begTime)." sec\n"; chdir($this->current_dir); return true; } @@ -64,11 +64,11 @@ //Creates start schema files from the test db function create_start_schema_files() { chdir($this->mysql_data_dir); - echo "\n\rDumping start tables and times from information_schema: "; - $begTime = microtime(true); +// echo "\n\rDumping start tables and times from information_schema: "; +// $begTime = microtime(true); $mysql_select_from_schema_command = "echo select TABLE_NAME,UPDATE_TIME from information_schema.TABLES WHERE TABLE_SCHEMA='$this->tiki_test_db' | mysql --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd > $this->tiki_schema_file_start"; exec($mysql_select_from_schema_command); - echo (microtime(true) - $begTime)." sec\n"; +// echo (microtime(true) - $begTime)." sec\n"; chdir($this->current_dir); return true; } @@ -91,16 +91,16 @@ $tiki_schema_file_end = "dump_schema_tiki_end.txt"; //GET THE CURRENT TABLES - echo "\n\rDumping end tables and times from information_schema: "; - $begTime = microtime(true); +// echo "\n\rDumping end tables and times from information_schema: "; +// $begTime = microtime(true); $mysql_select_from_schema_command = "echo select TABLE_NAME,UPDATE_TIME from information_schema.TABLES WHERE TABLE_SCHEMA='$this->tiki_test_db' | mysql --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd > $tiki_schema_file_end"; shell_exec($mysql_select_from_schema_command); - echo (microtime(true) -$begTime)." sec"; +// echo (microtime(true) -$begTime)." sec"; //COMPARE THE START AND END DUMPS - echo "\n\rCompare start and end tables and times from information_schema: "; - $begTime = microtime(true); +// echo "\n\rCompare start and end tables and times from information_schema: "; +// $begTime = microtime(true); $start_file_lines = file($this->tiki_schema_file_start, FILE_IGNORE_NEW_LINES); $end_file_lines = file($tiki_schema_file_end, FILE_IGNORE_NEW_LINES); @@ -109,10 +109,10 @@ //GET ONLY TABLE_NAMES THAT CHANGED array_walk($diff, 'TikiAcceptanceTestDBRestorer::get_table_name'); - echo (microtime(true) -$begTime)." sec"; +// echo (microtime(true) -$begTime)." sec"; - echo "\n\rCreate restore sql file: "; - $begTime = microtime(true); +// echo "\n\rCreate restore sql file: "; +// $begTime = microtime(true); $tiki_test_db_dump_as_string = file_get_contents($this->tiki_test_db_dump); @@ -127,15 +127,15 @@ } fclose($tiki_restore_db_file); - echo (microtime(true) -$begTime)." sec"; +// echo (microtime(true) -$begTime)." sec"; - echo "\n\rRestore original database: "; - $begTime = microtime(true); +// echo "\n\rRestore original database: "; +// $begTime = microtime(true); //RESTORE THE ORIGINAL DATABASE $mysql_restore_db_command = "mysql --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd $this->tiki_test_db < $this->tiki_restore_db_file_name"; shell_exec($mysql_restore_db_command); - echo (microtime(true) -$begTime)." sec"; +// echo (microtime(true) -$begTime)." sec"; $last_restored = $tiki_test_db_dump; } else { //restore the whole database @@ -153,9 +153,17 @@ } function restoreBareBonesDB() { + chdir($this->mysql_data_dir); $mysql_restore_db_command = "mysql --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd $this->tiki_test_db < $this->tiki_bare_bones_db_dump"; shell_exec($mysql_restore_db_command); + chdir($this->current_dir); } + function restoreDBFromScratch($dump_file) { + chdir($this->mysql_data_dir); + $mysql_restore_db_command = "mysql --user=$this->tiki_test_db_user --password=$this->tiki_test_db_pwd $this->tiki_test_db < $dump_file"; + shell_exec($mysql_restore_db_command); + chdir($this->current_dir); + } + } - Modified: branches/experimental/ws/lib/core/test/TikiSeleniumTestCase.php =================================================================== --- branches/experimental/ws/lib/core/test/TikiSeleniumTestCase.php 2009-06-26 07:25:57 UTC (rev 19808) +++ branches/experimental/ws/lib/core/test/TikiSeleniumTestCase.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -68,10 +68,10 @@ private function _login_as($user) { - if ($this->isElementPresent("login-user")){ + if ($this->isElementPresent("sl-login-user")){ $password = $this->user_credentials[$user]; - $this->type("login-user", $user); - $this->type("login-pass", $password); + $this->type("sl-login-user", $user); + $this->type("sl-login-pass", $password); $this->clickAndWait("login"); if ($this->isTextPresent("Invalid password")) { return false; Deleted: branches/experimental/ws/lib/importer/TikiImporter.php =================================================================== --- trunk/lib/importer/TikiImporter.php 2009-06-26 03:50:26 UTC (rev 19807) +++ branches/experimental/ws/lib/importer/TikiImporter.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -1,16 +0,0 @@ -<?php - -class TikiImporter -{ - public $softwareName = ''; - public $importableContent = array(); - public $importableOptions = array(); - public $file = ''; - public $dbInfo = array(); - - public function validateInput() {} - - public function import() {} -} - -?> \ No newline at end of file Copied: branches/experimental/ws/lib/importer/TikiImporter.php (from rev 19807, trunk/lib/importer/TikiImporter.php) =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter.php (rev 0) +++ branches/experimental/ws/lib/importer/TikiImporter.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -0,0 +1,16 @@ +<?php + +class TikiImporter +{ + public $softwareName = ''; + public $importableContent = array(); + public $importableOptions = array(); + public $file = ''; + public $dbInfo = array(); + + public function validateInput() {} + + public function import() {} +} + +?> \ No newline at end of file Deleted: branches/experimental/ws/lib/importer/TikiImporter_Wiki.php =================================================================== --- trunk/lib/importer/TikiImporter_Wiki.php 2009-06-26 03:50:26 UTC (rev 19807) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -1,8 +0,0 @@ -<?php - -class TikiImporter_Wiki extends TikiImporter -{ - -} - -?> \ No newline at end of file Copied: branches/experimental/ws/lib/importer/TikiImporter_Wiki.php (from rev 19807, trunk/lib/importer/TikiImporter_Wiki.php) =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter_Wiki.php (rev 0) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -0,0 +1,8 @@ +<?php + +class TikiImporter_Wiki extends TikiImporter +{ + +} + +?> \ No newline at end of file Deleted: branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php =================================================================== --- trunk/lib/importer/TikiImporter_Wiki_Mediawiki.php 2009-06-26 03:50:26 UTC (rev 19807) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -1,204 +0,0 @@ -<?php - -class TikiImporter_Wiki_Mediawiki extends TikiImporter_Wiki -{ - public $softwareName = 'Mediawiki'; - public $options = array(); - public $file = ''; - public $dbInfo = array(); - protected $dom = ''; - - function TikiImporter_Wiki_Mediawiki() - { - // how many revisions to import for each page - if (!empty($_POST['wikiRevisions']) && $_POST['wikiRevisions'] > 0) - $this->revisionsNumber = $_POST['wikiRevisions']; - else - $this->revisionsNumber = 0; - - // what to do with already existent page names - $this->alreadyExistentPageName = $_POST['alreadyExistentPageName']; - - $this->validateInput(); - $this->import(); - } - - public function validateInput() - { - global $smarty; - - $this->dom = new DOMDocument; - $this->dom->load($_FILES['importFile']['tmp_name']); - if (!$this->dom->schemaValidate('./lib/importer/mediawiki_dump.xsd')) { - $msg = tra('File does not validate against schema. Try again.'); - $smarty->assign('msg', $msg); - $smarty->display('error.tpl'); - die; - } - } - - public function import() - { - $pages = $this->dom->getElementsByTagName('page'); - - foreach ($pages as $page) { - $data = $this->extractInfo($page); - $this->importPage($data); - } - } - - function extractInfo(DOMElement $element) - { - $data = array(); - $data['revisions'] = array(); - - foreach ($element->childNodes as $node) { - if ($node instanceof DOMElement) { - switch ($node->tagName) - { - case 'id': - case 'title': - $data[$node->tagName] = (string) $node->textContent; - break; - case 'revision': - $data['revisions'][] = $this->extractRevision($node); - break; - default: - print "Unknown tag : {$node->tagName}\n"; - } - } - } - - // remove revisions that are not going to be imported - $data['revisions'] = array_slice($data['revisions'], -$this->revisionsNumber); - - return $data; - } - - function extractRevision(DOMElement $element) - { - $data = array(); - $data['minor'] = false; - - foreach ($element->childNodes as $node) { - if ($node instanceof DOMElement) { - switch ($node->tagName) - { - case 'id': - case 'comment': - case 'text': - $data[$node->tagName] = (string) $node->textContent; - break; - - case 'timestamp': - $data[$node->tagName] = strtotime($node->textContent); - break; - - case 'minor': - $data['minor'] = true; - - case 'contributor': - $data['contributor'] = $this->extractContributor($node); - break; - - default: - print "Unknown tag in revision: {$node->tagName}\n"; - } - } - } - - return $data; - } - - function extractContributor(DOMElement $element) - { - $data = array(); - - foreach ($element->childNodes as $node) { - if ($node instanceof DOMElement) { - switch ($node->tagName) { - case 'id': - case 'username': - case 'ip': - $data[$node->tagName] = (string) $node->textContent; - break; - default: - print "Unknown tag in contributor: {$node->tagName}\n"; - } - } - } - - if (!isset($data['username'])) - $data['username'] = 'anonymous'; - - if (!isset($data['ip'])) - $data['ip'] = '0.0.0.0'; - - return $data; - } - - function importPage($data) - { - global $tikilib; - - if ($tikilib->page_exists($data['title'])) { - switch ($this->alreadyExistentPageName) { - case 'doNotImport': - print "Page already exists, no action taken: {$data['title']}\n"; - return; - case 'override': - $tikilib->remove_all_versions($data['title']); - break; - case 'appendPrefix': - $data['title'] = $this->softwareName . '_' . $data['title']; - break; - } - } - - $first = true; - foreach ($data['revisions'] as $rev) { - $text = $this->convertMarkup($rev['text']); - - if ($first) { - // Invalidate cache - $tikilib->create_page( - $data['title'], - 0, - $text, - $rev['timestamp'], - $rev['comment'], - $rev['contributor']['username'], - $rev['contributor']['ip'] - ); - } else { - $tikilib->cache_page_info = null; - $tikilib->update_page( - $data['title'], - $text, - $rev['comment'], - $rev['contributor']['username'], - $rev['contributor']['ip'], - '', - $rev['minor'], - '', - false, - null, - $rev['timestamp'] - ); - } - - $first = false; - } - } - - // Utility for converting MediaWiki markup to TikiWiki markup - // Uses Text_Wiki PEAR library for heavy lifting - function convertMarkup($mediawikiText) { - require_once('lib/pear/Text/Wiki/Mediawiki.php'); - $parser = new Text_Wiki_Mediawiki(); - $tikiText = $parser->transform($mediawikiText, 'Tiki'); - return $tikiText; - } -} - -?> \ No newline at end of file Copied: branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php (from rev 19807, trunk/lib/importer/TikiImporter_Wiki_Mediawiki.php) =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php (rev 0) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -0,0 +1,204 @@ +<?php + +class TikiImporter_Wiki_Mediawiki extends TikiImporter_Wiki +{ + public $softwareName = 'Mediawiki'; + public $options = array(); + public $file = ''; + public $dbInfo = array(); + protected $dom = ''; + + function TikiImporter_Wiki_Mediawiki() + { + // how many revisions to import for each page + if (!empty($_POST['wikiRevisions']) && $_POST['wikiRevisions'] > 0) + $this->revisionsNumber = $_POST['wikiRevisions']; + else + $this->revisionsNumber = 0; + + // what to do with already existent page names + $this->alreadyExistentPageName = $_POST['alreadyExistentPageName']; + + $this->validateInput(); + $this->import(); + } + + public function validateInput() + { + global $smarty; + + $this->dom = new DOMDocument; + $this->dom->load($_FILES['importFile']['tmp_name']); + if (!$this->dom->schemaValidate('./lib/importer/mediawiki_dump.xsd')) { + $msg = tra('File does not validate against schema. Try again.'); + $smarty->assign('msg', $msg); + $smarty->display('error.tpl'); + die; + } + } + + public function import() + { + $pages = $this->dom->getElementsByTagName('page'); + + foreach ($pages as $page) { + $data = $this->extractInfo($page); + $this->importPage($data); + } + } + + function extractInfo(DOMElement $element) + { + $data = array(); + $data['revisions'] = array(); + + foreach ($element->childNodes as $node) { + if ($node instanceof DOMElement) { + switch ($node->tagName) + { + case 'id': + case 'title': + $data[$node->tagName] = (string) $node->textContent; + break; + case 'revision': + $data['revisions'][] = $this->extractRevision($node); + break; + default: + print "Unknown tag : {$node->tagName}\n"; + } + } + } + + // remove revisions that are not going to be imported + $data['revisions'] = array_slice($data['revisions'], -$this->revisionsNumber); + + return $data; + } + + function extractRevision(DOMElement $element) + { + $data = array(); + $data['minor'] = false; + + foreach ($element->childNodes as $node) { + if ($node instanceof DOMElement) { + switch ($node->tagName) + { + case 'id': + case 'comment': + case 'text': + $data[$node->tagName] = (string) $node->textContent; + break; + + case 'timestamp': + $data[$node->tagName] = strtotime($node->textContent); + break; + + case 'minor': + $data['minor'] = true; + + case 'contributor': + $data['contributor'] = $this->extractContributor($node); + break; + + default: + print "Unknown tag in revision: {$node->tagName}\n"; + } + } + } + + return $data; + } + + function extractContributor(DOMElement $element) + { + $data = array(); + + foreach ($element->childNodes as $node) { + if ($node instanceof DOMElement) { + switch ($node->tagName) { + case 'id': + case 'username': + case 'ip': + $data[$node->tagName] = (string) $node->textContent; + break; + default: + print "Unknown tag in contributor: {$node->tagName}\n"; + } + } + } + + if (!isset($data['username'])) + $data['username'] = 'anonymous'; + + if (!isset($data['ip'])) + $data['ip'] = '0.0.0.0'; + + return $data; + } + + function importPage($data) + { + global $tikilib; + + if ($tikilib->page_exists($data['title'])) { + switch ($this->alreadyExistentPageName) { + case 'doNotImport': + print "Page already exists, no action taken: {$data['title']}\n"; + return; + case 'override': + $tikilib->remove_all_versions($data['title']); + break; + case 'appendPrefix': + $data['title'] = $this->softwareName . '_' . $data['title']; + break; + } + } + + $first = true; + foreach ($data['revisions'] as $rev) { + $text = $this->convertMarkup($rev['text']); + + if ($first) { + // Invalidate cache + $tikilib->create_page( + $data['title'], + 0, + $text, + $rev['timestamp'], + $rev['comment'], + $rev['contributor']['username'], + $rev['contributor']['ip'] + ); + } else { + $tikilib->cache_page_info = null; + $tikilib->update_page( + $data['title'], + $text, + $rev['comment'], + $rev['contributor']['username'], + $rev['contributor']['ip'], + '', + $rev['minor'], + '', + false, + null, + $rev['timestamp'] + ); + } + + $first = false; + } + } + + // Utility for converting MediaWiki markup to TikiWiki markup + // Uses Text_Wiki PEAR library for heavy lifting + function convertMarkup($mediawikiText) { + require_once('lib/pear/Text/Wiki/Mediawiki.php'); + $parser = new Text_Wiki_Mediawiki(); + $tikiText = $parser->transform($mediawikiText, 'Tiki'); + return $tikiText; + } +} + +?> \ No newline at end of file Deleted: branches/experimental/ws/lib/importer/mediawiki_dump.xsd =================================================================== --- trunk/lib/importer/mediawiki_dump.xsd 2009-06-26 03:50:26 UTC (rev 19807) +++ branches/experimental/ws/lib/importer/mediawiki_dump.xsd 2009-06-26 07:28:46 UTC (rev 19809) @@ -1,154 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - This is an XML Schema description of the format - output by MediaWiki's Special:Export system. - - Version 0.2 adds optional basic file upload info support, - which is used by our OAI export/import submodule. - - Version 0.3 adds some site configuration information such - as a list of defined namespaces. - - The canonical URL to the schema document is: - http://www.mediawiki.org/xml/export-0.3.xsd - - Use the namespace: - http://www.mediawiki.org/xml/export-0.3/ ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:mw="http://www.mediawiki.org/xml/export-0.3/" - targetNamespace="http://www.mediawiki.org/xml/export-0.3/" - elementFormDefault="qualified"> - - <annotation> - <documentation xml:lang="en"> - MediaWiki's page export format - </documentation> - </annotation> - - <!-- Need this to reference xml:lang --> - <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/xml.xsd"/> - - <!-- Our root element --> - <element name="mediawiki" type="mw:MediaWikiType"/> - - <complexType name="MediaWikiType"> - <sequence> - <element name="siteinfo" type="mw:SiteInfoType" - minOccurs="0" maxOccurs="1"/> - <element name="page" type="mw:PageType" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="version" type="string" use="required"/> - <attribute ref="xml:lang" use="required"/> - </complexType> - - <complexType name="SiteInfoType"> - <sequence> - <element name="sitename" type="string" minOccurs="0" /> - <element name="base" type="anyURI" minOccurs="0" /> - <element name="generator" type="string" minOccurs="0" /> - <element name="case" type="mw:CaseType" minOccurs="0" /> - <element name="namespaces" type="mw:NamespacesType" minOccurs="0" /> - </sequence> - </complexType> - - <simpleType name="CaseType"> - <restriction base="NMTOKEN"> - <!-- Cannot have two titles differing only by case of first letter. --> - <!-- Default behavior through 1.5, $wgCapitalLinks = true --> - <enumeration value="first-letter" /> - - <!-- Complete title is case-sensitive --> - <!-- Behavior when $wgCapitalLinks = false --> - <enumeration value="case-sensitive" /> - - <!-- Cannot have two titles differing only by case. --> - <!-- Not yet implemented as of MediaWiki 1.5 --> - <enumeration value="case-insensitive" /> - </restriction> - </simpleType> - - <complexType name="NamespacesType"> - <sequence> - <element name="namespace" type="mw:NamespaceType" - minOccurs="0" maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="NamespaceType"> - <simpleContent> - <extension base="string"> - <attribute name="key" type="integer" /> - </extension> - </simpleContent> - </complexType> - - <complexType name="PageType"> - <sequence> - <!-- Title in text form. (Using spaces, not underscores; with namespace ) --> - <element name="title" type="string"/> - - <!-- optional page ID number --> - <element name="id" type="positiveInteger" minOccurs="0"/> - - <!-- comma-separated list of string tokens, if present --> - <element name="restrictions" type="string" minOccurs="0"/> - - <!-- Zero or more sets of revision or upload data --> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="revision" type="mw:RevisionType" /> - <element name="upload" type="mw:UploadType" /> - </choice> - </sequence> - </complexType> - - <complexType name="RevisionType"> - <sequence> - <element name="id" type="positiveInteger" minOccurs="0"/> - <element name="timestamp" type="dateTime"/> - <element name="contributor" type="mw:ContributorType"/> - <element name="minor" minOccurs="0" /> - <element name="comment" type="string" minOccurs="0"/> - <element name="text" type="mw:TextType" /> - </sequence> - </complexType> - - <complexType name="TextType"> - <simpleContent> - <extension base="string"> - <attribute ref="xml:space" use="optional" default="preserve" /> - </extension> - </simpleContent> - </complexType> - - <complexType name="ContributorType"> - <sequence> - <element name="username" type="string" minOccurs="0"/> - <element name="id" type="positiveInteger" minOccurs="0" /> - - <element name="ip" type="string" minOccurs="0"/> - </sequence> - </complexType> - - <complexType name="UploadType"> - <sequence> - <!-- Revision-style data... --> - <element name="timestamp" type="dateTime"/> - <element name="contributor" type="mw:ContributorType"/> - <element name="comment" type="string" minOccurs="0"/> - - <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) --> - <element name="filename" type="string"/> - - <!-- URI at which this resource can be obtained --> - <element name="src" type="anyURI"/> - - <element name="size" type="positiveInteger" /> - - <!-- TODO: add other metadata fields --> - </sequence> - </complexType> - -</schema> Copied: branches/experimental/ws/lib/importer/mediawiki_dump.xsd (from rev 19807, trunk/lib/importer/mediawiki_dump.xsd) =================================================================== --- branches/experimental/ws/lib/importer/mediawiki_dump.xsd (rev 0) +++ branches/experimental/ws/lib/importer/mediawiki_dump.xsd 2009-06-26 07:28:46 UTC (rev 19809) @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + This is an XML Schema description of the format + output by MediaWiki's Special:Export system. + + Version 0.2 adds optional basic file upload info support, + which is used by our OAI export/import submodule. + + Version 0.3 adds some site configuration information such + as a list of defined namespaces. + + The canonical URL to the schema document is: + http://www.mediawiki.org/xml/export-0.3.xsd + + Use the namespace: + http://www.mediawiki.org/xml/export-0.3/ +--> +<schema xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:mw="http://www.mediawiki.org/xml/export-0.3/" + targetNamespace="http://www.mediawiki.org/xml/export-0.3/" + elementFormDefault="qualified"> + + <annotation> + <documentation xml:lang="en"> + MediaWiki's page export format + </documentation> + </annotation> + + <!-- Need this to reference xml:lang --> + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <!-- Our root element --> + <element name="mediawiki" type="mw:MediaWikiType"/> + + <complexType name="MediaWikiType"> + <sequence> + <element name="siteinfo" type="mw:SiteInfoType" + minOccurs="0" maxOccurs="1"/> + <element name="page" type="mw:PageType" + minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="version" type="string" use="required"/> + <attribute ref="xml:lang" use="required"/> + </complexType> + + <complexType name="SiteInfoType"> + <sequence> + <element name="sitename" type="string" minOccurs="0" /> + <element name="base" type="anyURI" minOccurs="0" /> + <element name="generator" type="string" minOccurs="0" /> + <element name="case" type="mw:CaseType" minOccurs="0" /> + <element name="namespaces" type="mw:NamespacesType" minOccurs="0" /> + </sequence> + </complexType> + + <simpleType name="CaseType"> + <restriction base="NMTOKEN"> + <!-- Cannot have two titles differing only by case of first letter. --> + <!-- Default behavior through 1.5, $wgCapitalLinks = true --> + <enumeration value="first-letter" /> + + <!-- Complete title is case-sensitive --> + <!-- Behavior when $wgCapitalLinks = false --> + <enumeration value="case-sensitive" /> + + <!-- Cannot have two titles differing only by case. --> + <!-- Not yet implemented as of MediaWiki 1.5 --> + <enumeration value="case-insensitive" /> + </restriction> + </simpleType> + + <complexType name="NamespacesType"> + <sequence> + <element name="namespace" type="mw:NamespaceType" + minOccurs="0" maxOccurs="unbounded" /> + </sequence> + </complexType> + + <complexType name="NamespaceType"> + <simpleContent> + <extension base="string"> + <attribute name="key" type="integer" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="PageType"> + <sequence> + <!-- Title in text form. (Using spaces, not underscores; with namespace ) --> + <element name="title" type="string"/> + + <!-- optional page ID number --> + <element name="id" type="positiveInteger" minOccurs="0"/> + + <!-- comma-separated list of string tokens, if present --> + <element name="restrictions" type="string" minOccurs="0"/> + + <!-- Zero or more sets of revision or upload data --> + <choice minOccurs="0" maxOccurs="unbounded"> + <element name="revision" type="mw:RevisionType" /> + <element name="upload" type="mw:UploadType" /> + </choice> + </sequence> + </complexType> + + <complexType name="RevisionType"> + <sequence> + <element name="id" type="positiveInteger" minOccurs="0"/> + <element name="timestamp" type="dateTime"/> + <element name="contributor" type="mw:ContributorType"/> + <element name="minor" minOccurs="0" /> + <element name="comment" type="string" minOccurs="0"/> + <element name="text" type="mw:TextType" /> + </sequence> + </complexType> + + <complexType name="TextType"> + <simpleContent> + <extension base="string"> + <attribute ref="xml:space" use="optional" default="preserve" /> + </extension> + </simpleContent> + </complexType> + + <complexType name="ContributorType"> + <sequence> + <element name="username" type="string" minOccurs="0"/> + <element name="id" type="positiveInteger" minOccurs="0" /> + + <element name="ip" type="string" minOccurs="0"/> + </sequence> + </complexType> + + <complexType name="UploadType"> + <sequence> + <!-- Revision-style data... --> + <element name="timestamp" type="dateTime"/> + <element name="contributor" type="mw:ContributorType"/> + <element name="comment" type="string" minOccurs="0"/> + + <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) --> + <element name="filename" type="string"/> + + <!-- URI at which this resource can be obtained --> + <element name="src" type="anyURI"/> + + <element name="size" type="positiveInteger" /> + + <!-- TODO: add other metadata fields --> + </sequence> + </complexType> + +</schema> Deleted: branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php =================================================================== --- trunk/lib/pear/Text/Wiki/Mediawiki.php 2009-06-26 03:50:26 UTC (rev 19807) +++ branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -1,94 +0,0 @@ -<?php -// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: -/** - * Parse structured wiki text and render into arbitrary formats such as XHTML. - * This is the Text_Wiki extension for Mediawiki markup - * - * PHP versions 4 and 5 - * - * @category Text - * @package Text_Wiki - * @author Bertrand Gugger <ber...@to...> - * @author Paul M. Jones <pm...@ph...> - * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 - * @version CVS: $Id: Mediawiki.php,v 1.16 2007/07/12 20:25:49 ritzmo Exp $ - * @link http://pear.php.net/package/Text_Wiki - */ - -/** - * "master" class for handling the management and convenience - */ -require_once('Text/Wiki.php'); - -/** - * Base Text_Wiki handler class extension for Mediawiki markup - * - * @category Text - * @package Text_Wiki - * @author Bertrand Gugger <ber...@to...> - * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 - * @version Release: @package_version@ - * @link http://pear.php.net/package/Text_Wiki - * @see Text_Wiki::Text_Wiki() - */ -class Text_Wiki_Mediawiki extends Text_Wiki { - var $rules = array( - 'Prefilter', - 'Delimiter', - 'Code', - 'Comment', - 'Preformatted', -// 'Plugin', -// 'Function', -// 'Html', - 'Raw', -// 'Include', -// 'Embed', -// 'Page', -// 'Anchor', - 'Heading', - 'Toc', -// 'Titlebar', - 'Horiz', - 'Break', -// 'Blockquote', -// 'Box', - 'Wikilink', -// 'Image', // done by Wikilink but still possible to disable/configure -// 'Interwiki', // done by Wikilink but still possible to disable/configure - 'Table', -// 'Phplookup', -// 'Center', - 'List', - 'Deflist', - 'Newline', - 'Paragraph', - 'Url', -// 'Freelink', -// 'Colortext', -// 'Strong', ** will be only fake inserted by Emphasis if needed for render -// 'Bold', - 'Emphasis', -// 'Italic', -// 'Underline', - 'Tt', - 'Superscript', - 'Subscript', -// 'Specialchar', -// 'Revise', - 'Tighten' - ); - - /** - * Constructor: just adds the path to Mediawiki rules - * - * @access public - * @param array $rules The set of rules to load for this object. - */ - function Text_Wiki_Mediawiki($rules = null) { - parent::Text_Wiki($rules); - $this->addPath('parse', $this->fixPath(dirname(__FILE__)).'Parse/Mediawiki'); - } -} - -?> Copied: branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php (from rev 19807, trunk/lib/pear/Text/Wiki/Mediawiki.php) =================================================================== --- branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php (rev 0) +++ branches/experimental/ws/lib/pear/Text/Wiki/Mediawiki.php 2009-06-26 07:28:46 UTC (rev 19809) @@ -0,0 +1,94 @@ +<?php +// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: +/** + * Parse structured wiki text and render into arbitrary formats such as XHTML. + * This is the Text_Wiki extension for Mediawiki markup + * + * PHP versions 4 and 5 + * + * @category Text + * @package Text_Wiki + * @author Bertrand Gugger <ber...@to...> + * @author Paul M. Jones <pmj... [truncated message content] |
From: <man...@us...> - 2009-06-29 08:01:28
|
Revision: 19843 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19843&view=rev Author: mangapower Date: 2009-06-29 08:01:18 +0000 (Mon, 29 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19807 to 19840 Modified Paths: -------------- branches/experimental/ws/db/tiki.sql branches/experimental/ws/lib/categories/categlib.php branches/experimental/ws/lib/importer/TikiImporter.php branches/experimental/ws/lib/importer/TikiImporter_Wiki.php branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php branches/experimental/ws/lib/tikiaccesslib.php branches/experimental/ws/lib/userslib.php branches/experimental/ws/lib/wiki/semanticlib.php branches/experimental/ws/lib/wiki/wikilib.php branches/experimental/ws/templates/modules/mod-terminology.tpl branches/experimental/ws/templates/tiki-admin-include-directory.tpl branches/experimental/ws/templates/tiki-admin-include-login.tpl branches/experimental/ws/templates/tiki-admin_content_templates.tpl branches/experimental/ws/templates/tiki-admin_tracker_fields.tpl branches/experimental/ws/templates/tiki-calendar.tpl branches/experimental/ws/templates/tiki-calendar_calmode.tpl branches/experimental/ws/templates/tiki-calendar_nav.tpl branches/experimental/ws/templates/tiki-calendar_params_ical.tpl branches/experimental/ws/templates/tiki-calendar_weekmode.tpl branches/experimental/ws/templates/tiki-importer.tpl branches/experimental/ws/templates/tiki-listpages.tpl branches/experimental/ws/templates/tiki-listpages_content.tpl branches/experimental/ws/templates/tracker_item_field_value.tpl branches/experimental/ws/tiki-admin_include_login.php branches/experimental/ws/tiki-assignpermission.php branches/experimental/ws/tiki-editpage.php branches/experimental/ws/tiki-importer.php branches/experimental/ws/tiki-listpages.php Added Paths: ----------- branches/experimental/ws/installer/schema/20090626_change_pear_auth_preferences_to_ldap.sql branches/experimental/ws/lib/auth/ branches/experimental/ws/lib/auth/ldap.php branches/experimental/ws/lib/core/test/create_dump_db_file.php branches/experimental/ws/lib/pear/Net/LDAP2/ branches/experimental/ws/lib/pear/Net/LDAP2/Entry.php branches/experimental/ws/lib/pear/Net/LDAP2/Filter.php branches/experimental/ws/lib/pear/Net/LDAP2/LDIF.php branches/experimental/ws/lib/pear/Net/LDAP2/RootDSE.php branches/experimental/ws/lib/pear/Net/LDAP2/Schema.php branches/experimental/ws/lib/pear/Net/LDAP2/SchemaCache.interface.php branches/experimental/ws/lib/pear/Net/LDAP2/Search.php branches/experimental/ws/lib/pear/Net/LDAP2/SimpleFileSchemaCache.php branches/experimental/ws/lib/pear/Net/LDAP2/Util.php branches/experimental/ws/lib/pear/Net/LDAP2.php Removed Paths: ------------- branches/experimental/ws/lib/auth/ldap.php branches/experimental/ws/lib/pear/Net/LDAP2/Entry.php branches/experimental/ws/lib/pear/Net/LDAP2/Filter.php branches/experimental/ws/lib/pear/Net/LDAP2/LDIF.php branches/experimental/ws/lib/pear/Net/LDAP2/RootDSE.php branches/experimental/ws/lib/pear/Net/LDAP2/Schema.php branches/experimental/ws/lib/pear/Net/LDAP2/SchemaCache.interface.php branches/experimental/ws/lib/pear/Net/LDAP2/Search.php branches/experimental/ws/lib/pear/Net/LDAP2/SimpleFileSchemaCache.php branches/experimental/ws/lib/pear/Net/LDAP2/Util.php Modified: branches/experimental/ws/db/tiki.sql =================================================================== --- branches/experimental/ws/db/tiki.sql 2009-06-29 02:29:08 UTC (rev 19842) +++ branches/experimental/ws/db/tiki.sql 2009-06-29 08:01:18 UTC (rev 19843) @@ -2800,6 +2800,7 @@ userChoice char(1) default NULL, groupDefCat int(12) default 0, groupTheme varchar(255) default '', + isExternal char(1) default 'n', PRIMARY KEY (id), UNIQUE KEY groupName (groupName) ) ENGINE=MyISAM AUTO_INCREMENT=1; @@ -3885,4 +3886,4 @@ `data` text COLLATE latin1_general_ci NOT NULL, `time` datetime NOT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM; \ No newline at end of file +) ENGINE=MyISAM; Copied: branches/experimental/ws/installer/schema/20090626_change_pear_auth_preferences_to_ldap.sql (from rev 19840, trunk/installer/schema/20090626_change_pear_auth_preferences_to_ldap.sql) =================================================================== --- branches/experimental/ws/installer/schema/20090626_change_pear_auth_preferences_to_ldap.sql (rev 0) +++ branches/experimental/ws/installer/schema/20090626_change_pear_auth_preferences_to_ldap.sql 2009-06-29 08:01:18 UTC (rev 19843) @@ -0,0 +1,7 @@ +update tiki_preferences set name='ldap_create_user_tiki' where name='auth_create_user_tiki'; +update tiki_preferences set name='ldap_create_ldap_tiki' where name='auth_create_auth_tiki'; +update tiki_preferences set name='ldap_skip_admin' where name='auth_skip_admin'; +update tiki_preferences set name='auth_ldap_host' where name='auth_pear_host'; +update tiki_preferences set name='auth_ldap_port' where name='auth_pear_port'; +update tiki_preferences set value='ldap' where name='auth_method' and value='auth'; +alter table users_groups add column(isExternal char default 'n'); Deleted: branches/experimental/ws/lib/auth/ldap.php =================================================================== --- trunk/lib/auth/ldap.php 2009-06-28 21:17:47 UTC (rev 19840) +++ branches/experimental/ws/lib/auth/ldap.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -1,370 +0,0 @@ -<?php - - -/* - * Class that adds LDAP Authentication to Tiki and aids Tiki to get User/Group Information - * from a LDAP directory - */ - -// class uses Pears Net_LDAP2 -require_once ("Net/LDAP2.php"); - - -class TikiLdapLib { - - // var to hold a esablished connection - protected $ldaplink = NULL; - - // var for ldap configuration parameters - protected $options = array( - 'host' => 'localhost', - 'port' => NULL, - 'version' => 3, - 'starttls' => false, - 'ssl' => false, - 'basedn' => '', - 'filter' => '(objectClass=*)', - 'scope' => 'sub', - 'bind_type' => 'default', - 'username' => '', - 'password' => '', - 'userdn' => '', - 'useroc' => 'inetOrgPerson', - 'userattr' => 'cn', - 'fullnameattr' => '', - 'emailattr' => 'mail', - 'countryattr' => '', - 'groupdn' => '', - 'groupattr' => 'gid', - 'groupoc' => 'groupOfNames', - 'groupnameattr' => '', - 'groupdescattr' => '', - //neu - 'groupmemberattr' => '', - 'groupmemberisdn' => true, - 'usergroupattr' => '', - 'groupgroupattr' => '', - // end neu - 'debug' => false - ); - - protected $logslib=NULL; - - // Constructor - public function __construct($options) { - - // debug setting - global $logslib; - if(isset($options['debug']) && ($options['debug']===true || $options['debug']=='y' )&& ($logslib instanceof LogsLib)) { - $this->options['debug']=true; - $this->logslib=&$logslib; - } - // Configure the connection - - // host can be a list of hostnames. - // It is easier to create URIs because if we use ssl, we have to create a URI - if(isset($options['host']) && !empty($options['host'])) { - $h=$options['host']; - } else { // use default - $h=$this->options['host']; - } - - $t=preg_split('#[\s,]#',$h); - if(isset($options['ssl']) && ($options['ssl']=='y' || $options['ssl']===true)) { - $prefix='ldaps://'; - $port=636; - } else { - $prefix='ldap://'; - $port=389; - } - if(isset($options['port']) && !empty($options['port'])) { - $port=intval($options['port']); - } - $this->options['port']=NULL; // its save to set port in URI - - $this->options['host']=array(); - foreach($t as $h) { - if(preg_match('#^ldaps?://#',$h)) { // entry is already URI - $this->options['host'][]=$h; - } else { - $this->options['host'][]=$prefix.$h.':'.$port; - } - } - - if(isset($options['version']) && !empty($options['version'])) { - $this->options['version']=intval($options['version']); - } - - if(isset($options['startls']) && !empty($options['startls'])) { - $this->options['startls']=($options['startls']===true || $options['startls']=='y'); - } - - if(isset($options['groupmemberisdn']) && !empty($options['groupmemberisdn'])) { - $this->options['groupmemberisdn']=($options['groupmemberisdn']===true || $options['groupmemberisdn']=='y'); - } - - // only string checking fo these ones - foreach(array('basedn','username','password','userdn','useroc','userattr', - 'fullnameattr','emailattr','groupdn','groupattr','groupoc','groupnameattr', - 'groupdescattr','groupmemberattr','usergroupattr','groupgroupattr') as $n) { - if(isset($options[$n]) && !empty($options[$n]) && preg_match('#\s#',$options[$n])==0) { - $this->options[$n] = $options[$n]; - } - } - - if(empty($this->options['groupgroupattr'])) $this->options['groupgroupattr']=$this->options['usergroupattr']; - - if(isset($options['password'])) $this->options['bindpw'] = $options['password']; - - if(isset($options['scope']) && !empty($options['scope'])) { - switch($options['scope']) { - case 'sub': - case 'one': - case 'base': - $this->options['scope'] = $options['scope']; - break; - default: - break; - } - } - - if(isset($options['bind_type']) && !empty($options['bind_type'])) { - switch($options['bind_type']) { - case 'ad': - case 'ol': - case 'full': - case 'plain': - $this->options['bind_type'] = $options['bind_type']; - break; - default: - break; - } - } - } - // End public function TikiLdapLib($options) - - private function __destruct() { - unset($this->ldaplink); - } - - // Do a ldap bind - public function bind() { - if($this->ldaplink instanceof Net_LDAP2) { - return (true); // do not try to reconnect since this may lead to huge timeouts - } - $user=$this->options['username']; - switch ($this->options['bind_type']) { - case 'ad': // active directory - preg_match_all('/\s*,?dc=\s*([^,]+)/i',$this->options['basedn'],$t); - $this->options['binddn'] = $user.'@'; - if(isset($t[1]) && is_array($t[1])) { - foreach($t[1] as $domainpart) { - $this->options['binddn'] .= $domainpart.'.'; - } - // cut trailing dot - $this->options['binddn']=substr($this->options['binddn'],0,-1); - } - // set referrals to 0 to avoid LDAP_OPERATIONS_ERROR - $this->options['options']['LDAP_OPT_REFERRALS']=0; - break; - case 'plain': // plain username - $this->options['binddn'] = $user; - break; - case 'full': - $this->options['binddn'] = $this->user_dn($user); - break; - case 'ol': // openldap - default: - $this->options['binddn'] = 'cn='.$user.','.$prefs['auth_ldap_basedn']; - break; - } - - // attributes to fetch -/* - $options['attributes'] = array(); - if ( $nameattr = $prefs['auth_ldap_nameattr'] ) $options['attributes'][] = $nameattr; - if ( $countryattr = $prefs['auth_ldap_countryattr'] ) $options['attributes'][] = $countryattr; - if ( $emailattr = $prefs['auth_ldap_emailattr'] ) $options['attributes'][] = $emailattr; -*/ - - - $this->add_log('ldap','Connect Host: '.implode($this->options['host']).'. Binddn: '. - $this->options['binddn'].' at line '.__LINE__.' in '.__FILE__); - //create options array to handle it to Net_LDAP2 - foreach(array('host','port','version','starttls','basedn','filter','scope','binddn','bindpw','options') - as $o) { - if(isset($this->options[$o])) { - $options[$o] = $this->options[$o]; - } - } - - $this->ldaplink= Net_LDAP2::connect($options); - if(Net_LDAP2::isError($this->ldaplink)) { - $this->add_log('ldap','Error: '.$this->ldaplink->getMessage().' at line '.__LINE__.' in '.__FILE__); - // return Net_LDAP2 Error codes. No need to redefine this. - return($this->ldaplink->getCode()); - } - - return LDAP_SUCCESS; - } // End bind() - - - - // return information about user attributes - public function get_user_attributes() { - - if(!empty($this->user_attributes)) { //been there, done that - return($this->user_attributes); - } - - $userdn=$this->user_dn(); - // ensure we have a connection to the ldap server - if(!$this->bind()) { - $this->add_log('ldap','Reuse of ldap connection failed: '.$this->ldaplink->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - - // todo: only fetch needed attributes - - $entry = $this->ldaplink->getEntry($userdn); - if(Net_LDAP2::isError($entry)) { // wrong userdn. So we have to search - // prepare Search Filter - $filter=Net_LDAP2_Filter::create($this->options['userattr'],'equals',$this->options['username']); - $searchoptions=array('scope' => $this->options['scope']); - $this->add_log('ldap','Searching for user information with filter: '.$filter->asString().' at line '.__LINE__.' in '.__FILE__); - $searchresult = $this->ldaplink->search($this->userbase_dn(),$filter,$searchoptions); - if(Net_LDAP2::isError($searchresult)) { - $this->add_log('ldap','Search failed: '.$searchresult->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - if($searchresult->count()!=1) { - $this->add_log('ldap','Error: Search returned '.$searchresult->count().' entries'.' at line '.__LINE__.' in '.__FILE__); - return false; - } - // get first entry - $entry=$searchresult->shiftEntry(); - - } - $this->user_attributes = $entry->getValues(); - $this->user_attributes['dn'] = $entry->dn(); - if (Net_LDAP2::isError($this->user_attributes)) { - $this->add_log('ldap','Error fetching user attributes: '.$this->user_attributes->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - - return($this->user_attributes); - - } // End: public function get_user_attributes() - - - - - // return dn of all groups a user belongs to - public function get_groups() { - if(empty($this->user_attributes)) $this->get_user_attributes(); - - $filter1=Net_LDAP2_Filter::create('objectClass','equals',$this->options['groupoc']); - - if(!empty($this->options['groupmemberattr'])) { - // get membership from group information - if($this->options['groupmemberisdn']) { - $filter2=Net_LDAP2_Filter::create($this->options['groupmemberattr'],'equals',$this->user_dn()); - } else { - $filter2=Net_LDAP2_Filter::create($this->options['groupmemberattr'],'equals',$this->options['username']); - } - $filter=Net_LDAP2_Filter::combine('and',array($filter1,$filter2)); - - } else if(!empty($this->options['usergroupattr'])) { - // get membership from user information - - $ugi=&$this->user_attributes[$this->options['usergroupattr']]; - if(!empty($ugi)) { - - if(!is_array($ugi)) { - $ugi=array($ugi); - } - - if(count($ugi)==1) { // one gid - $filter3=Net_LDAP2_Filter::create($this->options['groupgroupattr'],'equals',$ugi[0]); - } else { // mor gids - $filtertmp=array(); - foreach($ugi as $g) { - $filtertmp[]=Net_LDAP2_Filter::create($this->options['groupgroupattr'],'equals',$g); - } - $filter3=Net_LDAP2_Filter::combine('or',$filtertmp); - } - - $filter=Net_LDAP2_Filter::combine('and',array($filter1,$filter3)); - } else { // User has no group - $filter=NULL; - } - } else { - // not possible to get groups - return empty array - return(array()); - } - - if(Net_LDAP2::isError($filter)) { - $this->add_log('ldap','LDAP Filter creation error: '.$filter->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - - $this->add_log('ldap','Searching for group entries with filter: '.$filter->asString().' at line '.__LINE__.' in '.__FILE__); - $searchoptions=array('scope' => $this->options['scope']); - $searchresult = $this->ldaplink->search($this->groupbase_dn(),$filter,$searchoptions); - - if(Net_LDAP2::isError($searchresult)) { - $this->add_log('ldap','Search failed: '.$searchresult->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - - while($entry=$searchresult->shiftEntry()) { - if (Net_LDAP2::isError($entry)) { - $this->add_log('ldap','Error fetching group entries: '.$entry->getMessage().' at line '.__LINE__.' in '.__FILE__); - return false; - } - $this->groups[$entry->dn()]=$entry->getValues(); // no error checking necessary here - } - $this->add_log('ldap',count($this->groups).' groups found at line '.__LINE__.' in '.__FILE__); - - return($this->groups); - - } // End: private function get_group_dns() - - - - - // helper funtions - private function userbase_dn() { - if(empty($this->options['userdn'])) - return($this->options['basedn']); - return($this->options['userdn'].','.$this->options['basedn']); - } - - private function user_dn() { - if(isset($this->user_attributes['dn'])) { - // we did already fetch user attributes and have the real dn now - return($this->user_attributes['dn']); - } - if(empty($this->options['userattr'])) { - $ua='cn='; - } else { - $ua=$this->options['userattr'].'='; - } - return($ua.$this->options['username'].','.$this->userbase_dn()); - } - - private function groupbase_dn() { - if(empty($this->options['groupdn'])) - return($this->options['basedn']); - return($this->options['groupdn'].','.$this->options['basedn']); - } - - private function add_log($facility,$message) { - if($this->options['debug']) - $this->logslib->add_log($facility,$message); - } - -} - - -?> Copied: branches/experimental/ws/lib/auth/ldap.php (from rev 19840, trunk/lib/auth/ldap.php) =================================================================== --- branches/experimental/ws/lib/auth/ldap.php (rev 0) +++ branches/experimental/ws/lib/auth/ldap.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -0,0 +1,370 @@ +<?php + + +/* + * Class that adds LDAP Authentication to Tiki and aids Tiki to get User/Group Information + * from a LDAP directory + */ + +// class uses Pears Net_LDAP2 +require_once ("Net/LDAP2.php"); + + +class TikiLdapLib { + + // var to hold a esablished connection + protected $ldaplink = NULL; + + // var for ldap configuration parameters + protected $options = array( + 'host' => 'localhost', + 'port' => NULL, + 'version' => 3, + 'starttls' => false, + 'ssl' => false, + 'basedn' => '', + 'filter' => '(objectClass=*)', + 'scope' => 'sub', + 'bind_type' => 'default', + 'username' => '', + 'password' => '', + 'userdn' => '', + 'useroc' => 'inetOrgPerson', + 'userattr' => 'cn', + 'fullnameattr' => '', + 'emailattr' => 'mail', + 'countryattr' => '', + 'groupdn' => '', + 'groupattr' => 'gid', + 'groupoc' => 'groupOfNames', + 'groupnameattr' => '', + 'groupdescattr' => '', + //neu + 'groupmemberattr' => '', + 'groupmemberisdn' => true, + 'usergroupattr' => '', + 'groupgroupattr' => '', + // end neu + 'debug' => false + ); + + protected $logslib=NULL; + + // Constructor + public function __construct($options) { + + // debug setting + global $logslib; + if(isset($options['debug']) && ($options['debug']===true || $options['debug']=='y' )&& ($logslib instanceof LogsLib)) { + $this->options['debug']=true; + $this->logslib=&$logslib; + } + // Configure the connection + + // host can be a list of hostnames. + // It is easier to create URIs because if we use ssl, we have to create a URI + if(isset($options['host']) && !empty($options['host'])) { + $h=$options['host']; + } else { // use default + $h=$this->options['host']; + } + + $t=preg_split('#[\s,]#',$h); + if(isset($options['ssl']) && ($options['ssl']=='y' || $options['ssl']===true)) { + $prefix='ldaps://'; + $port=636; + } else { + $prefix='ldap://'; + $port=389; + } + if(isset($options['port']) && !empty($options['port'])) { + $port=intval($options['port']); + } + $this->options['port']=NULL; // its save to set port in URI + + $this->options['host']=array(); + foreach($t as $h) { + if(preg_match('#^ldaps?://#',$h)) { // entry is already URI + $this->options['host'][]=$h; + } else { + $this->options['host'][]=$prefix.$h.':'.$port; + } + } + + if(isset($options['version']) && !empty($options['version'])) { + $this->options['version']=intval($options['version']); + } + + if(isset($options['startls']) && !empty($options['startls'])) { + $this->options['startls']=($options['startls']===true || $options['startls']=='y'); + } + + if(isset($options['groupmemberisdn']) && !empty($options['groupmemberisdn'])) { + $this->options['groupmemberisdn']=($options['groupmemberisdn']===true || $options['groupmemberisdn']=='y'); + } + + // only string checking fo these ones + foreach(array('basedn','username','password','userdn','useroc','userattr', + 'fullnameattr','emailattr','groupdn','groupattr','groupoc','groupnameattr', + 'groupdescattr','groupmemberattr','usergroupattr','groupgroupattr') as $n) { + if(isset($options[$n]) && !empty($options[$n]) && preg_match('#\s#',$options[$n])==0) { + $this->options[$n] = $options[$n]; + } + } + + if(empty($this->options['groupgroupattr'])) $this->options['groupgroupattr']=$this->options['usergroupattr']; + + if(isset($options['password'])) $this->options['bindpw'] = $options['password']; + + if(isset($options['scope']) && !empty($options['scope'])) { + switch($options['scope']) { + case 'sub': + case 'one': + case 'base': + $this->options['scope'] = $options['scope']; + break; + default: + break; + } + } + + if(isset($options['bind_type']) && !empty($options['bind_type'])) { + switch($options['bind_type']) { + case 'ad': + case 'ol': + case 'full': + case 'plain': + $this->options['bind_type'] = $options['bind_type']; + break; + default: + break; + } + } + } + // End public function TikiLdapLib($options) + + private function __destruct() { + unset($this->ldaplink); + } + + // Do a ldap bind + public function bind() { + if($this->ldaplink instanceof Net_LDAP2) { + return (true); // do not try to reconnect since this may lead to huge timeouts + } + $user=$this->options['username']; + switch ($this->options['bind_type']) { + case 'ad': // active directory + preg_match_all('/\s*,?dc=\s*([^,]+)/i',$this->options['basedn'],$t); + $this->options['binddn'] = $user.'@'; + if(isset($t[1]) && is_array($t[1])) { + foreach($t[1] as $domainpart) { + $this->options['binddn'] .= $domainpart.'.'; + } + // cut trailing dot + $this->options['binddn']=substr($this->options['binddn'],0,-1); + } + // set referrals to 0 to avoid LDAP_OPERATIONS_ERROR + $this->options['options']['LDAP_OPT_REFERRALS']=0; + break; + case 'plain': // plain username + $this->options['binddn'] = $user; + break; + case 'full': + $this->options['binddn'] = $this->user_dn($user); + break; + case 'ol': // openldap + default: + $this->options['binddn'] = 'cn='.$user.','.$prefs['auth_ldap_basedn']; + break; + } + + // attributes to fetch +/* + $options['attributes'] = array(); + if ( $nameattr = $prefs['auth_ldap_nameattr'] ) $options['attributes'][] = $nameattr; + if ( $countryattr = $prefs['auth_ldap_countryattr'] ) $options['attributes'][] = $countryattr; + if ( $emailattr = $prefs['auth_ldap_emailattr'] ) $options['attributes'][] = $emailattr; +*/ + + + $this->add_log('ldap','Connect Host: '.implode($this->options['host']).'. Binddn: '. + $this->options['binddn'].' at line '.__LINE__.' in '.__FILE__); + //create options array to handle it to Net_LDAP2 + foreach(array('host','port','version','starttls','basedn','filter','scope','binddn','bindpw','options') + as $o) { + if(isset($this->options[$o])) { + $options[$o] = $this->options[$o]; + } + } + + $this->ldaplink= Net_LDAP2::connect($options); + if(Net_LDAP2::isError($this->ldaplink)) { + $this->add_log('ldap','Error: '.$this->ldaplink->getMessage().' at line '.__LINE__.' in '.__FILE__); + // return Net_LDAP2 Error codes. No need to redefine this. + return($this->ldaplink->getCode()); + } + + return LDAP_SUCCESS; + } // End bind() + + + + // return information about user attributes + public function get_user_attributes() { + + if(!empty($this->user_attributes)) { //been there, done that + return($this->user_attributes); + } + + $userdn=$this->user_dn(); + // ensure we have a connection to the ldap server + if(!$this->bind()) { + $this->add_log('ldap','Reuse of ldap connection failed: '.$this->ldaplink->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + + // todo: only fetch needed attributes + + $entry = $this->ldaplink->getEntry($userdn); + if(Net_LDAP2::isError($entry)) { // wrong userdn. So we have to search + // prepare Search Filter + $filter=Net_LDAP2_Filter::create($this->options['userattr'],'equals',$this->options['username']); + $searchoptions=array('scope' => $this->options['scope']); + $this->add_log('ldap','Searching for user information with filter: '.$filter->asString().' at line '.__LINE__.' in '.__FILE__); + $searchresult = $this->ldaplink->search($this->userbase_dn(),$filter,$searchoptions); + if(Net_LDAP2::isError($searchresult)) { + $this->add_log('ldap','Search failed: '.$searchresult->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + if($searchresult->count()!=1) { + $this->add_log('ldap','Error: Search returned '.$searchresult->count().' entries'.' at line '.__LINE__.' in '.__FILE__); + return false; + } + // get first entry + $entry=$searchresult->shiftEntry(); + + } + $this->user_attributes = $entry->getValues(); + $this->user_attributes['dn'] = $entry->dn(); + if (Net_LDAP2::isError($this->user_attributes)) { + $this->add_log('ldap','Error fetching user attributes: '.$this->user_attributes->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + + return($this->user_attributes); + + } // End: public function get_user_attributes() + + + + + // return dn of all groups a user belongs to + public function get_groups() { + if(empty($this->user_attributes)) $this->get_user_attributes(); + + $filter1=Net_LDAP2_Filter::create('objectClass','equals',$this->options['groupoc']); + + if(!empty($this->options['groupmemberattr'])) { + // get membership from group information + if($this->options['groupmemberisdn']) { + $filter2=Net_LDAP2_Filter::create($this->options['groupmemberattr'],'equals',$this->user_dn()); + } else { + $filter2=Net_LDAP2_Filter::create($this->options['groupmemberattr'],'equals',$this->options['username']); + } + $filter=Net_LDAP2_Filter::combine('and',array($filter1,$filter2)); + + } else if(!empty($this->options['usergroupattr'])) { + // get membership from user information + + $ugi=&$this->user_attributes[$this->options['usergroupattr']]; + if(!empty($ugi)) { + + if(!is_array($ugi)) { + $ugi=array($ugi); + } + + if(count($ugi)==1) { // one gid + $filter3=Net_LDAP2_Filter::create($this->options['groupgroupattr'],'equals',$ugi[0]); + } else { // mor gids + $filtertmp=array(); + foreach($ugi as $g) { + $filtertmp[]=Net_LDAP2_Filter::create($this->options['groupgroupattr'],'equals',$g); + } + $filter3=Net_LDAP2_Filter::combine('or',$filtertmp); + } + + $filter=Net_LDAP2_Filter::combine('and',array($filter1,$filter3)); + } else { // User has no group + $filter=NULL; + } + } else { + // not possible to get groups - return empty array + return(array()); + } + + if(Net_LDAP2::isError($filter)) { + $this->add_log('ldap','LDAP Filter creation error: '.$filter->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + + $this->add_log('ldap','Searching for group entries with filter: '.$filter->asString().' at line '.__LINE__.' in '.__FILE__); + $searchoptions=array('scope' => $this->options['scope']); + $searchresult = $this->ldaplink->search($this->groupbase_dn(),$filter,$searchoptions); + + if(Net_LDAP2::isError($searchresult)) { + $this->add_log('ldap','Search failed: '.$searchresult->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + + while($entry=$searchresult->shiftEntry()) { + if (Net_LDAP2::isError($entry)) { + $this->add_log('ldap','Error fetching group entries: '.$entry->getMessage().' at line '.__LINE__.' in '.__FILE__); + return false; + } + $this->groups[$entry->dn()]=$entry->getValues(); // no error checking necessary here + } + $this->add_log('ldap',count($this->groups).' groups found at line '.__LINE__.' in '.__FILE__); + + return($this->groups); + + } // End: private function get_group_dns() + + + + + // helper funtions + private function userbase_dn() { + if(empty($this->options['userdn'])) + return($this->options['basedn']); + return($this->options['userdn'].','.$this->options['basedn']); + } + + private function user_dn() { + if(isset($this->user_attributes['dn'])) { + // we did already fetch user attributes and have the real dn now + return($this->user_attributes['dn']); + } + if(empty($this->options['userattr'])) { + $ua='cn='; + } else { + $ua=$this->options['userattr'].'='; + } + return($ua.$this->options['username'].','.$this->userbase_dn()); + } + + private function groupbase_dn() { + if(empty($this->options['groupdn'])) + return($this->options['basedn']); + return($this->options['groupdn'].','.$this->options['basedn']); + } + + private function add_log($facility,$message) { + if($this->options['debug']) + $this->logslib->add_log($facility,$message); + } + +} + + +?> Modified: branches/experimental/ws/lib/categories/categlib.php =================================================================== --- branches/experimental/ws/lib/categories/categlib.php 2009-06-29 02:29:08 UTC (rev 19842) +++ branches/experimental/ws/lib/categories/categlib.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -322,6 +322,7 @@ 'file gallery' => 'tiki_p_view_file_gallery', 'tracker' => 'tiki_p_view_trackers', 'blog' => 'tiki_p_read_blog', + 'blog post' => 'tiki_p_read_blog', 'quiz' => 'tiki_p_take_quiz', // overhead - we are checking individual permission on types below, but they Copied: branches/experimental/ws/lib/core/test/create_dump_db_file.php (from rev 19840, trunk/lib/core/test/create_dump_db_file.php) =================================================================== --- branches/experimental/ws/lib/core/test/create_dump_db_file.php (rev 0) +++ branches/experimental/ws/lib/core/test/create_dump_db_file.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -0,0 +1,17 @@ +<?php +/* + * Created on Jun 22, 2009 + * + * To change the template for this generated file go to + * Window - Preferences - PHPeclipse - PHP - Code Templates + */ +require_once 'TikiAcceptanceTestDBRestorer.php'; + +if ($argc != 2) { + die("Missing argument. USAGE: $argv[0] <dump_filename>"); +} + +$test_TikiAcceptanceTestDBRestorer = new TikiAcceptanceTestDBRestorer(); +$test_TikiAcceptanceTestDBRestorer->create_dump_file($argv[1]); +echo "File $argv[1] was created in your mysql data directory"; + Modified: branches/experimental/ws/lib/importer/TikiImporter.php =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter.php 2009-06-29 02:29:08 UTC (rev 19842) +++ branches/experimental/ws/lib/importer/TikiImporter.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -1,16 +1,102 @@ <?php +/** + * TikiImporter + * + * This file has the main class for the TikiImporter. + * The TikiImporter was started as a Google Summer of Code project and + * aim to provide a generic structure for importing content from other + * softwares to TikiWiki + * See http://dev.tikiwiki.org/gsoc2009rodrigo for more information + * + * @author Rodrigo Sampaio Primo <ro...@ut...> + * @package tikiimporter + */ + +/** + * TikiImporter is a generic class that should be extended + * by any importer class. Each importer class must implement + * the methods validateInput() and import() + * + */ class TikiImporter { + /** + * The name of the software to import from. + * Should be defined in child class + * @var string + */ public $softwareName = ''; - public $importableContent = array(); - public $importableOptions = array(); - public $file = ''; - public $dbInfo = array(); - public function validateInput() {} + /** + * Options to the importer (i.e. the number of page + * revisions to import in the case of a wiki software) + * + * This array is used in tiki-importer.tpl to display to the user + * the options related with the data import. Currently an importOptions + * can be of the following types: checkbox, select, text + * + * @var array + */ + static public $importOptions = array(); + /** + * $this->parseData() must use this variable to keep all + * the data that will be imported as $this->import() will use + * $this->inputData + * @var array + */ + protected $inputData; + + /** + * Abstract method to validate the input import data + * + * Must be implemented by classes + * that extends this one. + */ + protected function validateInput() {} + + /** + * Abstract method to parse the input import data + * + * Must be implemented by classes + * that extends this one. + */ + protected function parseData() {} + + /** + * Abstract method to insert the imported content + * into Tiki + * + * Must be implemented by classes + * that extends this one. + */ public function import() {} + + /** + * Return a $importOptions array with the result of the concatenation of the $importOptions + * property of all classes in the hierarchy. Should be called by the classes that + * extend from this one, it doesn't make sense to call this method directly from this + * class. + * + * This method should be static but apparently only with PHP >= 5.3.0 is possible to get + * the name of the class the static method was called. For more information see + * http://us2.php.net/manual/en/function.get-called-class.php + * + * @return array $importOptions + */ + public function getOptions() + { + $class = get_class($this); + $importOptions = array(); + + do { + $refClass = new ReflectionClass($class); + $importOptions = array_merge($importOptions, $refClass->getStaticPropertyValue('importOptions', array())); + } while ($class = get_parent_class($class)); + + return $importOptions; + } } ?> \ No newline at end of file Modified: branches/experimental/ws/lib/importer/TikiImporter_Wiki.php =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter_Wiki.php 2009-06-29 02:29:08 UTC (rev 19842) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -1,8 +1,129 @@ <?php +/** + * Abstract class to provide basic functionalities to wiki importers. + * Based on the work done on http://dev.tikiwiki.org/MediaWiki+to+TikiWiki+converter + * + * @author Rodrigo Sampaio Primo <ro...@ut...> + * @package tikiimporter + */ + +/** + * Abstract class to provide basic functionalities to wiki importers. + * Based on the work done on http://dev.tikiwiki.org/MediaWiki+to+TikiWiki+converter + * + * Child classes must implement the functions validateInput(), parseData() and the variable inputData + * + * @package tikiimporter + */ class TikiImporter_Wiki extends TikiImporter { + + /** + * @see lib/importer/TikiImporter#importOptions + */ + static public $importOptions = array(/*array('name' => 'attachments', 'type' => 'checkbox', 'label' => 'Import images and attachments'),*/ + array('name' => 'wikiRevisions', 'type' => 'text', 'label' => 'Number of page revisions to import (0 for all revisions)'), + array('name' => 'alreadyExistentPageName', 'type' => 'select', 'label' => 'What to do with page names that already exists in TikiWiki?', + 'options' => array(array('name' => 'doNotImport', 'label' => 'Do not import'), + array('name' => 'override', 'label' => 'Override'), + array('name' => 'appendPrefix', 'label' => 'Append software name as prefix to the page name')) + ) + ); + /** + * Main function that starts the importing proccess + * + * Set the import options based on the options the user selected + * and start the importing proccess by calling the functions to + * validate, parse and insert the data. + * + * @return void + */ + public function import() + { + // how many revisions to import for each page + if (!empty($_POST['wikiRevisions']) && $_POST['wikiRevisions'] > 0) + $this->revisionsNumber = $_POST['wikiRevisions']; + else + $this->revisionsNumber = 0; + + // what to do with already existent page names + if (!empty($_POST['alreadyExistentPageName'])) + $this->alreadyExistentPageName = $_POST['alreadyExistentPageName']; + else + $this->alreadyExistentPageName = 'doNotImport'; + + // child classes must implement those two methods + $this->validateInput(); + $this->parseData(); + + foreach ($this->inputData as $page) { + $this->importPage($page); + } + } + + /** + * Create a new page or new page revision using Tiki bultin functions + * + * Receives an array (actualy a hash) with all the revisions of one specific page + * and insert the information on Tiki using Tiki bultin functions. + * + * This method might be used by wiki importers to insert the pages in Tiki database. + * In order to do so $data must contain the following keys: + * - name: the name of the page + * - revisions: an array of arrays with all the page revisions. Each revision array must contain the keys: + * - data: the page content (in Tiki with sintax, parsing must be done before calling this function) + * - lastModif: the modification time + * - comment: the edition comment + * - user: the username + * - ip: ip address + * - minor: true or false + * + * It also control the number of revisions to import ($this->revisionsNumber) and what to do if + * the page name already exist ($this->alreadyExistentPageName) based on parameters passed by POST + * + * @param array $data + * @return void + */ + protected function importPage($data) + { + global $tikilib; + + // remove revisions that are not going to be imported + if ($this->revisionsNumber > 0) + $data['revisions'] = array_slice($data['revisions'], -$this->revisionsNumber); + + if ($tikilib->page_exists($data['name'])) { + switch ($this->alreadyExistentPageName) { + case 'override': + $tikilib->remove_all_versions($data['name']); + break; + case 'appendPrefix': + $data['name'] = $this->softwareName . '_' . $data['name']; + break; + default: + // $this->alreadyExistentPageName equal to 'doNotImport' or equal to invalid value + print "Page already exists, no action taken: {$data['name']}\n"; + return; + } + } + + $first = true; + foreach ($data['revisions'] as $rev) { + if ($first) { + // Invalidate cache + $tikilib->create_page($data['name'], 0, $rev['data'], $rev['lastModif'], + $rev['comment'], $rev['user'], $rev['ip']); + } else { + $tikilib->cache_page_info = null; + $tikilib->update_page($data['name'], $rev['data'], $rev['comment'], $rev['user'], + $rev['ip'], '', $rev['minor'], '', false, null, $rev['lastModif']); + } + + $first = false; + } + } } ?> \ No newline at end of file Modified: branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php =================================================================== --- branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php 2009-06-29 02:29:08 UTC (rev 19842) +++ branches/experimental/ws/lib/importer/TikiImporter_Wiki_Mediawiki.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -1,28 +1,33 @@ <?php +/** + * Parses a MediaWiki-style XML dump to import it into TikiWiki. + * Requires PHP5 DOM extension. + * Based on the work done on http://dev.tikiwiki.org/MediaWiki+to+TikiWiki+converter + * + * @package tikiimporter + */ class TikiImporter_Wiki_Mediawiki extends TikiImporter_Wiki { public $softwareName = 'Mediawiki'; - public $options = array(); - public $file = ''; - public $dbInfo = array(); + + /** + * The DOM representation of the Mediawiki XML dump + * @var DOMDocument object + */ protected $dom = ''; - function TikiImporter_Wiki_Mediawiki() - { - // how many revisions to import for each page - if (!empty($_POST['wikiRevisions']) && $_POST['wikiRevisions'] > 0) - $this->revisionsNumber = $_POST['wikiRevisions']; - else - $this->revisionsNumber = 0; - - // what to do with already existent page names - $this->alreadyExistentPageName = $_POST['alreadyExistentPageName']; - - $this->validateInput(); - $this->import(); - } + /** + * @see lib/importer/TikiImporter#importOptions + */ + static public $importOptions = array(); + /** + * At present this method only validates the Mediawiki XML + * against its DTD (Document Type Definition) + * + * @see lib/importer/TikiImporter#validateInput() + */ public function validateInput() { global $smarty; @@ -37,28 +42,44 @@ } } - public function import() + /** + * Foreach page call $this->extractInfo() and assign the + * returned value to $this->inputData array + * + * @see lib/importer/TikiImporter#parseData() + */ + public function parseData() { $pages = $this->dom->getElementsByTagName('page'); foreach ($pages as $page) { - $data = $this->extractInfo($page); - $this->importPage($data); + $this->inputData[] = $this->extractInfo($page); } } - function extractInfo(DOMElement $element) + /** + * Parse an DOM representation of a Mediawiki page and return all the values + * that will be imported (page name, page content for all revisions) + * + * Note: the names of the keys are changed to reflected the names used by + * Tiki builtin function (i.e. 'title' is changed to 'name' as it is used of + * TikiLib::create_page() which will be called by TikiImporter_Wiki::importPage()) + * + * @param DOMElement $page + * @return unknown_type + */ + function extractInfo(DOMElement $page) { $data = array(); $data['revisions'] = array(); - foreach ($element->childNodes as $node) { + foreach ($page->childNodes as $node) { if ($node instanceof DOMElement) { switch ($node->tagName) { case 'id': case 'title': - $data[$node->tagName] = (string) $node->textContent; + $data['name'] = (string) $node->textContent; break; case 'revision': $data['revisions'][] = $this->extractRevision($node); @@ -68,37 +89,44 @@ } } } - - // remove revisions that are not going to be imported - $data['revisions'] = array_slice($data['revisions'], -$this->revisionsNumber); return $data; } - function extractRevision(DOMElement $element) + /** + * Parse an DOM representation of a Mediawiki page revisions and return all the values + * that will be imported (page content converted to Tiki syntax, lastModif, minor, user and ip address) + * + * Note: the names of the keys are changed to reflected the names used by + * Tiki builtin function (i.e. 'text' is changed to 'data' as it is used of TikiLib::create_page()) + * + * @param DOMElement $page + * @return unknown_type + */ + function extractRevision(DOMElement $revision) { $data = array(); $data['minor'] = false; - foreach ($element->childNodes as $node) { + foreach ($revision->childNodes as $node) { if ($node instanceof DOMElement) { switch ($node->tagName) { case 'id': case 'comment': case 'text': - $data[$node->tagName] = (string) $node->textContent; + $data['data'] = $this->convertMarkup($node->textContent); break; case 'timestamp': - $data[$node->tagName] = strtotime($node->textContent); + $data['lastModif'] = strtotime($node->textContent); break; case 'minor': $data['minor'] = true; case 'contributor': - $data['contributor'] = $this->extractContributor($node); + $data = array_merge($data, $this->extractContributor($node)); break; default: @@ -110,91 +138,51 @@ return $data; } - function extractContributor(DOMElement $element) + /** + * Parse an DOM representation of a Mediawiki page revision contributor and return + * the username and ip address + * + * @param DOMElement $contributor + * @return array $data + */ + function extractContributor(DOMElement $contributor) { $data = array(); - foreach ($element->childNodes as $node) { + foreach ($contributor->childNodes as $node) { if ($node instanceof DOMElement) { switch ($node->tagName) { case 'id': - case 'username': case 'ip': $data[$node->tagName] = (string) $node->textContent; break; + case 'username': + $data['user'] = (string) $node->textContent; + break; default: print "Unknown tag in contributor: {$node->tagName}\n"; } } } - if (!isset($data['username'])) - $data['username'] = 'anonymous'; + if (!isset($data['user'])) + $data['user'] = 'anonymous'; if (!isset($data['ip'])) $data['ip'] = '0.0.0.0'; return $data; } - - function importPage($data) - { - global $tikilib; - - if ($tikilib->page_exists($data['title'])) { - switch ($this->alreadyExistentPageName) { - case 'doNotImport': - print "Page already exists, no action taken: {$data['title']}\n"; - return; - case 'override': - $tikilib->remove_all_versions($data['title']); - break; - case 'appendPrefix': - $data['title'] = $this->softwareName . '_' . $data['title']; - break; - } - } - - $first = true; - foreach ($data['revisions'] as $rev) { - $text = $this->convertMarkup($rev['text']); - - if ($first) { - // Invalidate cache - $tikilib->create_page( - $data['title'], - 0, - $text, - $rev['timestamp'], - $rev['comment'], - $rev['contributor']['username'], - $rev['contributor']['ip'] - ); - } else { - $tikilib->cache_page_info = null; - $tikilib->update_page( - $data['title'], - $text, - $rev['comment'], - $rev['contributor']['username'], - $rev['contributor']['ip'], - '', - $rev['minor'], - '', - false, - null, - $rev['timestamp'] - ); - } - - $first = false; - } - } - - // Utility for converting MediaWiki markup to TikiWiki markup - // Uses Text_Wiki PEAR library for heavy lifting + + /** + * Utility for converting MediaWiki markup to TikiWiki markup + * Uses Text_Wiki PEAR library for heavy lifting + * + * @param string $mediawikiText + * @return string $tikiText + */ function convertMarkup($mediawikiText) { - require_once('lib/pear/Text/Wiki/Mediawiki.php'); + require_once('Text/Wiki/Mediawiki.php'); $parser = new Text_Wiki_Mediawiki(); $tikiText = $parser->transform($mediawikiText, 'Tiki'); return $tikiText; Deleted: branches/experimental/ws/lib/pear/Net/LDAP2/Entry.php =================================================================== --- trunk/lib/pear/Net/LDAP2/Entry.php 2009-06-28 21:17:47 UTC (rev 19840) +++ branches/experimental/ws/lib/pear/Net/LDAP2/Entry.php 2009-06-29 08:01:18 UTC (rev 19843) @@ -1,1050 +0,0 @@ -<?php -/* vim: set expandtab tabstop=4 shiftwidth=4: */ -/** -* File containing the Net_LDAP2_Entry interface class. -* -* PHP version 5 -* -* @category Net -* @package Net_LDAP2 -* @author Jan Wagner <wa...@ne...> -* @author Tarjej Huse <ta...@be...> -* @author Benedikt Hallinger <be...@ph...> -* @copyright 2009 Tarjej Huse, Jan Wagner, Benedikt Hallinger -* @license http://www.gnu.org/copyleft/lesser.html LGPL -* @version CVS: $Id: Entry.php,v 1.12 2009/05/26 13:52:44 beni Exp $ -* @link http://pear.php.net/package/Net_LDAP2/ -*/ - -/** -* Includes -*/ -require_once 'PEAR.php'; -require_once 'Util.php'; - -/** -* Object representation of a directory entry -* -* This class represents a directory entry. You can add, delete, replace -* attributes and their values, rename the entry, delete the entry. -* -* @category Net -* @package Net_LDAP2 -* @author Jan Wagner <wa...@ne...> -* @author Tarjej Huse <ta...@be...> -* @author Benedikt Hallinger <be...@ph...> -* @license http://www.gnu.org/copyleft/lesser.html LGPL -* @link http://pear.php.net/package/Net_LDAP2/ -*/ -class Net_LDAP2_Entry extends PEAR -{ - /** - * Entry ressource identifier - * - * @access protected - * @var ressource - */ - protected $_entry = null; - - /** - * LDAP ressource identifier - * - * @access protected - * @var ressource - */ - protected $_link = null; - - /** - * Net_LDAP2 object - * - * This object will be used for updating and schema checking - * - * @access protected - * @var object Net_LDAP2 - */ - protected $_ldap = null; - - /** - * Distinguished name of the entry - * - * @access protected - * @var string - */ - protected $_dn = null; - - /** - * Attributes - * - * @access protected - * @var array - */ - protected $_attributes = array(); - - /** - * Original attributes before any modification - * - * @access protected - * @var array - */ - protected $_original = array(); - - - /** - * Map of attribute names - * - * @access protected - * @var array - */ - protected $_map = array(); - - - /** - * Is this a new entry? - * - * @access protected - * @var boolean - */ - protected $_new = true; - - /** - * New distinguished name - * - * @access protected - * @var string - */ - protected $_newdn = null; - - /** - * Shall the entry be deleted? - * - * @access protected - * @var boolean - */ - protected $_delete = false; - - /** - * Map with changes to the entry - * - * @access protected - * @var array - */ - protected $_changes = array("add" => array(), - "delete" => array(), - "replace" => array() - ); - /** - * Internal Constructor - * - * Constructor of the entry. Sets up the distinguished name and the entries - * attributes. - * You should not call this method manually! Use {@link Net_LDAP2_Entry::createFresh()} - * or {@link Net_LDAP2_Entry::createConnected()} instead! - * - * @param Net_LDAP2|ressource|array &$ldap Net_LDAP2 object, ldap-link ressource or array of attributes - * @param string|ressource $entry Either a DN or a LDAP-Entry ressource - * - * @access protected - * @return none - */ - protected function __construct(&$ldap, $entry = null) - { - $this->PEAR('Net_LDAP2_Error'); - - // set up entry resource or DN - if (is_resource($entry)) { - $this->_entry = &$entry; - } else { - $this->_dn = $entry; - } - - // set up LDAP link - if ($ldap instanceof Net_LDAP2) { - $this->_ldap = &$ldap; - $this->_link = $ldap->getLink(); - } elseif (is_resource($ldap)) { - $this->_link = $ldap; - } elseif (is_array($ldap)) { - // Special case: here $ldap is an array of attributes, - // this means, we have no link. This is a "virtual" entry. - // We just set up the attributes so one can work with the object - // as expected, but an update() fails unless setLDAP() is called. - $this->setAttributes($ldap); - } - - // if this is an entry existing in the directory, - // then set up as old and fetch attrs - if (is_resource($this->_entry) && is_resource($this->_link)) { - $this->_new = false; - $this->_dn = @ldap_get_dn($this->_link, $this->_entry); - $this->setAttributes(); // fetch attributes from server - } - } - - /** - * Creates a fresh entry that may be added to the directory later on - * - * Use this method, if you want to initialize a fresh entry. - * - * The method should be called statically: $entry = Net_LDAP2_Entry::createFresh(); - * You should put a 'objectClass' attribute into the $attrs so the directory server - * knows which object you want to create. However, you may omit this in case you - * don't want to add this entry to a directory server. - * - * The attributes parameter is as following: - * <code> - * $attrs = array( 'attribute1' => array('value1', 'value2'), - * 'attribute2' => 'single value' - * ); - * </code> - * - * @param string $dn DN of the Entry - * @param array $attrs Attributes of the entry - * - * @static - * @return Net_LDAP2_Entry|Net_LDAP2_Error - */ - public static function createFresh($dn, $attrs = array()) - { - if (!is_array($attrs)) { - return PEAR::raiseError("Unable to create fresh entry: Parameter \$attrs needs to be an array!"); - } - - $entry = new Net_LDAP2_Entry($attrs, $dn); - return $entry; - } - - /** - * Creates a Net_LDAP2_Entry object out of an ldap entry resource - * - * Use this method, if you want to initialize an entry object that is - * already present in some directory and that you have read manually. - * - * Please note, that if you want to create an entry object that represents - * some already existing entry, you should use {@link createExisting()}. - * - * The method should be called statically: $entry = Net_LDAP2_Entry::createConnected(); - * - * @param Net_LDAP2 $ldap Net_LDA2 object - * @param resource $entry PHP LDAP entry resource - * - * @static - * @return Net_LDAP2_Entry|Net_LDAP2_Error - */ - public static function createConnected($ldap, $entry) - { - if (!$ldap instanceof Net_LDAP2) { - return PEAR::raiseError("Unable to create connected entry: Parameter \$ldap needs to be a Net_LDAP2 object!"); - } - if (!is_resource($entry)) { - return PEAR::raiseError("Unable to create connected entry: Parameter \$entry needs to be a ldap entry resource!"); - } - - $entry = new Net_LDAP2_Entry($ldap, $entry); - return $entry; - } - - /** - * Creates an Net_LDAP2_Entry object that is considered already existing - * - * Use this method, if you want to modify an already existing entry - * without fetching it first. - * In most cases however, it is better to fetch the entry via Net_LDAP2->getEntry()! - * - * Please note that you should take care if you construct entries manually with this - * because you may get weird synchronisation problems. - * The attributes and values as well as the entry itself are considered existent - * which may produce errors if you try to modify an entry which doesn't really exist - * or if you try to overwrite some attribute with an value already present. - * - * This method is equal to calling createFresh() and after that markAsNew(FALSE). - * - * The method should be called statically: $entry = Net_LDAP2_Entry::createExisting(); - * - * The attributes parameter is as following: - * <code> - * $attrs = array( 'attribute1' => array('value1', 'value2'), - * 'attribute2' => 'single value' - * ); - * </code> - * - * @param string $dn DN of the Entry - * @param array $attrs Attributes of the entry - * - * @static - * @return Net_LDAP2_Entry|Net_LDAP2_Error - */ - public static function createExisting($dn, $attrs = array()) - { - if (!is_array($attrs)) { - return PEAR::raiseError("Unable to create entry object: Parameter \$attrs needs to be an array!"); - } - - $entry = Net_LDAP2_Entry::createFresh($dn, $attrs); - if ($entry instanceof Net_LDAP2_Error) { - return $entry; - } else { - $entry->markAsNew(false); - return $entry; - } - } - - /** - * Get or set the distinguished name of the entry - * - * If called without an argument the current (or the new DN if set) DN gets returned. - * If you provide an DN, this entry is moved to the new location specified if a DN existed. - * If the DN was not set, the DN gets initialized. Call {@link update()} to actually create - * the new Entry in the directory. - * To fetch the current active DN after setting a new DN but before an update(), you can use - * {@link currentDN()} to retrieve the DN that is currently active. - * - * Please note that special characters (eg german umlauts) should be encoded using utf8_encode(). - * You may use {@link Net_LDAP2_Util::canonical_dn()} for properly encoding of the DN. - * - * @param string $dn New distinguished name - * - * @access public - * @return string|true Distinguished name (or true if a new DN was provided) - */ - public function dn($dn = null) - { - if (false == is_null($dn)) { - if (is_null($this->_dn)) { - $this->_dn = $dn; - } else { - $this->_newdn = $dn; - } - return true; - } - return (isset($this->_newdn) ? $this->_newdn : $this->currentDN()); - } - - /** - * Renames or moves the entry - * - * This is just a convinience alias to {@link dn()} - * to... [truncated message content] |
From: <ax...@us...> - 2009-06-29 08:44:22
|
Revision: 19844 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19844&view=rev Author: axold Date: 2009-06-29 08:44:19 +0000 (Mon, 29 Jun 2009) Log Message: ----------- [MOD] Added to the wsGuiParser more things for controlling the stuff in tiki-admin_include_workspaces.php Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/lib/workspaces/wslib.php branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-29 08:01:18 UTC (rev 19843) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-29 08:44:19 UTC (rev 19844) @@ -1381,8 +1381,10 @@ 'zend_mail_smtp_security' => '', //workspaces - 'new_to_ws' => 'y', 'feature_workspaces' => 'n', + 'new_to_ws' => 'y', + 'ws_container_id' => null, + 'ws_container_name' => null, ); // spellcheck Modified: branches/experimental/ws/lib/workspaces/wslib.php =================================================================== --- branches/experimental/ws/lib/workspaces/wslib.php 2009-06-29 08:01:18 UTC (rev 19843) +++ branches/experimental/ws/lib/workspaces/wslib.php 2009-06-29 08:44:19 UTC (rev 19844) @@ -1,28 +1,14 @@ <?php -/** \file - * $Id: /cvsroot/tikiwiki/tiki/lib/workspaces/wslib.php by mangapower - * - * \brief Workspaces support class - * - */ +require_once ('../../tiki-setup.php'); +$access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); -//this script may only be included - so its better to die if called directly. -if (strpos($_SERVER["SCRIPT_NAME"],basename(__FILE__)) !== false) { - header("location: index.php"); - exit; -} +require_once ('lib/categories/categlib.php'); class wslib { private $wsContainerId = $prefs['ws_container_id']; - function __autoload() - { - require_once ('lib/categories/categlib.php'); - require_once ('tiki-setup.php') - } - // This function will set a container for WS in the category table and return its ID function init_ws ($newName) { Modified: branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl 2009-06-29 08:01:18 UTC (rev 19843) +++ branches/experimental/ws/templates/tiki-admin-config-workspaces.tpl 2009-06-29 08:44:19 UTC (rev 19844) @@ -1,9 +1,5 @@ -{remarksbox type="info" title="{tr}You must configure Workspaces before you get ready!{/tr}"} - {if $warning} - {$warning} - {else} - {"{tr}Please, select one option bellow.{/tr}"} - {/if} +{remarksbox type=$message.type title=$message.title} + {$message.content} {/remarksbox} <div class="cbox"> @@ -16,7 +12,7 @@ <input type="radio" id="selected_workspace_name" name="selected_radio" checked="checked" value="selected_workspace_holder" /> </div> <div> - <label for="selected_workspace">{tr}Create new Workspace container, called 'Workspaces' (Default option){/tr}</label> + <label for="selected_workspace">{tr}Create a new Workspace container (Default option){/tr}</label> </div> </div> {if $prefs.feature_categories eq 'y'} @@ -25,7 +21,9 @@ <input type="radio" id="selected_used_category" name="selected_radio" value="selected_used_category" /> </div> <div> - <label for="selected_used_category">{tr}Select a Category and convert it to a Workspace container{/tr}</label> + <label for="selected_used_category">{tr}Select a + Category and convert it to a Workspace + container:{/tr}</label> <select id="workspaces_category_list"> <option title="Example 1" value="1">Category example 1</option> <option title="Example 2" value="2">Category example 2</option> @@ -40,7 +38,8 @@ <input type="radio" id="selected_new_container" name="selected_radio" value="selected_new_container"/> </div> <div> - <label for="selected_new_container">{tr}Create a new Workspace container{/tr}</label> + <label for="selected_new_container">{tr}Create a + new Workspace container, write the name:{/tr}</label> <input type="text" id="new_container_name" name="new_container_name" /> {if $prefs.feature_help eq 'y'} {help url="Workpaces" desc="{tr}Workspaces manual page{/tr}"}{/if} <br /> </div> Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-29 08:01:18 UTC (rev 19843) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-29 08:44:19 UTC (rev 19844) @@ -1,6 +1,2 @@ {* $Id: $ *} -{*If this is the first time a user comes to Workspaces we need to install some things*} -{if $prefs.new_to_ws eq 'y'} - {include file='tiki-admin-config-workspaces.tpl'} -{/if} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-29 08:01:18 UTC (rev 19843) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-29 08:44:19 UTC (rev 19844) @@ -5,24 +5,14 @@ require_once ('tiki-setup.php'); $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); -//We check if the user first time using Workspaces -if (($prefs['new_to_ws'] == 'y') && (isset($_REQUEST['save']) && (isset($_REQUEST['selected_radio'])))) -{ - //The user has selected the default option - if ($_REQUEST['selected_radio'] == 'selected_workspace_name'){ - } - //The user wants to create its own workspaces category - else if ($_REQUEST['selected_radio'] == 'selected_new_container') - { - $workspacesContainer = $_REQUEST['new_container_name']; - $smarty->assign('warning', tra('You chosed an invalid workspaces category name. Please make sure you have typed with a valid set of characters')); - } - //The user has selected one category for holding the workspaces - else - { - } -} +//include_once ('lib/workspaces/wsGuiParser.php'); +//We load the wsGuiParser for controlling the major actions the user +//can make in this page +//$wsGui = new wsGuiParser(); + +//So we starting checking if the user first time using Workspaces +//$wsGui->checkIfNewToWS(); + ask_ticket('admin-inc-workspaces'); -?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-29 14:25:21
|
Revision: 19850 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19850&view=rev Author: axold Date: 2009-06-29 14:25:19 +0000 (Mon, 29 Jun 2009) Log Message: ----------- [MOD] Created the wslib object Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/lib/workspaces/wslib.php branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-06-29 13:35:15 UTC (rev 19849) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-06-29 14:25:19 UTC (rev 19850) @@ -4,7 +4,7 @@ exit; } -//require_once ('wslib.php'); +require_once ('wslib.php'); /** * TikiWiki CMS/GroupWare @@ -38,11 +38,10 @@ //do{ $currentTime = (string) time(); $hash = md5($currentTime); - echo $hash; //}while (($id = Workspacelib::init_ws($hash)) == -1); - - $tikilib->set_preference('new_to_ws', 'n'); - $tikilib->set_preference('ws_container', $id); + //$tikilib->set_preference('new_to_ws', 'n'); + $tikilib->set_preference('ws_container', $id); + wslib::init_ws(); } } } Modified: branches/experimental/ws/lib/workspaces/wslib.php =================================================================== --- branches/experimental/ws/lib/workspaces/wslib.php 2009-06-29 13:35:15 UTC (rev 19849) +++ branches/experimental/ws/lib/workspaces/wslib.php 2009-06-29 14:25:19 UTC (rev 19850) @@ -1,81 +1,35 @@ <?php - if (strpos($_SERVER["SCRIPT_NAME"],basename(__FILE__)) !== false) { header("location: index.php"); exit; } -require_once ('lib/categories/categlib.php'); -require_once ('lib/userslib.php'); +/** + * TikiWiki CMS/GroupWare + * + * LICENSE + * + * This source file is subject to the LGPL license that is bundled + * with this package in the file license.txt. If your distribuition + * doesn't have the license file, please go to http://license.com to see + * the complete license of the software. + * + * @category workspaces + * @package lib + * @author Benjamin Palacios (mangapower) <man...@gm...> + */ -class wslib -{ - - private $wsContainerId = $prefs['ws_container_id']; - - // This function will set a container for WS in the category table and return its ID - function init_ws ($newName) - { - if (empty($categlib->get_category_id($newName))) - return $wsContainer = $categlib->add_category(0,$newName,'Workspaces Container Category'); - else - return -1; //Error - a category with the same name already exists (REALLY HARD TO HAPPEN) - } - - // Get the name and its parent WS and create a new WS (NOTE: parentID = WSContainerID) - function add_ws ($newName, $parent) - { - $query = "select `categId` from `tiki_categories` where `name`=? and `parentId`=?"; - if (empty($id = $this->getOne($query,array($newName,(int) $wsContainerId)))) - { - return $wsId = $categlib->add_category($wsContainerId,$newName,$parent); - } - else - return -1; //Error - A WS with the same name already exists - } - - // Remove a WS - function remove_ws ($ws_id) - { - $newParent=$categlib->get_category_description($ws_id); - // All its sub-workspaces will level up - $query="update `tiki_categories` set `description` = replace (`description`,?,?)"; - $levelup = query($query,array((string)$ws_id,$newParent); - return $result = $categlib->remove_category($ws_id); - } - - // Add an object to a WS - function add_ws_object ($ws_id,$object_id,$type) - { - return $result = $categlib->categorize_any($type, $object_id, $ws_id ); - } - - // Remove an object from a WS - function remove_ws_object ($ws_id,$object_id) - { - return $result = $categlib->remove_object_from_category($object_id, $ws_id); - } - - // Add a group into a WS - function add_ws_group ($ws_id,$groupname) - { - return $result = $userslib -> assign_object_permission($groupname,$ws_id,'Workspace','tiki_p_ws_view'); - } - - //Get the groups that have access in a WS - function get_ws_groups ($ws_id) - { - $objectId = md5($objectType . strtolower($objectId)); - $query = "select `groupName` from `users_objectpermissions` where `permName`=? and `objectId`=?"; - $bindvars = array('tiki_p_ws_view', $objectType); - $result = $this->query($query, $bindvars); - $ret = array(); +include_once 'lib/categories/categlib.php'; - while ($res = $result->fetchRow()) - { - $ret[] = $res; - } - return $ret; +/** + * wslib + * + * @category TikiWiki + * @package lib/workspaces + * @version $Id + */ +class wslib extends CategLib +{ + function init_ws(){ + } } - - Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-29 13:35:15 UTC (rev 19849) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-29 14:25:19 UTC (rev 19850) @@ -4,15 +4,11 @@ /* Workspaces GUI Management */ require_once ('tiki-setup.php'); $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); +require_once ('lib/workspaces/wsController.php'); -//include_once ('lib/workspaces/wsGuiParser.php'); +$wsGui = new wsGuiController(); +$wsGui->checkIfNewToWS(); -//We load the wsGuiParser for controlling the major actions the user -//can make in this page -//$wsGui = new wsGuiParser(); -//So we starting checking if the user first time using Workspaces -//$wsGui->checkIfNewToWS(); ask_ticket('admin-inc-workspaces'); - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-30 07:46:08
|
Revision: 19855 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19855&view=rev Author: axold Date: 2009-06-30 07:46:04 +0000 (Tue, 30 Jun 2009) Log Message: ----------- [MOD] Now is working the function exist_ws_child in wslib Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/lib/workspaces/wslib.php branches/experimental/ws/tiki-admin_include_workspaces.php Property Changed: ---------------- branches/experimental/ws/lib/workspaces/ Property changes on: branches/experimental/ws/lib/workspaces ___________________________________________________________________ Added: svn:ignore + .wsController.php.swp .wslib.php.swp Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-06-29 22:14:09 UTC (rev 19854) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 07:46:04 UTC (rev 19855) @@ -30,7 +30,7 @@ */ class wsGuiController { - function checkIfNewToWS() + public function checkIfNewToWS() { global $prefs, $tikilib; if ($prefs['new_to_ws'] == 'y') @@ -43,5 +43,12 @@ $tikilib->set_preference('new_to_ws', 'n'); } } + + public function prueba() + { + global $tikilib; + $ws = new wslib(); + $ws->exist_ws_child("Circuitos electricos 2", '0'); + } } Modified: branches/experimental/ws/lib/workspaces/wslib.php =================================================================== --- branches/experimental/ws/lib/workspaces/wslib.php 2009-06-29 22:14:09 UTC (rev 19854) +++ branches/experimental/ws/lib/workspaces/wslib.php 2009-06-30 07:46:04 UTC (rev 19855) @@ -36,8 +36,24 @@ parent::CategLib($dbTiki); } - function init_ws($name) + public function init_ws($name) { return parent::add_category(0, $name, 'Workspaces Container'); } + + public function add_ws($name, $parentWS) + { + global $prefs; + $wsContainerId = (int) $prefs['ws_container']; + return parent::add_category($wsContainerId, $name, $parentWS); + } + + public function exist_ws_child($name, $parentWS) + { + global $prefs; + $query = "select `categId` from `tiki_categories` where `name`=? and `description`=? and `parentId`=?"; + $wsContainerId = (int) $prefs['ws_container']; + $bindvars = array($name, $parentWS, $wsContainerId); + return $this->getOne($query, $bindvars); + } } Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-29 22:14:09 UTC (rev 19854) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 07:46:04 UTC (rev 19855) @@ -8,7 +8,6 @@ $wsGui = new wsGuiController(); $wsGui->checkIfNewToWS(); +$wsGui->prueba(); - - ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-30 08:00:25
|
Revision: 19856 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19856&view=rev Author: axold Date: 2009-06-30 08:00:23 +0000 (Tue, 30 Jun 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19840 to 19854 Modified Paths: -------------- branches/experimental/ws/lib/core/lib/Multilingual/MachineTranslation/GoogleTranslateWrapper.php branches/experimental/ws/lib/core/test/Multilingual/MachineTranslation/GoogleTranslateWrapperTest.php branches/experimental/ws/lib/profilelib/installlib.php branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/templates/tiki-admin-include-i18n.tpl branches/experimental/ws/templates/tiki-admin-include-look.tpl branches/experimental/ws/templates/tiki.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Property Changed: ---------------- branches/experimental/ws/ branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php branches/experimental/ws/lib/jquery/ branches/experimental/ws/lib/jquery/cluetip/ branches/experimental/ws/lib/jquery/jquery-autocomplete/ branches/experimental/ws/lib/jquery/reflection-jquery/ branches/experimental/ws/lib/jquery/superfish/ branches/experimental/ws/lib/jquery_tiki/ branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php branches/experimental/ws/styles/strasa/options/mono/pics/ Property changes on: branches/experimental/ws ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 /trunk:19726-19748 + /branches/3.0:16998-18473 /branches/experimental/declfilter:15787-16031 /branches/experimental/ui-revamp2:16728-16731,16999-17002 /trunk:19726-19748,19841-19854 Property changes on: branches/experimental/ws/installer/schema/20081125_tiki_tracker_types_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 /trunk/installer/schema/20081125_tiki_tracker_types_tiki.sql:19726-19748 + /branches/3.0/installer/schema/20081125_tiki_tracker_types.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20081125_tiki_tracker_types.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20081125_tiki_tracker_types.sql:16728-16731,16999-17002 /trunk/installer/schema/20081125_tiki_tracker_types_tiki.sql:19726-19748,19841-19854 Property changes on: branches/experimental/ws/installer/schema/20090513_calendar_priority_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_calendar_priority_tiki.sql:19726-19748 + /branches/3.0/installer/schema/20090513_calendar_priority.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_calendar_priority.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_calendar_priority.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_calendar_priority_tiki.sql:19726-19748,19841-19854 Property changes on: branches/experimental/ws/installer/schema/20090513_wiki_similar_permission_tiki.sql ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_wiki_similar_permission_tiki.sql:19726-19748 + /branches/3.0/installer/schema/20090513_wiki_similar_permission.sql:16998-18916 /branches/experimental/declfilter/installer/schema/20090513_wiki_similar_permission.sql:15787-16031 /branches/experimental/ui-revamp2/installer/schema/20090513_wiki_similar_permission.sql:16728-16731,16999-17002 /trunk/installer/schema/20090513_wiki_similar_permission_tiki.sql:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/BilingualAligner.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:19726-19748 + /branches/3.0/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAligner.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/BilingualAligner.php:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:19726-19748 + /branches/3.0/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentor.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/SentenceSegmentor.php:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:19726-19748 + /branches/3.0/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/ShortestPathFinder.php:15787-16031 /trunk/lib/core/lib/Multilingual/Aligner/ShortestPathFinder.php:19726-19748,19841-19854 Modified: branches/experimental/ws/lib/core/lib/Multilingual/MachineTranslation/GoogleTranslateWrapper.php =================================================================== --- branches/experimental/ws/lib/core/lib/Multilingual/MachineTranslation/GoogleTranslateWrapper.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/lib/core/lib/Multilingual/MachineTranslation/GoogleTranslateWrapper.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -11,7 +11,15 @@ var $source_lang; var $target_lang; var $google_ajax_url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0"; + var $wiki_markup = array ("(===)"); +// var $wiki_markup = array( +// "(___)", "(::)", "(~~\w+:)", "(~~)", "(\")", "(-+)","(+-)", "(===)", "(\^)", "(\{[^\{\}]\})", "(--)", +// "(~(\/)?np~)", "(\*)", "(-=)", "(=-)"); + var $escape_untranslatable_strings = "<span class='notranslate'> $0 </span>"; + var $notranslate_tag_left = "/(<span class='notranslate'>(.*)<\/span>\s)/U"; + var $notranslate_tag_right = "/(\s<span class='notranslate'>(.*)<\/span>)/U"; + function __construct ($source_lang, $target_lang) { $this->source_lang = $source_lang; $this->target_lang = $target_lang; @@ -20,6 +28,7 @@ function translateText($text) { $langpair = $this->source_lang."|".$this->target_lang; + $text = $this->escape_untranslatable_text($text); $urlencoded_text = urlencode($text); $result = ""; $chunks = array(); @@ -34,6 +43,7 @@ $ii++; } } + $result = $this->remove_notranslate_tags($result); return trim($result); } @@ -79,4 +89,14 @@ return $chunks; } + + function escape_untranslatable_text($text) { + return preg_replace($this->wiki_markup, $this->escape_untranslatable_strings, $text); + } + + function remove_notranslate_tags($text){ + $text = preg_replace($this->notranslate_tag_left,'$2',$text); + $text = preg_replace($this->notranslate_tag_right,'$2',$text); + return $text; + } } Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/AllTests.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/AllTests.php:19726-19748 + /branches/3.0/lib/core/test/Multilingual/Aligner/AllTests.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/AllTests.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/AllTests.php:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:19726-19748 + /branches/3.0/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/BilingualAlignerTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/BilingualAlignerTest.php:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:19726-19748 + /branches/3.0/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:16998-18916 /branches/experimental/declfilter/lib/multilingual/SentenceSegmentorTest.php:15787-16031 /trunk/lib/core/test/Multilingual/Aligner/SentenceSegmentorTest.php:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:19726-19748 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 + /branches/3.0/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:16998-18916 /trunk/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:19726-19748,19841-19854 /trunk/tiki/lib/core/test/Multilingual/Aligner/ShortestPathFinderTest.php:4-9737 Modified: branches/experimental/ws/lib/core/test/Multilingual/MachineTranslation/GoogleTranslateWrapperTest.php =================================================================== --- branches/experimental/ws/lib/core/test/Multilingual/MachineTranslation/GoogleTranslateWrapperTest.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/lib/core/test/Multilingual/MachineTranslation/GoogleTranslateWrapperTest.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -59,6 +59,24 @@ $this->assertEquals(trim(str_repeat("Niente al mondo è mai completamente sbagliato; fermato anche un orologio è giusto due volte al giorno. ",24)), $translation, "The translation was not correct for text of 1800 chars."); } + public function test_This_is_how_you_translate_some_text2() { + $text = "split"; + $translation = $this->translator->translateText($text); + $this->assertEquals("dividere", $translation, "The translation was not correct for text: $text."); + } + +// public function test_This_is_how_you_tell_Google_not_to_translate_some_wiki_plugin_markup() { +// $text = "<span class='notranslate'>{SPLIT}</span>"; +// $translation = $this->translator->translateText($text); +// $this->assertEquals("<span class='notranslate'>{SPLIT}</span>", $translation, "The translation was not correct for text: $text."); +// } +//TODO: test all possible wiki markup + public function test_This_is_how_you_tell_Google_not_to_translate_some_wiki_syntax() { + $text = "===Hello==="; + $translation = $this->translator->translateText($text); + $this->assertEquals("===Ciao===", $translation, "The translation was not correct for text: $text."); + } + } Property changes on: branches/experimental/ws/lib/jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 /trunk/lib/jquery:19726-19748 + /branches/3.0/lib/jquery:17151-18916 /branches/experimental/jquery/lib/jquery:16288-16292 /trunk/lib/jquery:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/jquery/cluetip ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/cluetip:17063-18916 /trunk/lib/jquery/cluetip:19726-19748 + /branches/3.0/lib/jquery/cluetip:17063-18916 /trunk/lib/jquery/cluetip:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/jquery/jquery-autocomplete ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 /trunk/lib/jquery/jquery-autocomplete:19726-19748 + /branches/3.0/lib/jquery/jquery-autocomplete:17063-18916 /trunk/lib/jquery/jquery-autocomplete:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/jquery/reflection-jquery ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/reflection-jquery:17063-18916 /trunk/lib/jquery/reflection-jquery:19726-19748 + /branches/3.0/lib/jquery/reflection-jquery:17063-18916 /trunk/lib/jquery/reflection-jquery:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/jquery/superfish ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery/superfish:17063-18916 /trunk/lib/jquery/superfish:19726-19748 + /branches/3.0/lib/jquery/superfish:17063-18916 /trunk/lib/jquery/superfish:19726-19748,19841-19854 Property changes on: branches/experimental/ws/lib/jquery_tiki ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 /trunk/lib/jquery_tiki:19726-19748 + /branches/3.0/lib/jquery_tiki:17151-18916 /branches/experimental/jquery/lib/jquery_tiki:16288-16292 /trunk/lib/jquery_tiki:19726-19748,19841-19854 Modified: branches/experimental/ws/lib/profilelib/installlib.php =================================================================== --- branches/experimental/ws/lib/profilelib/installlib.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/lib/profilelib/installlib.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -22,6 +22,7 @@ 'article_type' => 'Tiki_Profile_InstallHandler_ArticleType', 'article' => 'Tiki_Profile_InstallHandler_Article', 'forum' => 'Tiki_Profile_InstallHandler_Forum', + 'template' => 'Tiki_Profile_InstallHandler_Template', ); private static $typeMap = array( @@ -1818,6 +1819,58 @@ } } // }}} +class Tiki_Profile_InstallHandler_Template extends Tiki_Profile_InstallHandler // {{{ +{ + function getData() + { + if( $this->data ) + return $this->data; + + $defaults = array( + 'sections' => array( 'wiki page' ), + ); + + $data = array_merge( + $defaults, + $this->obj->getData() + ); + + $data = Tiki_Profile::convertYesNo( $data ); + + return $this->data = $data; + } + + function canInstall() + { + $data = $this->getData(); + if( ! isset( $data['name'] ) ) + return false; + if( ! isset( $data['content'] ) ) + return false; + if( ! isset( $data['sections'] ) || ! is_array( $data['sections'] ) ) + return false; + + return true; + } + + function _install() + { + global $templateslib; + if( ! $templateslib ) require_once 'lib/templates/templateslib.php'; + + $data = $this->getData(); + + $this->replaceReferences( $data ); + + $templateId = $templateslib->replace_template( null, $data['name'], $data['content'] ); + foreach( $data['sections'] as $section ) { + $templateslib->add_template_to_section( $templateId, $section ); + } + + return $templateId; + } +} // }}} + interface Tiki_Profile_Converter { function convert( $value ); Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -1382,7 +1382,6 @@ //workspaces 'feature_workspaces' => 'n', - 'new_to_ws' => 'y', 'ws_container_id' => null, 'ws_container_name' => null, ); Property changes on: branches/experimental/ws/lib/wiki-plugins/wikiplugin_mediaplayer.php ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/lib/wiki-plugins/wikiplugin_mediaplayer.php:19726-19748 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 + /branches/3.0/lib/wiki-plugins/wikiplugin_mediaplayer.php:16998-18916 /trunk/lib/wiki-plugins/wikiplugin_mediaplayer.php:19726-19748,19841-19854 /trunk/tiki/lib/wiki-plugins/wikiplugin_mediaplayer.php:4-9737 Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -30,17 +30,16 @@ */ class wsGuiController { - public function checkIfNewToWS() + public function check_if_new_to_ws() { global $prefs, $tikilib; - if ($prefs['new_to_ws'] == 'y') + if ($prefs['ws_container'] == null) { $currentTime = (string) time(); $hash = md5($currentTime); $ws = new wslib(); $id = $ws->init_ws($hash); $tikilib->set_preference('ws_container', $id); - $tikilib->set_preference('new_to_ws', 'n'); } } Property changes on: branches/experimental/ws/styles/strasa/options/mono/pics ___________________________________________________________________ Modified: svn:mergeinfo - /branches/3.0/styles/strasa/options/mono/pics:18696-18916 /trunk/styles/strasa/options/mono/pics:19726-19748 + /branches/3.0/styles/strasa/options/mono/pics:18696-18916 /trunk/styles/strasa/options/mono/pics:19726-19748,19841-19854 Modified: branches/experimental/ws/templates/tiki-admin-include-i18n.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-i18n.tpl 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/templates/tiki-admin-include-i18n.tpl 2009-06-30 08:00:23 UTC (rev 19856) @@ -86,15 +86,15 @@ <div class="adminoptionbox"> <div class="adminoption"><input type="checkbox" name="show_available_translations" id="show_available_translations" - {if $prefs.show_available_translations eq 'y'}checked="checked" {/if}onclick="flip('langsync');" /></div> - <div class="adminoptionlabel"><label for="show_available_translations">{tr}Display available translations{/tr}.</label> -<div class="adminoptionboxchild" id="langsync" style="display:{if $prefs.show_available_translations eq 'y'}block{else}none{/if};"> + {if $prefs.show_available_translations eq 'y'}checked="checked" {/if} /></div> + <div class="adminoptionlabel"><label for="show_available_translations">{tr}Display available translations{/tr}.</label></div> +</div> + +<div class="adminoptionbox" id="langsync" style="display:{if $prefs.show_available_translations eq 'y'}block{else}none{/if};"> <div class="adminoption"><input type="checkbox" name="feature_sync_language" id="feature_sync_language" {if $prefs.feature_sync_language eq 'y'}checked="checked"{/if}/></div> <div class="adminoptionlabel"><label for="feature_sync_language">{tr}Changing page language will also change the site language{/tr}</label></div> </div> - </div> -</div> <div class="adminoptionbox"> <div class="adminoption"><input type="checkbox" name="feature_translation" id="feature_translation" Modified: branches/experimental/ws/templates/tiki-admin-include-look.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-look.tpl 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/templates/tiki-admin-include-look.tpl 2009-06-30 08:00:23 UTC (rev 19856) @@ -439,7 +439,8 @@ {if $prefs.feature_help eq 'y'}</a>{/if} </legend> <select name="feature_left_column"> - <option value="y" {if $prefs.feature_left_column eq 'y'}selected="selected"{/if}>{tr}always{/tr}</option> + <option value="y" {if $prefs.feature_left_column eq 'y'}selected="selected"{/if}>{tr}only if module{/tr}</option> + <option value="fixed" {if $prefs.feature_left_column eq 'fixed'}selected="selected"{/if}>{tr}always{/tr}</option> <option value="user" {if $prefs.feature_left_column eq 'user'}selected="selected"{/if}>{tr}user decides{/tr}</option> <option value="n" {if $prefs.feature_left_column eq 'n'}selected="selected"{/if}>{tr}never{/tr}</option> </select> @@ -517,7 +518,8 @@ {if $prefs.feature_help eq 'y'}</a>{/if} </legend> <select name="feature_right_column"> - <option value="y" {if $prefs.feature_right_column eq 'y'}selected="selected"{/if}>{tr}always{/tr}</option> + <option value="y" {if $prefs.feature_right_column eq 'y'}selected="selected"{/if}>{tr}only if module{/tr}</option> + <option value="fixed" {if $prefs.feature_right_column eq 'fixed'}selected="selected"{/if}>{tr}always{/tr}</option> <option value="user" {if $prefs.feature_right_column eq 'user'}selected="selected"{/if}>{tr}user decides{/tr}</option> <option value="n" {if $prefs.feature_right_column eq 'n'}selected="selected"{/if}>{tr}never{/tr}</option> </select> Modified: branches/experimental/ws/templates/tiki.tpl =================================================================== --- branches/experimental/ws/templates/tiki.tpl 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/templates/tiki.tpl 2009-06-30 08:00:23 UTC (rev 19856) @@ -30,33 +30,33 @@ {include file='tiki-ajax_header.tpl'} {/if} - {if $prefs.feature_layoutshadows eq 'y'}<div id="main-shadow">{$prefs.main_shadow_start}{/if}<div id="main"> + {if $prefs.feature_layoutshadows eq 'y'}<div id="main-shadow">{eval var=$prefs.main_shadow_start}{/if}<div id="main"> {if ($prefs.feature_fullscreen != 'y' or $smarty.session.fullscreen != 'y') } - {if $prefs.feature_layoutshadows eq 'y'}<div id="header-shadow">{$prefs.header_shadow_start}{/if}<div class="clearfix" id="header"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> + {if $prefs.feature_layoutshadows eq 'y'}<div id="header-shadow">{eval var=$prefs.header_shadow_start}{/if}<div class="clearfix" id="header"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> {* Site header section *} <div class="clearfix" id="siteheader"> {include file='tiki-site_header.tpl'} </div> - </div>{if $prefs.feature_layoutshadows eq 'y'}{$prefs.header_shadow_end}</div>{/if} + </div>{if $prefs.feature_layoutshadows eq 'y'}{eval var=$prefs.header_shadow_end}</div>{/if} {/if} {* New admin top bar for 3.0 *} {include file='tiki-admin_bar.tpl'} - {if $prefs.feature_layoutshadows eq 'y'}<div id="middle-shadow">{$prefs.middle_shadow_start}{/if}<div class="clearfix" id="middle"> + {if $prefs.feature_layoutshadows eq 'y'}<div id="middle-shadow">{eval var=$prefs.middle_shadow_start}{/if}<div class="clearfix" id="middle"> <div class="clearfix {if $prefs.feature_fullscreen != 'y' or $smarty.session.fullscreen != 'y'}nofullscreen{else}fullscreen{/if}" id="c1c2"> <div class="clearfix" id="wrapper"> - <div id="col1" class="{if $prefs.feature_left_column ne 'n' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n'}marginleft{/if}{if $prefs.feature_right_column ne 'n' && $right_modules|@count > 0 && $show_columns.right_modules ne 'n'} marginright{/if}"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> + <div id="col1" class="{if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_left_column ne 'n' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n')}marginleft{/if}{if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_right_column ne 'n' && $right_modules|@count > 0 && $show_columns.right_modules ne 'n')} marginright{/if}"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> {if $smarty.session.fullscreen neq 'y'} {if $prefs.feature_left_column eq 'user' or $prefs.feature_right_column eq 'user'} <div class="clearfix" id="showhide_columns"> - {if $prefs.feature_left_column eq 'user' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n'} + {if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_left_column eq 'user' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n')} <div style="text-align:left;float:left;"> <a class="flip" href="#" onclick="toggleCols('col2','left'); return false">{icon _id=ofolder name="leftcolumnicn" class="colflip" alt="+/-"} {tr}Show/Hide Left Menus{/tr} </a> </div> {/if} - {if $prefs.feature_right_column eq 'user'&& $right_modules|@count > 0 && $show_columns.right_modules ne 'n'} + {if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_right_column eq 'user'&& $right_modules|@count > 0 && $show_columns.right_modules ne 'n')} <div class="clearfix" style="text-align:right;float:right"> <a class="flip" href="#" onclick="toggleCols('col3','right'); return false"> {tr}Show/Hide Right Menus{/tr} {icon _id=ofolder name="rightcolumnicn" class="colflip" alt="+/-"}</a> </div> @@ -72,16 +72,16 @@ </div> {/if} - {if $prefs.feature_layoutshadows eq 'y'}<div id="tiki-center-shadow">{$prefs.center_shadow_start}{/if}<div id="tiki-center" {*id needed for ajax editpage link*} class="clearfix content"> + {if $prefs.feature_layoutshadows eq 'y'}<div id="tiki-center-shadow">{eval var=$prefs.center_shadow_start}{/if}<div id="tiki-center" {*id needed for ajax editpage link*} class="clearfix content"> {$mid_data} {show_help} - </div>{if $prefs.feature_layoutshadows eq 'y'}{$prefs.center_shadow_end}</div>{/if} + </div>{if $prefs.feature_layoutshadows eq 'y'}{eval var=$prefs.center_shadow_end}</div>{/if} </div> </div> {if $prefs.feature_fullscreen != 'y' or $smarty.session.fullscreen != 'y'} <hr class="hidden" />{* for semantic separation of center and side columns *} - {if $prefs.feature_left_column ne 'n' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n'} + {if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_left_column ne 'n' && $left_modules|@count > 0 && $show_columns.left_modules ne 'n')} <div id="col2"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> <h2 class="hidden">Sidebar</h2> <div class="content"> @@ -94,7 +94,7 @@ {/if} </div>{* -- END of c1c2 -- *} {if $prefs.feature_fullscreen != 'y' or $smarty.session.fullscreen != 'y'} - {if $prefs.feature_right_column ne 'n' && $right_modules|@count > 0 && $show_columns.right_modules ne 'n'} + {if $prefs.feature_left_column eq 'fixed' or ($prefs.feature_right_column ne 'n' && $right_modules|@count > 0 && $show_columns.right_modules ne 'n')} <div class="clearfix" id="col3"{if $prefs.feature_right_column eq 'user'} style="display:{if isset($cookie.show_rightcolumn) and $cookie.show_rightcolumn ne 'y'} none{elseif isset($ie6)} block{else} table-cell{/if};"{/if}{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> <h2 class="hidden">Sidebar</h2> <div class="content"> @@ -107,21 +107,21 @@ {/if} {/if} <!--[if IE 7]><br style="clear:both; height: 0" /> <![endif]--> - </div>{* -- END of middle -- *}{if $prefs.feature_layoutshadows eq 'y'}{$prefs.middle_shadow_end}</div>{/if} + </div>{* -- END of middle -- *}{if $prefs.feature_layoutshadows eq 'y'}{eval var=$prefs.middle_shadow_end}</div>{/if} {if $prefs.feature_fullscreen != 'y' or $smarty.session.fullscreen != 'y'} {if $prefs.feature_bot_bar eq 'y'} - {if $prefs.feature_layoutshadows eq 'y'}<div id="footer-shadow">{$prefs.footer_shadow_start}{/if}<div id="footer"> + {if $prefs.feature_layoutshadows eq 'y'}<div id="footer-shadow">{eval var=$prefs.footer_shadow_start}{/if}<div id="footer"> <div class="footerbgtrap"> <div class="content"{if $prefs.feature_bidi eq 'y'} dir="rtl"{/if}> {include file='tiki-bot_bar.tpl'} </div> </div> - </div>{* -- END of footer -- *}{if $prefs.feature_layoutshadows eq 'y'}{$prefs.footer_shadow_end}</div>{/if} + </div>{* -- END of footer -- *}{if $prefs.feature_layoutshadows eq 'y'}{eval var=$prefs.footer_shadow_end}</div>{/if} {/if} {/if} - </div>{* -- END of main -- *}{if $prefs.feature_layoutshadows eq 'y'}{$prefs.main_shadow_end}</div>{/if} + </div>{* -- END of main -- *}{if $prefs.feature_layoutshadows eq 'y'}{eval var=$prefs.main_shadow_end}</div>{/if} {include file='footer.tpl'} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 07:46:04 UTC (rev 19855) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 08:00:23 UTC (rev 19856) @@ -7,7 +7,7 @@ require_once ('lib/workspaces/wsController.php'); $wsGui = new wsGuiController(); -$wsGui->checkIfNewToWS(); +$wsGui->check_if_new_to_ws(); $wsGui->prueba(); ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <man...@us...> - 2009-06-30 09:48:19
|
Revision: 19857 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19857&view=rev Author: mangapower Date: 2009-06-30 09:48:17 +0000 (Tue, 30 Jun 2009) Log Message: ----------- [MOD] init_ws, add_ws, remove_ws, add_ws_object, remove_ws_object, get_ws_id are working properly. Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wslib.php branches/experimental/ws/tiki-admin_include_workspaces.php Added Paths: ----------- branches/experimental/ws/lib/workspaces/wstools/ branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php Modified: branches/experimental/ws/lib/workspaces/wslib.php =================================================================== --- branches/experimental/ws/lib/workspaces/wslib.php 2009-06-30 08:00:23 UTC (rev 19856) +++ branches/experimental/ws/lib/workspaces/wslib.php 2009-06-30 09:48:17 UTC (rev 19857) @@ -30,30 +30,77 @@ */ class wslib extends CategLib { - function __construct() - { - global $dbTiki; - parent::CategLib($dbTiki); - } + function __construct() + { + global $dbTiki; + parent::CategLib($dbTiki); + } - public function init_ws($name) - { - return parent::add_category(0, $name, 'Workspaces Container'); - } - - public function add_ws($name, $parentWS) - { - global $prefs; - $wsContainerId = (int) $prefs['ws_container']; - return parent::add_category($wsContainerId, $name, $parentWS); - } - - public function exist_ws_child($name, $parentWS) - { - global $prefs; - $query = "select `categId` from `tiki_categories` where `name`=? and `description`=? and `parentId`=?"; - $wsContainerId = (int) $prefs['ws_container']; - $bindvars = array($name, $parentWS, $wsContainerId); - return $this->getOne($query, $bindvars); - } + // This function will set a container for WS in the category table and return its ID + function init_ws($name) + { + return parent::add_category(0, $name, 'Workspaces Container'); + } + + // Get the name and its parent WS and create a new WS (NOTE: parentID = WSContainerID) + function add_ws ($name, $parentWS) + { + global $prefs; + $wsContainerId = (int) $prefs['ws_container']; + return parent::add_category($wsContainerId,$name,(string) $parentWS); + } + + // Remove a WS + function remove_ws ($ws_id) + { +/* + $newParent = parent::get_category_description($ws_id); + // All its sub-workspaces will level up + $query = "update `tiki_categories` set `description` = replace (`description`,?,?)"; + $levelup = query($query,array((string)$ws_id,$newParent); +*/ + $newParent = parent::get_category_description($ws_id); + parent::remove_category($ws_id); + return $newParent; + } + + // Add an object to a WS + function add_ws_object ($ws_id,$itemId,$type) + { + return parent::categorize_any($type, $itemId, $ws_id ); + } + + // Remove an object from a WS + function remove_ws_object ($ws_id,$ws_ObjectId) + { + return parent::remove_object_from_category($ws_ObjectId, $ws_id); + } + + /* + public function exist_ws_child($name, $parentWS) + { + global $prefs; + $query = "select `categId` from `tiki_categories` where `name`=? and `description`=? and `parentId`=?"; + $wsContainerId = (int) $prefs['ws_container']; + $bindvars = array($name, $parentWS, $wsContainerId); + return $this->getOne($query, $bindvars); + } + */ + + public function get_ws_id($name, $parentWS) + { + global $prefs; + $query = "select `categId` from `tiki_categories` where `name`=? and `description`=? and `parentId`=?"; + $wsContainerId = (int) $prefs['ws_container']; + $bindvars = array($name, $parentWS, $wsContainerId); + return $this->getOne($query, $bindvars); + } + + // Add a group into a WS + function add_ws_group ($ws_id,$groupname) + { + global $userlib; + return $userslib->assign_object_permission($groupname,$ws_id,'Workspace','tiki_p_ws_view'); + } + } Added: branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php =================================================================== --- branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php (rev 0) +++ branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php 2009-06-30 09:48:17 UTC (rev 19857) @@ -0,0 +1,13 @@ +<?php +require_once('../../../tiki-setup.php'); + +include_once('lib/workspaces/wslib.php'); + +$ws = new wslib(); + + $id = $ws->get_ws_id('WS0','6'); + var_dump($id); + if (!$id) + var_dump($ws->add_ws('WS0',6)); + else + var_dump($ws->add_ws('WS01',6)); \ No newline at end of file Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 08:00:23 UTC (rev 19856) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 09:48:17 UTC (rev 19857) @@ -10,4 +10,4 @@ $wsGui->check_if_new_to_ws(); $wsGui->prueba(); -ask_ticket('admin-inc-workspaces'); +ask_ticket('admin-inc-workspaces'); \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-30 11:05:02
|
Revision: 19858 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19858&view=rev Author: axold Date: 2009-06-30 11:05:00 +0000 (Tue, 30 Jun 2009) Log Message: ----------- [MOD] Created the basic container for the workpsaces development admin Modified Paths: -------------- branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-06-30 09:48:17 UTC (rev 19857) +++ branches/experimental/ws/lib/setup/prefs.php 2009-06-30 11:05:00 UTC (rev 19858) @@ -1382,7 +1382,7 @@ //workspaces 'feature_workspaces' => 'n', - 'ws_container_id' => null, + 'ws_container' => null, 'ws_container_name' => null, ); Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 09:48:17 UTC (rev 19857) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 11:05:00 UTC (rev 19858) @@ -40,7 +40,10 @@ $ws = new wslib(); $id = $ws->init_ws($hash); $tikilib->set_preference('ws_container', $id); + return true; } + else + return false; } public function prueba() Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-30 09:48:17 UTC (rev 19857) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-30 11:05:00 UTC (rev 19858) @@ -1,2 +1,44 @@ {* $Id: $ *} +{*if $welcome*} +{remarksbox type="info" title="{tr}Welcome{/tr}"} +{tr}You have enabled succesfully Workspaces in TikiWiki. This feature is +in heavily development, so don't expect to work properly. If you want to +get more info, please go to {/tr} <a class="rbox-link" +href="http://dev.tikiwiki.org/workspace">{tr}Workspaces page{/tr}</a>. +<hr /> +{tr}Things you can do currently: <br /> +<ul> +<li>In the Test Tab you can view the Workspaces and its items.</li> +<li>In the Video Demo Tab you can view a few screencast explanining different things related to Workspaces</li> +<li>In the Workspaces Dev Tools Tab, you can initiate (and other stuff) a set of Workspaces for quick look.</li> +</ul> +<strong>All sections listed here, are only during the development phase!</strong>{/tr} +{/remarksbox} +{*/if*} + +<div class="cbox"> +<form action="tiki-admin.php?page=fgal" method="post"> + +{tabset name="fgal_admin"} + {tab name="{tr}Test{/tr}"} + +<input type="hidden" name="filegalfeatures" /> + +<fieldset><legend>{tr}Info{/tr}</legend> + +</fieldset> + + +{/tab} + +{tab name="{tr}Demo{/tr}"} + +{/tab} + +{tab name="{tr}Workspaces Dev Tools{/tr}"} +{/tab} +{/tabset} + +</form> +</div> Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 09:48:17 UTC (rev 19857) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 11:05:00 UTC (rev 19858) @@ -7,7 +7,10 @@ require_once ('lib/workspaces/wsController.php'); $wsGui = new wsGuiController(); -$wsGui->check_if_new_to_ws(); -$wsGui->prueba(); -ask_ticket('admin-inc-workspaces'); \ No newline at end of file +//if ($wsGui->check_if_new_to_ws()) +// $smarty->assign("welcome", true); + +//$wsGui->prueba(); + +ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-06-30 16:11:18
|
Revision: 19866 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19866&view=rev Author: axold Date: 2009-06-30 16:11:12 +0000 (Tue, 30 Jun 2009) Log Message: ----------- [MOD] Added more optiones to the workspaces gui panel Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 15:44:29 UTC (rev 19865) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-06-30 16:11:12 UTC (rev 19866) @@ -45,12 +45,5 @@ else return false; } - - public function prueba() - { - global $tikilib; - $ws = new wslib(); - $ws->get_ws_id("Circuitos electricos 2", '0'); - } } Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-30 15:44:29 UTC (rev 19865) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-06-30 16:11:12 UTC (rev 19866) @@ -10,7 +10,7 @@ {tr}Things you can do currently: <br /> <ul> <li>In the Test Tab you can view the Workspaces and its items.</li> -<li>In the Video Demo Tab you can view a few screencast explanining different things related to Workspaces</li> +<li>In the Video Tab you can view a few screencast explanining different things related to Workspaces (soon).</li> <li>In the Workspaces Dev Tools Tab, you can initiate (and other stuff) a set of Workspaces for quick look.</li> </ul> <strong>All sections listed here, are only during the development phase!</strong>{/tr} @@ -25,18 +25,39 @@ <input type="hidden" name="filegalfeatures" /> -<fieldset><legend>{tr}Info{/tr}</legend> -</fieldset> {/tab} -{tab name="{tr}Demo{/tr}"} - +{tab name="{tr}Video{/tr}"} +<div class="adminoptionbox"> +<ul> +<li>Some useful videos: <br /></li> +</ul> +</div> {/tab} {tab name="{tr}Workspaces Dev Tools{/tr}"} +<fieldset><legend>{tr}Info{/tr}</legend> +<div class="adminoptionbox"> +<ul> +<li>Status: {if $prefs.feature_workspaces eq 'y'} <strong>Workspaces are enabled</strong> {else}<strong>Workspaces are disabled</strong>{/if}</li> +<li>Workspaces Container Id: {$prefs.ws_container}</li> +</ul> +</div> +</fieldset> +<fieldset><legend>{tr}Script Creator{/tr}</legend> +<div class="adminoptionbox"> +<input type="radio" id="wscreate" name="wsdevtools" value="n" checked="checked" /><label for="wscreate">{tr}Make a set of Workspaces, and some items inside it{/tr}.</label> +</div> +<div class="adminoptionbox"> +<input type="radio" id="wsdelete" name="wsdevtools" value="n" /><label for="wsdelete">{tr}Delete all Workspaces created before{/tr}.</label> +</div> +</fieldset> +<div class="adminoptionbox"> + <div class="adminoptionlabel"><div align="center"><input type="submit" name="wsoptions" value="{tr}Apply{/tr}"/></div></div> +</div> {/tab} {/tabset} Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 15:44:29 UTC (rev 19865) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-06-30 16:11:12 UTC (rev 19866) @@ -8,9 +8,6 @@ $wsGui = new wsGuiController(); -//if ($wsGui->check_if_new_to_ws()) -// $smarty->assign("welcome", true); - -//$wsGui->prueba(); +$wsGui->check_if_new_to_ws(); ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <man...@us...> - 2009-07-01 13:24:27
|
Revision: 19875 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19875&view=rev Author: mangapower Date: 2009-07-01 12:34:29 +0000 (Wed, 01 Jul 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19854 to 19872 Modified Paths: -------------- branches/experimental/ws/doc/devtools/release.php branches/experimental/ws/lib/wiki-plugins/wikiplugin_trackerlist.php branches/experimental/ws/templates/tiki-objectpermissions.tpl branches/experimental/ws/templates/tiki-send_newsletters.tpl branches/experimental/ws/templates/tiki-user_preferences.tpl branches/experimental/ws/templates/tiki-webmail_contacts.tpl branches/experimental/ws/tiki-objectpermissions.php branches/experimental/ws/tiki-send_newsletters.php Modified: branches/experimental/ws/doc/devtools/release.php =================================================================== --- branches/experimental/ws/doc/devtools/release.php 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/doc/devtools/release.php 2009-07-01 12:34:29 UTC (rev 19875) @@ -851,6 +851,8 @@ HOWTO release Tiki -------------------------- +0/ When branching for 4.x, call it branches/4.x to be clearer than branches/3.0, because branches/4.x is indeed 4.1, 4.2, etc. + 1/ Preliminary manual tasks - run the tiki installer and correct anything obviously wrong - the "function update_readme_file" in this script will output to the top-level README: Modified: branches/experimental/ws/lib/wiki-plugins/wikiplugin_trackerlist.php =================================================================== --- branches/experimental/ws/lib/wiki-plugins/wikiplugin_trackerlist.php 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/lib/wiki-plugins/wikiplugin_trackerlist.php 2009-07-01 12:34:29 UTC (rev 19875) @@ -463,6 +463,9 @@ } elseif ($exactvalue == '#user') { $exactvalue = $user; } + if (!empty($_REQUEST['itemId'])) { + $itemId = $_REQUEST['itemId']; + } if (isset($itemId)) { if (strstr($itemId, ':')) Modified: branches/experimental/ws/templates/tiki-objectpermissions.tpl =================================================================== --- branches/experimental/ws/templates/tiki-objectpermissions.tpl 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/templates/tiki-objectpermissions.tpl 2009-07-01 12:34:29 UTC (rev 19875) @@ -4,21 +4,15 @@ <div class="navbar"> {button href="$referer" _text="{tr}Back{/tr}"} + {button href="tiki-list_object_permissions.php" _text="{tr}Object Permissions List{/tr}"} </div> -{if $prefs.feature_tabs eq 'y'} - <div class="tabs" style="clear: both;"> - <span id="tab1" class="tabmark tabactive"><a href="javascript:tikitabs(1,3);">{tr}View Permissions{/tr}</a></span> - {if $prefs.feature_quick_object_perms eq 'y'} - <span id="tab2" class="tabmark tabinactive"><a href="javascript:tikitabs(2,3);">{tr}Edit Permissions (Quick!){/tr}</a></span> - {/if} - <span id="tab3" class="tabmark tabinactive"><a href="javascript:tikitabs(3,3);">{tr}Edit Permissions{/tr}</a></span> - </div> -{/if} +{tabset name='tabs_objectpermissions'} -<fieldset {if $prefs.feature_tabs eq 'y'}id="content1" class="tabcontent" style="clear:both;display:block; margin-left: 0;"{/if}> +{tab name='{tr}View Permissions{/tr}'} + {if $prefs.feature_tabs neq 'y'} - <legend class="heading"><a href="#"><span>{tr}View Permissions{/tr}</span></a></legend> + <h2>{tr}View Permissions{/tr}</h2> {/if} {if $filegals_manager eq ''} {remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> @@ -35,12 +29,13 @@ {section name=pg loop=$page_perms} <tr> <td class="{cycle advance=false}" title="{$page_perms[pg].permName}">{$page_perms[pg].permName|escape}<br /><i>{tr}{$page_perms[pg].permDesc|escape}{/tr}</i></td> -<td class="{cycle advance=false}">{$page_perms[pg].groupName}</td> +<td class="{cycle advance=false}">{if $page_perms[pg].groupName eq $prefs.trackerCreatorGroupName}<i>{tr}Creator Group{/tr}</i>{assign var=commentCreatorGroup value="y"}{else}{$page_perms[pg].groupName|escape}{/if}</td> </tr> {sectionelse} <tr><td colspan="4" class="odd">{if !empty($categ_perms)}{tr}No individual permissions, category permissions apply{/tr}{else}{tr}No individual permissions, category permissions apply{/tr}{/if}</td></tr> {/section} </table> +{if isset($commentCreatorGroup) && $commentCreatorGroup eq 'y'}{remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}Creator group perms apply only if no tiki_p_view_trackers{/tr}{/remarksbox}{/if} <br/> @@ -68,14 +63,14 @@ <tr><td colspan="3">{if empty($page_perms)}{tr}No category permissions; global permissions apply{/tr}{else}{tr}No category permissions; special permissions apply{/tr}{/if}</td></tr> {/section} </table> -</fieldset> +{/tab} +{tab name='{tr}Edit Permissions{/tr}'} -<fieldset {if $prefs.feature_tabs eq 'y'}id="content3" class="tabcontent" style="clear:both;display:block; margin-left:0;"{/if}> {if $prefs.feature_tabs neq 'y'} - <legend class="heading"><a href="#"><span>{tr}Edit Permissions{/tr}</span></a></legend> + <h2>{tr}Edit Permissions{/tr}</h2> {/if} -<form name="allperms" method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> +<form method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> {if $filegals_manager eq ''} {remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> {if $tiki_p_admin eq 'y'}{tr}To edit global permissions <a class="rbox-link" href="tiki-admingroups.php">click here</a>.{/tr}{/if} @@ -84,7 +79,12 @@ <h2>{tr}Current permissions for this object{/tr}</h2> <table class="normal"> <tr> - <th colspan="2">{tr}Permissions{/tr}</th> + <th> + {if $page_perms} + {select_all checkbox_names='checked[]'} + {/if} + </th> + <th>{tr}Permissions{/tr}</th> <th>{tr}Groups{/tr}</th> <th style="width:20px">{tr}Action{/tr}</th> </tr> @@ -98,27 +98,23 @@ {$page_perms[pg].permName|escape}<br /><i>{tr}{$page_perms[pg].permDesc|escape}{/tr}</i> </td> <td class="{cycle advance=false}"> - {$page_perms[pg].groupName} + {if $page_perms[pg].groupName eq $prefs.trackerCreatorGroupName}<i>{tr}Creator Group{/tr}</i>{else}{$page_perms[pg].groupName|escape}{/if} </td> <td class="{cycle advance=true}"><a class="link" href="tiki-objectpermissions.php?referer={$referer|escape:"url"}&action=remove&objectName={$objectName}&objectId={$objectId}&objectType={$objectType}&permType={$permType}&page={$page|escape:"url"}&perm={$page_perms[pg].permName}&group={$page_perms[pg].groupName}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" title="{tr}Delete{/tr}">{icon _id='cross' alt="{tr}Delete{/tr}"}</a></td></tr> {sectionelse} <tr><td colspan="4" class="odd">{if !empty($categ_perms)}{tr}No individual permissions, category permissions apply{/tr}{else}{tr}No individual permissions, category permissions apply{/tr}{/if}</td></tr> {/section} +</table> + {if $page_perms} -<tr> - <td colspan="3"> - <input type="checkbox" id="clickall" title="{tr}Select All{/tr}" onclick="switchCheckboxes(this.form,'checked[]',this.checked)"/> {tr}Select All{/tr} - </td> -</tr> + <div> + {tr}Perform action with checked:{/tr} + <input type="image" name="delsel" src='pics/icons/cross.png' alt='{tr}Delete{/tr}' title='{tr}Delete{/tr}' /> + {if isset($inStructure)} + {tr}and also to all pages of the sub-structure:{/tr} <input name="removestructure" type="checkbox" /> + {/if} + </div> {/if} -</table> -{if $page_perms}<div> -{tr}Perform action with checked:{/tr} -<input type="image" name="delsel" src='pics/icons/cross.png' alt='{tr}Delete{/tr}' title='{tr}Delete{/tr}' /> -{if isset($inStructure)} -{tr}and also to all pages of the sub-structure:{/tr} <input name="removestructure" type="checkbox" /> -{/if} -</div>{/if} <br/> @@ -139,40 +135,38 @@ <th>{tr}Permissions{/tr}</th> <th>{tr}Groups{/tr}</th> </tr> - <tr> - <td> - <table width="100%"> - {cycle print=false values="even,odd"} - {section name=prm loop=$perms} - <tr class="{cycle advance=true}"> - <td class="{cycle advance=false}" title="{$perms[prm].permName|escape}"> - <input type="checkbox" name="perm[]" id="{$perms[prm].permName}" value="{$perms[prm].permName|escape}" title="{$perms[prm].permName|escape}"/> - </td> - <td class="{cycle advance=false}"> - {$perms[prm].permName|escape} - </td> - <td class="{cycle advance=false}"> - <div class="subcomment">{tr}{$perms[prm].permDesc|escape}{/tr}</div> - </td> - </tr> - {/section} - </table> - </td> - <td> - <table width="100%"> - {cycle print=false values="even,odd"} - {section name=grp loop=$groups} - <tr class="{cycle advance=true}"> - <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$groups[grp].groupName|escape}" {if $groupName eq $groups[grp].groupName }checked{/if}/> {$groups[grp].groupName|escape} - </td> - </tr> - {/section} - </table> - </td> - </tr> +<tr> +<td><table width="100%"> +{cycle print=false values="even,odd"} +{section name=prm loop=$perms} +<tr class="{cycle advance=true}"> + <td class="{cycle advance=false}" title="{$perms[prm].permName|escape}"> + <input type="checkbox" name="perm[]" value="{$perms[prm].permName|escape}" title="{$perms[prm].permName|escape}"/> + </td> + <td class="{cycle advance=false}"> + {$perms[prm].permName|escape} + </td> + <td class="{cycle advance=false}"> + <div class="subcomment">{tr}{$perms[prm].permDesc|escape}{/tr}</div> + </td> + </tr> +{/section} +</table></td> +<td><table width="100%"> +{cycle print=false values="even,odd"} +{section name=grp loop=$groups} +<tr class="{cycle advance=true}"> + <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$groups[grp].groupName|escape}" {if $groupName eq $groups[grp].groupName }checked{/if}/> {$groups[grp].groupName|escape}</td></tr> +{/section} +{if $group_tracker eq 'y'} +<tr class="{cycle advance=true}"><td><hr /></td></tr> +<tr class="{cycle advance=true}"> + <td class="{cycle advance=false}"><input type="checkbox" name="group[]" value="{$prefs.trackerCreatorGroupName}" {if isset($groupName) and $grouName eq $prefs.trackerCreatorGroupName}checked{/if}/> <i>{tr}Creator Group{/tr}</i></td> +</tr> +{/if} +</table></td></tr> </table> - - <div class="input_submit_container" style="text-align: center"> +<div class="input_submit_container" style="text-align: center"> <input type="submit" name="assign" value="{tr}Assign{/tr}" /> </div> {if ($objectType eq 'wiki' or $objectType eq 'wiki page') and !empty($inStructure)} @@ -190,90 +184,7 @@ {/section} </table> -{* <a class="trailer" href="#" {popup sticky=true fullhtml="1" hauto=true vauto=true text=$smarty.capture.add_perm|escape:"javascript"|escape:"html" trigger=onClick} >{tr}Add new Permissions{/tr}</a> *} </div> </form> - - -</fieldset> - -{if $prefs.feature_quick_object_perms eq 'y'} - - -{* Example for implementing Wisent permissions, clemens john 16.04.2009 *} - -<form name="allperms" method="post" action="tiki-objectpermissions.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}"> -<fieldset {if $prefs.feature_tabs eq 'y'}id="content2" class="tabcontent" style="clear:both;display:block; margin-left: 0;"{/if}> -{if $prefs.feature_tabs neq 'y'} - <legend class="heading"><a href="#"><span>{tr}View Permissions{/tr}</span></a></legend> -{/if} -{if $filegals_manager eq ''} -{remarksbox type="warning" title="{tr}Warning{/tr}"}{tr}These permissions override any global permissions or category permissions affecting this object.{/tr}<br /> -{if $tiki_p_admin eq 'y'}{tr}To edit global permissions <a class="rbox-link" href="tiki-admingroups.php">click here</a>.{/tr}{/if} -{/remarksbox} -{/if} - -<h2>{tr}Assign Quick-Permissions to this object{/tr}</h2> - - <input type="hidden" name="quick_perms" value="true"/> - <table width="100%"> - <tr class="{cycle advance=true}"> - <td class="{cycle advance=false}"> - <table> - <th>Permission</th> - <tr> - <td>Admin access</td> - <tr> - <tr> - <td>Write access</td> - <tr> - <tr> - <td>Read access</td> - <tr> - <tr> - <td>No access</td> - <tr> - <tr> - <td>Userdefined</td> - <tr> - </table> - </td> - {cycle print=false values="even,odd"} - {section name=grp loop=$groups} - <td class="{cycle advance=false}"> - <table> - <th>{$groups[grp].groupName|escape}</th> - <tr> - <td><input type="radio" name="perm_{$groups[grp].groupName}" value="admin" {if $groups[grp].groupSumm eq 'admin'}checked{/if} /></td> - <tr> - <tr> - <td><input type="radio" name="perm_{$groups[grp].groupName}" value="write"{if $groups[grp].groupSumm eq 'write'}checked{/if} /></td> - <tr> - <tr> - <td><input type="radio" name="perm_{$groups[grp].groupName}" value="read" {if $groups[grp].groupSumm eq 'read'}checked{/if} /></td> - <tr> - <tr> - <td><input type="radio" name="perm_{$groups[grp].groupName}" value="none" {if $groups[grp].groupSumm eq 'none'}checked{/if} /></td> - <tr> - <tr> - <td><input type="radio" name="perm_{$groups[grp].groupName}" value="userdefined" {if $groups[grp].groupSumm eq 'userdefined'}checked{/if} disabled /></td> - <tr> - </table> - </td> - {/section} - </tr> - </table> - -<input type="hidden" name="page" value="{$page|escape}" /> -<input type="hidden" name="referer" value="{$referer|escape}" /> -<input type="hidden" name="objectName" value="{$objectName|escape}" /> -<input type="hidden" name="objectType" value="{$objectType|escape}" /> -<input type="hidden" name="objectId" value="{$objectId|escape}" /> -<input type="hidden" name="permType" value="{$permType|escape}" /> -<div class="input_submit_container" style="text-align: center"> - <input type="submit" name="assign" value="{tr}Assign{/tr}" /> -</div> - -</fieldset> -</form> -{/if} \ No newline at end of file +{/tab} +{/tabset} Modified: branches/experimental/ws/templates/tiki-send_newsletters.tpl =================================================================== --- branches/experimental/ws/templates/tiki-send_newsletters.tpl 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/templates/tiki-send_newsletters.tpl 2009-07-01 12:34:29 UTC (rev 19875) @@ -14,7 +14,7 @@ {/if} {if $upload_err_msg neq ''} - {remarksbox type="warning" title="{tr}Warning{/tr}" icon="error"} + {remarksbox type='warning' title="{tr}Warning{/tr}" icon='error'} {$upload_err_msg} {/remarksbox} {/if} @@ -26,7 +26,7 @@ {/remarksbox} {if $errors} - <span class="attention">{tr}Errors detected{/tr}<br /></span> + {remarksbox type='warning' title="{tr}Errors{/tr}" icon='error'} <table class="normal"> <tr class="formcolor"> <th>{tr}User{/tr}</th> @@ -42,18 +42,14 @@ </tr> {/section} </table> - <br /><br /> + {/remarksbox} {/if} {/if} {if $presend eq 'y'} - <br /> - <div class="title"> - <h2>{tr}Please Confirm{/tr}</h2> - </div> - <div class="simplebox highlight"> + {remarksbox type='warning' title="{tr}Please Confirm{/tr}"} <b>{tr}This newsletter will be sent to {$subscribers} email addresses.{/tr}</b> - </div> + {/remarksbox} <p> <form method="post" action="tiki-send_newsletters.php"> <input type="hidden" name="nlId" value="{$nlId|escape}" /> @@ -63,6 +59,7 @@ <input type="hidden" name="dataparsed" value="{$dataparsed|escape}" /> <input type="hidden" name="cookietab" value="3" /> <input type="hidden" name="datatxt" value="{$datatxt|escape}" /> + <input type="hidden" name="replyto" value="{$replyto|escape}" /> <input type="submit" name="send" value="{tr}Send{/tr}" /> <input type="submit" name="preview" value="{tr}Cancel{/tr}" /> {foreach from=$info.files item=newsletterfile key=fileid} @@ -70,9 +67,7 @@ {/foreach} </form> </p> - <div class="title"> - <h2>{tr}Preview{/tr}</h2> - </div> + <h2>{tr}Preview{/tr}</h2> <h3>{tr}Subject{/tr}</h3> <div class="simplebox wikitext">{$subject}</div> @@ -93,11 +88,13 @@ </li> {/foreach} </ul> + {if !empty($replyto)} + <h3>{tr}Reply to{/tr}</h3> + {$replyto|escape} + {/if} {else} {if $preview eq 'y'} - <div class="title"> - <h2>{tr}Preview{/tr}</h2> - </div> + <h2>{tr}Preview{/tr}</h2> <h3>{tr}Subject{/tr}</h3> <div class="simplebox wikitext">{$info.subject}</div> @@ -118,6 +115,10 @@ </li> {/foreach} </ul> + {if !empty($replyto)} + <h3>{tr}Reply to{/tr}</h3> + {$replyto|escape} + {/if} {/if} {tabset name='tabs_send_newsletters'} @@ -231,6 +232,11 @@ </tr> <tr class="formcolor"> + <td class="formcolor" id="txtcol1">{tr}Reply To Email{/tr}</td> + <td class="formcolor" id="txtcol2" ><input type="text" name="replyto" value="{$replyto|escape}" /> {tr}if not:{/tr} {$prefs.sender_email|escape}</td> + </tr> + + <tr class="formcolor"> <td class="formcolor"> </td> <td class="formcolor"> <input type="submit" name="preview" value="{tr}Preview{/tr}" /> Modified: branches/experimental/ws/templates/tiki-user_preferences.tpl =================================================================== --- branches/experimental/ws/templates/tiki-user_preferences.tpl 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/templates/tiki-user_preferences.tpl 2009-07-01 12:34:29 UTC (rev 19875) @@ -50,7 +50,7 @@ {tr}Real Name{/tr}: </td> <td class="{cycle}"> - {if $prefs.auth_ldap_nameattr eq '' || $prefs.auth_method ne 'auth'} + {if $prefs.auth_ldap_nameattr eq '' || $prefs.auth_method ne 'ldap'} <input type="text" name="realName" value="{$user_prefs.realName|escape}" />{else}{$user_prefs.realName} {/if} </td> Modified: branches/experimental/ws/templates/tiki-webmail_contacts.tpl =================================================================== --- branches/experimental/ws/templates/tiki-webmail_contacts.tpl 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/templates/tiki-webmail_contacts.tpl 2009-07-01 12:34:29 UTC (rev 19875) @@ -4,60 +4,86 @@ {* Index we display a wiki page here *} <html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <link rel="StyleSheet" href="styles/{$prefs.style}" type="text/css" /> - {include file='bidi.tpl'} - <title>{tr}Address book{/tr}</title> - </head> - <body> - <div id="tiki-clean"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <link rel="StyleSheet" href="styles/{$prefs.style}" type="text/css" /> + {include file='bidi.tpl'} + <title>{tr}Address book{/tr}</title> +</head> +<body> +<div id="tiki-clean"> -<h2>{tr}Contacts{/tr}</h2> -<div align="center"> - -{include file='find.tpl'} - -{initials_filter_links} - -<table class="normal"> -<tr> -<th><a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'firstName_desc'}firstName_asc{else}firstName_desc{/if}">{tr}First Name{/tr}</a></th> -<th><a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'lastName_desc'}lastName_asc{else}lastName_desc{/if}">{tr}Last Name{/tr}</a></th> -<th><a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'email_desc'}email_asc{else}email_desc{/if}">{tr}Email{/tr}</a></th> -<th><a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'nickname_desc'}nickname_asc{else}nickname_desc{/if}">{tr}Nickname{/tr}</a></th> -</tr> -{cycle values="odd,even" print=false} -{section name=user loop=$channels} -<tr> -<td class="{cycle advance=false}">{$channels[user].firstName}</td> -<td class="{cycle advance=false}">{$channels[user].lastName}</td> -<td class="{cycle advance=false}"><a class="link" href="#" onclick="javascript:window.opener.document.getElementById('{$element}').value=window.opener.document.getElementById('{$element}').value + '{$channels[user].email}' + ' ';">{$channels[user].email}</a> -[ <a class="link" href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={$sort_mode}&find={$find}&remove={$channels[user].contactId}" -title="{tr}Delete{/tr}">{icon _id='cross' alt='{tr}Delete{/tr}'}</a> ] -</td> -<td class="{cycle advance=false}">{$channels[user].nickname}</td> -</tr> -{/section} -</table> -<div class="mini"> -{if $prev_offset >= 0} -[<a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$prev_offset}&sort_mode={$sort_mode}">{tr}Prev{/tr}</a>] -{/if} -{tr}Page{/tr}: {$actual_page}/{$cant_pages} -{if $next_offset >= 0} - [<a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$next_offset}&sort_mode={$sort_mode}">{tr}Next{/tr}</a>] -{/if} -{if $prefs.direct_pagination eq 'y'} -<br /> -{section loop=$cant_pages name=foo} -{assign var=selector_offset value=$smarty.section.foo.index|times:$prefs.maxRecords} -<a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$selector_offset}&sort_mode={$sort_mode}"> -{$smarty.section.foo.index_next}</a> -{/section} -{/if} + <h2>{tr}Contacts{/tr}</h2> + <div align="center"> + {include file='find.tpl'} + {initials_filter_links} + <table class="normal"> + <tr> + <th> + <a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'firstName_desc'}firstName_asc{else}firstName_desc{/if}"> + {tr}First Name{/tr} + </a> + </th> + <th> + <a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'lastName_desc'}lastName_asc{else}lastName_desc{/if}"> + {tr}Last Name{/tr} + </a> + </th> + <th> + <a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'email_desc'}email_asc{else}email_desc{/if}"> + {tr}Email{/tr} + </a> + </th> + <th> + <a href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={if $sort_mode eq 'nickname_desc'}nickname_asc{else}nickname_desc{/if}"> + {tr}Nickname{/tr} + </a> + </th> + </tr> + {cycle values="odd,even" print=false} {section name=user + loop=$channels} + <tr> + <td class="{cycle advance=false}">{$channels[user].firstName}</td> + <td class="{cycle advance=false}">{$channels[user].lastName}</td> + <td class="{cycle advance=false}"> + <a class="link" href="#" onclick="javascript:window.opener.document.getElementById('{$element}').value=window.opener.document.getElementById('{$element}').value + '{$channels[user].email}' + ' ';"> + {$channels[user].email} + </a> + [ + <a class="link" href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={$sort_mode}&find={$find}&remove={$channels[user].contactId}" title="{tr}Delete{/tr}"> + {icon _id='cross' alt='{tr}Delete{/tr}'} + </a> + ] + </td> + <td class="{cycle advance=false}">{$channels[user].nickname}</td> + </tr> + {/section} + </table> + <div class="mini"> + {if $prev_offset >= 0} + [<a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$prev_offset}&sort_mode={$sort_mode}"> + {tr}Prev{/tr} + </a> + ] + {/if} + {tr}Page{/tr}: {$actual_page}/{$cant_pages} + {if $next_offset >= 0} + [ + <a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$next_offset}&sort_mode={$sort_mode}"> + {tr}Next{/tr} + </a>] + {/if} + {if $prefs.direct_pagination eq 'y'} + <br /> + {section loop=$cant_pages name=foo} + {assign var=selector_offset value=$smarty.section.foo.index|times:$prefs.maxRecords} + <a class="prevnext" href="tiki-webmail_contacts.php?element={$element}&section=contacts&find={$find}&offset={$selector_offset}&sort_mode={$sort_mode}"> + {$smarty.section.foo.index_next} + </a> + {/section} + {/if} + </div> + </div> </div> -</div> -</div> </body> </html> Modified: branches/experimental/ws/tiki-objectpermissions.php =================================================================== --- branches/experimental/ws/tiki-objectpermissions.php 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/tiki-objectpermissions.php 2009-07-01 12:34:29 UTC (rev 19875) @@ -25,6 +25,12 @@ } } else { $tikilib->get_perm_object($_REQUEST['objectId'], $_REQUEST['objectType']); + if ($_REQUEST['objectType'] == 'tracker') { + global $trklib; include('lib/trackers/trackerlib.php'); + if ($groupCreatorFieldId = $trklib->get_field_id_from_type($_REQUEST['objectId'], 'g', '1%')) { + $smarty->assign('group_tracker', 'y'); + } + } } if (!($tiki_p_admin_objects == 'y' || (isset($$perm) && $$perm == 'y') ||(isset($special_perm) && $special_perm == 'y'))) { @@ -62,74 +68,9 @@ } } - //Make Quickpermission bundles - //ADMIN (get´s all perms) - $quickperms['tiki_p_admin_file_galleries'] = "tiki_p_admin_file_galleries"; - $quickperms['tiki_p_assign_perm_file_gallery'] = "tiki_p_assign_perm_file_gallery"; - $quickperms['tiki_p_batch_upload_files'] = "tiki_p_batch_upload_files"; - $quickperms['tiki_p_batch_upload_file_dir'] = "tiki_p_batch_upload_file_dir"; - $quickperms['tiki_p_create_file_galleries'] = "tiki_p_create_file_galleries"; - $quickperms['tiki_p_download_files'] = "tiki_p_download_files"; - $quickperms['tiki_p_edit_gallery_file'] = "tiki_p_edit_gallery_file"; - $quickperms['tiki_p_list_file_galleries'] = "tiki_p_list_file_galleries"; - $quickperms['tiki_p_upload_files'] = "tiki_p_upload_files"; - $quickperms['tiki_p_view_fgal_explorer'] = "tiki_p_view_fgal_explorer"; - $quickperms['tiki_p_view_fgal_path'] = "tiki_p_view_fgal_path"; - $quickperms['tiki_p_view_file_gallery'] = "tiki_p_view_file_gallery"; - $perms['admin'] = $quickperms; - - //WRITE (get´s only write perms) - unset($quickperms['tiki_p_admin_file_galleries']); - unset($quickperms['tiki_p_assign_perm_file_gallery']); - unset($quickperms['tiki_p_create_file_galleries']); - unset($quickperms['tiki_p_edit_gallery_file']); - $perms['write'] = $quickperms; - - //READ (get´s only read perms) - unset($quickperms['tiki_p_batch_upload_files']); - unset($quickperms['tiki_p_batch_upload_file_dir']); - unset($quickperms['tiki_p_create_file_galleries']); - unset($quickperms['tiki_p_upload_files']); - $perms['read'] = $quickperms; - - //NONE (doesn´t get any perms) - unset($quickperms['tiki_p_download_files']); - unset($quickperms['tiki_p_list_file_galleries']); - unset($quickperms['tiki_p_view_fgal_explorer']); - unset($quickperms['tiki_p_view_fgal_path']); - unset($quickperms['tiki_p_view_file_gallery']); - $perms['none'] = $quickperms; - // Process the form to assign a new permission to this page -if (isset($_REQUEST['assign']) && isset($_REQUEST['quick_perms'])) { +if (isset($_REQUEST['assign']) && isset($_REQUEST['group']) && isset($_REQUEST['perm'])) { check_ticket('object-perms'); - - $groups = $userlib->get_groups(0, -1, 'groupName_asc', '', '', 'n'); - - foreach($groups['data'] as $group) { - if(isset($_REQUEST["perm_".$group['groupName']])) { - $group = $group['groupName']; - $permission = $_REQUEST["perm_".$group]; - - if ($permission != "userdefined") { - //Remove all permissions of a group - foreach($perms['admin'] as $perm) { - $userlib->remove_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); - } - - //Add chosen quickperm bundle to the objcet/group - foreach($perms["$permission"] as $perm) { - $userlib->assign_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); - } - } - } - } - - $cookietab = 2; - setcookie('tab',$cookietab); - $smarty->assign_by_ref('cookietab',$cookietab); - - foreach($_REQUEST['perm'] as $perm) { if ($tiki_p_admin_objects != 'y' && !$userlib->user_has_permission($user, $perm)) { $smarty->assign('errortype', 401); @@ -138,34 +79,6 @@ die; } } - - if (!empty($_REQUEST['assignstructure']) && $_REQUEST['assignstructure'] == 'on' && !empty($pageInfoTree)) { - foreach($pageInfoTree as $subPage) { - foreach($_REQUEST['perm'] as $perm) { - foreach ($_REQUEST['group'] as $group) { - $userlib->assign_object_permission($group,$subPage["pageName"],'wiki page',$perm); - } - } - } - } else { - foreach($_REQUEST['perm'] as $perm) { - foreach ($_REQUEST['group'] as $group) { - $userlib->assign_object_permission($group, $_REQUEST["objectId"], $_REQUEST["objectType"], $perm); - } - } - } - $smarty->assign('groupName', $_REQUEST["group"]); - -} elseif (isset($_REQUEST['assign']) && isset($_REQUEST['group']) && isset($_REQUEST['perm'])) { - check_ticket('object-perms'); - foreach($_REQUEST['perm'] as $perm) { - if ($tiki_p_admin_objects != 'y' && !$userlib->user_has_permission($user, $perm)) { - $smarty->assign('errortype', 401); - $smarty->assign('msg', tra('Permission denied')); - $smarty->display('error.tpl'); - die; - } - } if (!empty($_REQUEST['assignstructure']) && $_REQUEST['assignstructure'] == 'on' && !empty($pageInfoTree)) { foreach($pageInfoTree as $subPage) { foreach($_REQUEST['perm'] as $perm) { @@ -206,8 +119,8 @@ } } -if ((isset($_REQUEST['delsel_x']) || isset($_REQUEST['action']) || isset($_REQUEST['assign'])) AND (!isset($_REQUEST['quick_perms']))) { - $cookietab = 3; +if (isset($_REQUEST['delsel_x']) || isset($_REQUEST['action']) || isset($_REQUEST['assign'])) { + $cookietab = 2; setcookie('tab',$cookietab); $smarty->assign_by_ref('cookietab',$cookietab); } @@ -215,41 +128,8 @@ // Now we have to get the individual page permissions if any $page_perms = $userlib->get_object_permissions($_REQUEST["objectId"], $_REQUEST["objectType"]); -foreach($page_perms as $perm) { - $current_permissions[$perm['groupName']][] = $perm['permName']; -} - // Get a list of groups $groups = $userlib->get_groups(0, -1, 'groupName_asc', '', '', 'n'); - -foreach($groups['data'] as $key=>$group) { - if (!empty($current_permissions) && is_array($current_permissions[$group['groupName']])) { - //Check if Group has admin perm. - $diff1 = array_diff($current_permissions[$group['groupName']], $perms['admin']); - $diff2 = array_diff($perms['admin'], $current_permissions[$group['groupName']]); - if (empty($diff1) AND empty($diff2)) - $groups['data'][$key]['groupSumm'] = "admin"; - - //Check if Group has write perm. - $diff1 = array_diff($current_permissions[$group['groupName']], $perms['write']); - $diff2 = array_diff($perms['write'], $current_permissions[$group['groupName']]); - if (empty($diff1) AND empty($diff2)) - $groups['data'][$key]['groupSumm'] = "write"; - - //Check if Group has read perm. - $diff1 = array_diff($current_permissions[$group['groupName']], $perms['read']); - $diff2 = array_diff($perms['read'], $current_permissions[$group['groupName']]); - if (empty($diff1) AND empty($diff2)) - $groups['data'][$key]['groupSumm'] = "read"; - - if (empty($groups['data'][$key]['groupSumm'])) - $groups['data'][$key]['groupSumm'] = "userdefined"; - - } else { - $groups['data'][$key]['groupSumm'] = "none"; - } -} - $smarty->assign_by_ref('groups', $groups["data"]); // Get a list of permissions @@ -324,4 +204,3 @@ } else { $smarty->display("tiki.tpl"); } -?> Modified: branches/experimental/ws/tiki-send_newsletters.php =================================================================== --- branches/experimental/ws/tiki-send_newsletters.php 2009-07-01 12:30:41 UTC (rev 19874) +++ branches/experimental/ws/tiki-send_newsletters.php 2009-07-01 12:34:29 UTC (rev 19875) @@ -209,7 +209,9 @@ } else { $info["dataparsed"] = "<html><body>".(($info['wikiparse'] == 'y')?$tikilib->parse_data($info["data"], array('absolute_links' => true)):$info['data'])."</body></html>"; } - + if (!empty($_REQUEST['replyto'])) { + $smarty->assign('replyto', $_REQUEST['replyto']); + } $smarty->assign('info', $info); } @@ -249,6 +251,9 @@ $cant = count($subscribers); $smarty->assign('subscribers', $cant); $smarty->assign('info', $info); + if (!empty($_REQUEST['replyto'])) { + $smarty->assign('replyto', $_REQUEST['replyto']); + } } $smarty->assign('emited', 'n'); @@ -315,6 +320,9 @@ $userEmail = ''; } $mail->setFrom($sender_email); + if (!empty($_REQUEST['replyto'])) { + $mail->setHeader("Reply-To", $_REQUEST['replyto']); + } $mail->setSubject($_REQUEST["subject"]); // htmlMimeMail memorised the encoded subject $languageEmail = ! $userEmail ? $prefs['site_language'] : $tikilib->get_user_preference($userEmail, "language", $prefs['site_language']); if ($nl_info["unsubMsg"] == 'y') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-07-01 14:09:04
|
Revision: 19880 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19880&view=rev Author: axold Date: 2009-07-01 13:58:01 +0000 (Wed, 01 Jul 2009) Log Message: ----------- [MOD] Improvements over scriptCreator.php and some thing in include_workspaces Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wsController.php branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-07-01 13:30:55 UTC (rev 19879) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-07-01 13:58:01 UTC (rev 19880) @@ -1,34 +1,28 @@ <?php -if (strpos($_SERVER["SCRIPT_NAME"],basename(__FILE__)) !== false) { - header("location: index.php"); - exit; -} - -require_once 'wslib.php'; - /** - * TikiWiki CMS/GroupWare + * wsController.php - TikiWiki CMS/GroupWare * - * LICENSE - * - * This source file is subject to the LGPL license that is bundled - * with this package in the file license.txt. If your distribuition - * doesn't have the license file, please go to http://license.com to see - * the complete license of the software. - * - * @category workspaces + * This file will manage all actions can perform the user in + * tiki-admin-include-workspaces.php * @package lib * @author Aldo B.G (axold) <ax...@gm...> + * @license http://www.opensource.org/licenses/lgpl-2.1.php */ +//Controlling access +require_once 'tiki-setup.php'; +$access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); + +//Rest of imports +require_once 'wslib.php'; + /** * wsGuiParser * - * @category TikiWiki - * @package lib/workspaces - * @version $Id + * @subpackage workspaces + * @version 0.1 */ -class wsGuiController +class ws_gui_controller { public function check_if_new_to_ws() { @@ -45,5 +39,9 @@ else return false; } + + public function create_demo() + { + } } Modified: branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php =================================================================== --- branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php 2009-07-01 13:30:55 UTC (rev 19879) +++ branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php 2009-07-01 13:58:01 UTC (rev 19880) @@ -27,7 +27,7 @@ global $prefs; $wsContainerId = (int) $prefs['ws_container']; -if (isset($_REQUEST['action']) && ($_REQUEST['action'] == init)) +if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'init')) { if (!$objectlib->get_object_id('wiki page','Wiki1')) $objectlib->add_object('wiki page','Wiki1'); @@ -44,7 +44,7 @@ if ($userlib->add_group('G2')); } -if (isset($_REQUEST['action']) && ($_REQUEST['action'] == create)) +if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'create')) { //Creating new WS if (!$ws->get_ws_id('WS1',$wsContainerId)) @@ -77,9 +77,11 @@ $ws->add_ws_object($id3,'Wiki3','wiki_page'); $ws->add_ws_object($id4,'Wiki4','wiki_page'); $ws->add_ws_object($id5,'Wiki5','wiki_page'); + + header("Location: ./../../../tiki-admin.php?page=workspaces"); } -if (isset($_REQUEST['action']) && ($_REQUEST['action'] == destroy)) +if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'destroy')) { //Getting existing WS id $id1= $ws->get_ws_id('WS1',$wsContainerId); @@ -94,11 +96,13 @@ $ws->remove_ws($id3); $ws->remove_ws($id4); $ws->remove_ws($id5); + + header("Location: ./../../../tiki-admin.php?page=workspaces"); } -if ( isset($_REQUEST['action']) && ($_REQUEST['action'] == listgroups)) +if ( isset($_REQUEST['action']) && ($_REQUEST['action'] == 'listgroups')) { $id = $ws->get_ws_id('WS3',$wsContainerId); $listg = $ws->get_ws_groups($id); echo ($listg); -} \ No newline at end of file +} Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-07-01 13:30:55 UTC (rev 19879) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-07-01 13:58:01 UTC (rev 19880) @@ -18,7 +18,7 @@ {*/if*} <div class="cbox"> -<form action="tiki-admin.php?page=fgal" method="post"> +<form action="tiki-admin.php?page=workspaces" method="post"> {tabset name="fgal_admin"} {tab name="{tr}Test{/tr}"} @@ -49,10 +49,11 @@ </fieldset> <fieldset><legend>{tr}Script Creator{/tr}</legend> <div class="adminoptionbox"> -<input type="radio" id="wscreate" name="wsdevtools" value="n" checked="checked" /><label for="wscreate">{tr}Make a set of Workspaces, and some items inside it{/tr}.</label> +<input type="radio" id="wscreate" name="wsdevtools" value="create" checked="checked" /><label for="wscreate">{tr}Make a set of Workspaces, and some items inside it. NOTE: before you run this you should create 5 wiki pages with the names "Wiki1", + "Wiki2", "Wiki3", "Wiki4" and "Wiki5", and two groups called "G1" and "G2"{/tr}.</label> </div> <div class="adminoptionbox"> -<input type="radio" id="wsdelete" name="wsdevtools" value="n" /><label for="wsdelete">{tr}Delete all Workspaces created before{/tr}.</label> +<input type="radio" id="wsdelete" name="wsdevtools" value="delete" /><label for="wsdelete">{tr}Delete all Workspaces created before{/tr}.</label> </div> </fieldset> <div class="adminoptionbox"> Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-07-01 13:30:55 UTC (rev 19879) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-07-01 13:58:01 UTC (rev 19880) @@ -6,8 +6,16 @@ $access->check_script($_SERVER["SCRIPT_NAME"],basename(__FILE__)); require_once ('lib/workspaces/wsController.php'); -$wsGui = new wsGuiController(); +$ws_gui = new ws_gui_controller(); -$wsGui->check_if_new_to_ws(); +$ws_gui->check_if_new_to_ws(); +if ( isset($_REQUEST['wsoptions']) ) +{ + if ( (isset($_REQUEST['wsdevtools'])) && ($_REQUEST['wsdevtools'] == 'create') ) + header("Location: ./lib/workspaces/wstools/scriptCreator.php?action=create"); + else + header("Location: ./lib/workspaces/wstools/scriptCreator.php?action=destroy"); +} + ask_ticket('admin-inc-workspaces'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-07-01 16:01:50
|
Revision: 19885 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19885&view=rev Author: axold Date: 2009-07-01 16:01:47 +0000 (Wed, 01 Jul 2009) Log Message: ----------- [MOD] Updating some things in templates and tiki-admin_ws Modified Paths: -------------- branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl branches/experimental/ws/tiki-admin_include_workspaces.php Modified: branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php =================================================================== --- branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php 2009-07-01 15:32:38 UTC (rev 19884) +++ branches/experimental/ws/lib/workspaces/wstools/scriptCreator.php 2009-07-01 16:01:47 UTC (rev 19885) @@ -42,6 +42,8 @@ if ($userlib->add_group('G1')); if ($userlib->add_group('G2')); + + header("Location: ./scriptCreator.php?action=create"); } if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'create')) @@ -50,14 +52,16 @@ if (!$ws->get_ws_id('WS1',$wsContainerId)) $id1 = $ws->add_ws('WS1',$wsContainerId); if (!$ws->get_ws_id('WS2',$wsContainerId)) - $id2 = $ws->add_ws('WS2',$wsContainerId); + $ws->add_ws('WS2',$wsContainerId); if (!$ws->get_ws_id('WS3',$wsContainerId)) - $id3 = $ws->add_ws('WS3',$wsContainerId); + $id3 = $ws->add_ws('WS3',$wsContainerId); + $id2 = $ws->get_ws_id('WS2',$wsContainerId); + //Creating new sub-WS under WS2 - if (!$ws->get_ws_id('WS21',$wsContainerId)) + if (!$ws->get_ws_id('WS21',$id2)) $id4 = $ws->add_ws('WS21',$id2); - if (!$ws->get_ws_id('WS22',$wsContainerId)) + if (!$ws->get_ws_id('WS22',$id2)) $id5 = $ws->add_ws('WS22',$id2); //Adding G1 in WS1 and WS3 Modified: branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-07-01 15:32:38 UTC (rev 19884) +++ branches/experimental/ws/templates/tiki-admin-include-workspaces.tpl 2009-07-01 16:01:47 UTC (rev 19885) @@ -49,8 +49,7 @@ </fieldset> <fieldset><legend>{tr}Script Creator{/tr}</legend> <div class="adminoptionbox"> -<input type="radio" id="wscreate" name="wsdevtools" value="create" checked="checked" /><label for="wscreate">{tr}Make a set of Workspaces, and some items inside it. NOTE: before you run this you should create 5 wiki pages with the names "Wiki1", - "Wiki2", "Wiki3", "Wiki4" and "Wiki5", and two groups called "G1" and "G2"{/tr}.</label> +<input type="radio" id="wscreate" name="wsdevtools" value="create" checked="checked" /><label for="wscreate">{tr}Make a set of Workspaces, and some items inside it{/tr}.</label> </div> <div class="adminoptionbox"> <input type="radio" id="wsdelete" name="wsdevtools" value="delete" /><label for="wsdelete">{tr}Delete all Workspaces created before{/tr}.</label> Modified: branches/experimental/ws/tiki-admin_include_workspaces.php =================================================================== --- branches/experimental/ws/tiki-admin_include_workspaces.php 2009-07-01 15:32:38 UTC (rev 19884) +++ branches/experimental/ws/tiki-admin_include_workspaces.php 2009-07-01 16:01:47 UTC (rev 19885) @@ -13,7 +13,7 @@ if ( isset($_REQUEST['wsoptions']) ) { if ( (isset($_REQUEST['wsdevtools'])) && ($_REQUEST['wsdevtools'] == 'create') ) - header("Location: ./lib/workspaces/wstools/scriptCreator.php?action=create"); + header("Location: ./lib/workspaces/wstools/scriptCreator.php?action=init"); else header("Location: ./lib/workspaces/wstools/scriptCreator.php?action=destroy"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ax...@us...> - 2009-07-02 08:02:07
|
Revision: 19895 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19895&view=rev Author: axold Date: 2009-07-02 08:02:05 +0000 (Thu, 02 Jul 2009) Log Message: ----------- [MOD] Added the tiki_p_ws perms to the database, currently tiki-4.0-mysqli.sql Modified Paths: -------------- branches/experimental/ws/db/tiki-4.0-mysqli.sql branches/experimental/ws/db/tiki.sql branches/experimental/ws/lib/workspaces/wsController.php Modified: branches/experimental/ws/db/tiki-4.0-mysqli.sql =================================================================== --- branches/experimental/ws/db/tiki-4.0-mysqli.sql 2009-07-02 08:00:35 UTC (rev 19894) +++ branches/experimental/ws/db/tiki-4.0-mysqli.sql 2009-07-02 08:02:05 UTC (rev 19895) @@ -3102,6 +3102,17 @@ INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_admin_notifications', 'Can admin mail notifications', 'editors', 'mail notifications'); INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_invite', 'Can invite user in groups', 'editors', 'tiki'); +INSERT INTO users_permissions (permName, permDesc, level, type, admin) VALUES ('tiki_p_ws_admin', 'Can admin all ws', 'globaladmin', 'ws', 'y'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_addws', 'Can add ws', 'globaladmin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_removews', 'Can remove ws', 'globaladmin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminws', 'Can admin a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_addresource', 'Can add resources to a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_removeresource', 'Can remove resources from single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminresources', 'Can admin resources into single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminperms', 'Can admin perms inside a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_admingroups', 'Can admin groups in a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_view', 'Can view a single ws', 'registered', 'ws'); + UPDATE users_permissions SET feature_check = 'feature_wiki' WHERE permName IN( 'tiki_p_admin_wiki', 'tiki_p_assign_perm_wiki_page', Modified: branches/experimental/ws/db/tiki.sql =================================================================== --- branches/experimental/ws/db/tiki.sql 2009-07-02 08:00:35 UTC (rev 19894) +++ branches/experimental/ws/db/tiki.sql 2009-07-02 08:02:05 UTC (rev 19895) @@ -3117,6 +3117,18 @@ 'tiki_p_view' ); +# For Workspaces +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_admin', 'Can admin all ws', 'globaladmin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_addws', 'Can add ws', 'globaladmin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_removews', 'Can remove ws', 'globaladmin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminws', 'Can admin a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_addresource', 'Can add resources to a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_removeresource', 'Can remove resources from single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminresources', 'Can admin resources into single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_adminperms', 'Can admin perms inside a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_admingroups', 'Can admin groups in a single ws', 'admin', 'ws'); +INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_ws_view', 'Can view a single ws', 'registered', 'ws'); + UPDATE users_permissions SET feature_check = 'wiki_feature_copyrights' WHERE permName = 'tiki_p_edit_copyrights'; UPDATE users_permissions SET feature_check = 'feature_wiki_structure' WHERE permName = 'tiki_p_edit_structures'; UPDATE users_permissions SET feature_check = 'feature_wiki_structure' WHERE permName = 'tiki_p_watch_structure'; Modified: branches/experimental/ws/lib/workspaces/wsController.php =================================================================== --- branches/experimental/ws/lib/workspaces/wsController.php 2009-07-02 08:00:35 UTC (rev 19894) +++ branches/experimental/ws/lib/workspaces/wsController.php 2009-07-02 08:02:05 UTC (rev 19895) @@ -43,5 +43,9 @@ public function create_demo() { } + + public function delete_demo() + { + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <man...@us...> - 2009-07-02 09:03:29
|
Revision: 19896 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=19896&view=rev Author: mangapower Date: 2009-07-02 09:03:16 +0000 (Thu, 02 Jul 2009) Log Message: ----------- [MRG] Automatic merge, trunk 19872 to 19891 Modified Paths: -------------- branches/experimental/ws/lang/es/language.php branches/experimental/ws/lib/categories/categlib.php branches/experimental/ws/lib/setup/prefs.php branches/experimental/ws/lib/tikilib.php branches/experimental/ws/lib/wiki-plugins/wikiplugin_files.php branches/experimental/ws/modules/mod-webmail_inbox.php branches/experimental/ws/styles/darkroom.css branches/experimental/ws/templates/list_file_gallery_content.tpl branches/experimental/ws/templates/tiki-admin-include-look.tpl branches/experimental/ws/templates/tiki-webmail.tpl branches/experimental/ws/templates/tiki-webmail_contacts.tpl branches/experimental/ws/tiki-admin_include_look.php branches/experimental/ws/tiki-webmail.php branches/experimental/ws/tiki_tests/tiki-tests_replay.php branches/experimental/ws/tiki_tests/tiki-tests_show_xpath.php Added Paths: ----------- branches/experimental/ws/lib/htmlpurifier_tiki/ branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php branches/experimental/ws/modules/mod-groups_emulation.php branches/experimental/ws/templates/modules/mod-groups_emulation.tpl branches/experimental/ws/tiki-emulate_groups_switch.php Removed Paths: ------------- branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php Property Changed: ---------------- branches/experimental/ws/temp/cache/ Modified: branches/experimental/ws/lang/es/language.php =================================================================== --- branches/experimental/ws/lang/es/language.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/lang/es/language.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -1691,22 +1691,22 @@ // ### start of untranslated words // ### uncomment value pairs as you translate -// "Cookies must be allowed to vote" => "Cookies must be allowed to vote", +"Cookies must be allowed to vote" => "Las Cookies deben estar habilitadas para poder votar", // "This forum is flat and doesn't allow replies to other replies" => "This forum is flat and doesn't allow replies to other replies", // "Copyright management" => "Copyright management", -// "Tiki is unable to connect to the database " => "Tiki is unable to connect to the database ", -// "Tiki was unable to retrieve login data from the database " => "Tiki was unable to retrieve login data from the database ", -// "The following error message was returned" => "The following error message was returned", -// "Things to check" => "Things to check", -// "Is your database up and running" => "Is your database up and running", -// "Are your database login credentials correct" => "Are your database login credentials correct", -// "Did you complete the <a href='tiki-install.php' >Tiki Installer" => "Did you complete the <a href='tiki-install.php' >Tiki Installer", -// "Please see <a href=\"http://doc.tikiwiki.org/\">the documentation</a> for more information" => "Please see <a href=\"http://doc.tikiwiki.org/\">the documentation</a> for more information", -// "Uploaded" => "Uploaded", -// "Last editor" => "Last editor", -// "Explorer" => "Explorer", -// "Slideshow" => "Slideshow", -// "Default View" => "Default View", +"Tiki is unable to connect to the database " => "Tiki no puede conectarse a la base de datos", +"Tiki was unable to retrieve login data from the database " => "Tiki no pudo recuperar desde la base de datos la información de login", +"The following error message was returned" => "El siguiente mensaje de error fue devuelto", +"Things to check" => "Cosas a revisar", +"Is your database up and running" => "Está su base de datos activa y ejecutándose", +"Are your database login credentials correct" => "Son sus credenciales para conectarse a la base de datos correctas", +"Did you complete the <a href='tiki-install.php' >Tiki Installer" => "Finalizó el <a href='tiki-install.php' >Instalador de Tiki", +"Please see <a href=\"http://doc.tikiwiki.org/\">the documentation</a> for more information" => "Por favor lea <a href=\"http://doc.tikiwiki.org/\">la documentación </a> para más información", +"Uploaded" => "Subido", +"Last editor" => "Último editor", +"Explorer" => "Explorador", +"Slideshow" => "Slideshow", +"Default View" => "Vista por defecto", // "Afghanistan" => "Afghanistan", // "Aland Islands" => "Aland Islands", // "Albania" => "Albania", Modified: branches/experimental/ws/lib/categories/categlib.php =================================================================== --- branches/experimental/ws/lib/categories/categlib.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/lib/categories/categlib.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -55,9 +55,20 @@ $bindvals=array(); $mid = ""; } + + //For excluding ws + global $prefs; + if ($idws = $prefs['ws_container'] ) + if ($find) + $exclude = "and not (`categId`=$idws or `parentId`=$idws)"; + else + $exclude = "where not (`categId`=$idws or `parentId`=$idws)"; + else + $exclude = ""; + - $query = "select * from `tiki_categories` $mid order by ".$this->convert_sortmode($sort_mode); - $query_cant = "select count(*) from `tiki_categories` $mid"; + $query = "select * from `tiki_categories` $mid $exclude order by ".$this->convert_sortmode($sort_mode); + $query_cant = "select count(*) from `tiki_categories` $mid "; $result = $this->query($query,$bindvals,$maxRecords,$offset); $cant = $this->getOne($query_cant,$bindvals); $ret = array(); @@ -924,7 +935,11 @@ function build_cache() { global $cachelib; $ret = array(); - $query = "select * from `tiki_categories` order by `name`"; + global $prefs; + if ($idws = $prefs['ws_container'] ) + $query = "select * from `tiki_categories` where not (`categId`=$idws or `parentId`=$idws) order by `name`"; + else + $query = "select * from `tiki_categories` order by `name`"; $result = $this->query($query,array()); while ($res = $result->fetchRow()) { $id = $res["categId"]; Deleted: branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php =================================================================== --- trunk/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php 2009-07-02 02:04:55 UTC (rev 19891) +++ branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -1,46 +0,0 @@ -<?php - -/** - * @file - * Customised version of HTMLPurifier.func.php for easy use in Tiki - * This overrides the HTMLPurifier() function in HTMLPurifier.func.php - * - * Defines a function wrapper for HTML Purifier for quick use. - * @note ''HTMLPurifier()'' is NOT the same as ''new HTMLPurifier()'' - */ - -/** - * Purify HTML. - * @param $html String HTML to purify - * @param $config Configuration to use, can be any value accepted by - * HTMLPurifier_Config::create() - */ - -require_once('lib/htmlpurifier/HTMLPurifier.auto.php'); - -function HTMLPurifier($html, $config = null) { - static $purifier = false; - if (!$purifier) { - if ($config == null) { // mod for tiki temp files location - $config = getHTMLPurifierTikiConfig(); - } - $purifier = new HTMLPurifier(); - } - return $purifier->purify($html, $config); -} - -function getHTMLPurifierTikiConfig() { - global $tikipath; - - $d = $tikipath.'temp/cache/HTMLPurifierCache'; - if (!is_dir($d)) { - if (!mkdir($d)) { - $d = $tikipath.'temp/cache'; - } - } - $conf = HTMLPurifier_Config::createDefault(); - $conf->set('Cache', 'SerializerPath', $d); - return $conf; -} - -// vim: et sw=4 sts=4 Copied: branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php (from rev 19891, trunk/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php) =================================================================== --- branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php (rev 0) +++ branches/experimental/ws/lib/htmlpurifier_tiki/HTMLPurifier.tiki.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -0,0 +1,46 @@ +<?php + +/** + * @file + * Customised version of HTMLPurifier.func.php for easy use in Tiki + * This overrides the HTMLPurifier() function in HTMLPurifier.func.php + * + * Defines a function wrapper for HTML Purifier for quick use. + * @note ''HTMLPurifier()'' is NOT the same as ''new HTMLPurifier()'' + */ + +/** + * Purify HTML. + * @param $html String HTML to purify + * @param $config Configuration to use, can be any value accepted by + * HTMLPurifier_Config::create() + */ + +require_once('lib/htmlpurifier/HTMLPurifier.auto.php'); + +function HTMLPurifier($html, $config = null) { + static $purifier = false; + if (!$purifier) { + if ($config == null) { // mod for tiki temp files location + $config = getHTMLPurifierTikiConfig(); + } + $purifier = new HTMLPurifier(); + } + return $purifier->purify($html, $config); +} + +function getHTMLPurifierTikiConfig() { + global $tikipath; + + $d = $tikipath.'temp/cache/HTMLPurifierCache'; + if (!is_dir($d)) { + if (!mkdir($d)) { + $d = $tikipath.'temp/cache'; + } + } + $conf = HTMLPurifier_Config::createDefault(); + $conf->set('Cache', 'SerializerPath', $d); + return $conf; +} + +// vim: et sw=4 sts=4 Modified: branches/experimental/ws/lib/setup/prefs.php =================================================================== --- branches/experimental/ws/lib/setup/prefs.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/lib/setup/prefs.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -1108,6 +1108,8 @@ 'center_shadow_end' => '', 'footer_shadow_start' => '', 'footer_shadow_end' => '', + 'box_shadow_start' => '', + 'box_shadow_end' => '', // mods 'feature_mods_provider' => 'n', Modified: branches/experimental/ws/lib/tikilib.php =================================================================== --- branches/experimental/ws/lib/tikilib.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/lib/tikilib.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -1583,6 +1583,9 @@ } $ret[] = "Registered"; $ret[] = "Anonymous"; + if($_SESSION["groups_are_emulated"]=="y"){ + $ret = array_intersect($ret,unserialize($_SESSION['groups_emulated'])); + } $ret = array_unique($ret); $this->usergroups_cache[$user] = $ret; return $ret; @@ -5080,9 +5083,8 @@ $html=$is_html?1:0; if ($html && $prefs['feature_purifier'] != 'n') { - require "lib/htmlpurifier/HTMLPurifier.auto.php"; - $purifier = new HTMLPurifier(); - $edit_data = $purifier->purify($edit_data); + require_once('lib/htmlpurifier_tiki/HTMLPurifier.tiki.php'); + $edit_data = HTMLPurifier($edit_data); } $mid = ''; $midvar = ''; $bindvars = array($name, (int)$hits, $data, (int)$lastModif, $comment, 1, $user, $ip, $description, $user, (int)strlen($data), $html, $this->now, $wysiwyg, $wiki_authors_style); @@ -7732,9 +7734,8 @@ $html=$is_html?1:0; if ($html && $prefs['feature_purifier'] != 'n') { - require "lib/htmlpurifier/HTMLPurifier.auto.php"; - $purifier = new HTMLPurifier(); - $edit_data = $purifier->purify($edit_data); + require_once('lib/htmlpurifier_tiki/HTMLPurifier.tiki.php'); + $edit_data = HTMLPurifier($edit_data); } $mid = ''; Modified: branches/experimental/ws/lib/wiki-plugins/wikiplugin_files.php =================================================================== --- branches/experimental/ws/lib/wiki-plugins/wikiplugin_files.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/lib/wiki-plugins/wikiplugin_files.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -140,6 +140,11 @@ if (isset($categId) && strstr($categId, ':')) { $categId = explode(':', $categId); } + static $iplugin = 0; + ++$iplugin; + if (isset($_REQUEST["wp_files_sort_mode$iplugin"])) { + $sort = $_REQUEST["wp_files_sort_mode$iplugin"]; + } if (!isset($sort)) $sort = 'name_asc'; if (isset($galleryId)) { @@ -186,7 +191,7 @@ } } elseif (isset($categId)) { // galls of this category - $objects = $categlib->list_category_objects($categId, 0, -1, $sort, 'file gallery'); + $objects = $categlib->list_category_objects($categId, 0, -1, 'itemId_asc', 'file gallery'); // get the files of the gallery foreach ($objects['data'] as $og) { $gal_info = $tikilib->get_file_gallery($og['itemId']); @@ -220,7 +225,7 @@ } } // files from this categ - $objects = $categlib->list_category_objects($categId, 0, -1, $sort, 'file'); + $objects = $categlib->list_category_objects($categId, 0, -1, 'itemId_asc', 'file'); foreach ($objects['data'] as $of) { $info = $filegallib->get_file_info($of['itemId']); $gal_info = $tikilib->get_file_gallery($info['galleryId']); @@ -291,5 +296,6 @@ $showfind = 'n'; } $smarty->assign_by_ref('show_find', $showfind); + $smarty->assign('sort_arg', "wp_files_sort_mode$iplugin"); return '~np~'.$smarty->fetch('wiki-plugins/wikiplugin_files.tpl').'~/np~'; } Copied: branches/experimental/ws/modules/mod-groups_emulation.php (from rev 19891, trunk/modules/mod-groups_emulation.php) =================================================================== --- branches/experimental/ws/modules/mod-groups_emulation.php (rev 0) +++ branches/experimental/ws/modules/mod-groups_emulation.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -0,0 +1,42 @@ +<?php + +//this script may only be included - so its better to die if called directly. +if (strpos($_SERVER["SCRIPT_NAME"],basename(__FILE__)) !== false) { + header("location: index.php"); + exit; +} + +global $tikilib, $smarty, $tiki_p_admin; + +$smarty->assign('groups_are_emulated', $_SESSION["groups_are_emulated"]); +$smarty->assign_by_ref('groups_emulated', unserialize($_SESSION['groups_emulated'])); + +// Admins can see all existing groups +if ($tiki_p_admin == 'y') { + $allGroups = array(); + $alls = $userlib->get_groups(); + foreach($alls['data'] as $g) { + $allGroups[$g['groupName']] = "real"; + } + $smarty->assign_by_ref('allGroups', $allGroups); +} + +// Extract list of groups of user, including included groups +$userGroups = $userlib->get_user_groups_inclusion($user); +// If group Anonymous was absent, still add it so it is displayed as a reminder that its perms apply +if( !$userGroups["Anonymous"] ) { + $userGroups["Anonymous"] = "included"; +} +$chooseGroups = $userGroups; +$chooseGroups["Anonymous"] = "included"; +if(isset($user)) { + $chooseGroups["Registered"] = "included"; +} +$smarty->assign_by_ref('userGroups', $userGroups); +$smarty->assign_by_ref('chooseGroups', $chooseGroups); +$tikilib->debug("user: $user",$debug,"green"); +$tikilib->debug("userGroups",$debug,"green"); +$tikilib->debug_r($userGroups,$debug,"green"); +$tikilib->debug("chooseGroups",$debug,"green"); +$tikilib->debug_r($chooseGroups,$debug,"green"); + Modified: branches/experimental/ws/modules/mod-webmail_inbox.php =================================================================== --- branches/experimental/ws/modules/mod-webmail_inbox.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/modules/mod-webmail_inbox.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -174,7 +174,8 @@ $smarty->assign('maxlen', isset($module_params['maxlen']) ? $module_params['maxlen'] : 30); $smarty->assign('nonums', isset($module_params['nonums']) ? $module_params['nonums'] : 'n'); $smarty->assign('request_uri', strpos($_SERVER['REQUEST_URI'], '?') === false ? $_SERVER['REQUEST_URI'].'?' : $_SERVER['REQUEST_URI'].'&'); -$module_rows = count($webmail_list); +$module_rows = count($webmail_list_page); +$smarty->assign('module_type', 'module'); $smarty->assign('module_rows', $module_rows); if (isset($module_params['title'])) { $smarty->assign('tpl_module_title', $module_params['title']); Modified: branches/experimental/ws/styles/darkroom.css =================================================================== --- branches/experimental/ws/styles/darkroom.css 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/styles/darkroom.css 2009-07-02 09:03:16 UTC (rev 19896) @@ -2441,27 +2441,27 @@ border: 1px solid #999999; padding-left: 2px} -td.prio1 {background: #F7F9CA} -td.prio2 {background: #F7F9EA} -td.prio3 {background: #F7F9FA} -td.prio4 {background: #F7F9FD} -td.prio5 {background: #F7F9FF} +td.prio1 {background: #696969} +td.prio2 {background: #3f3f3f} +td.prio3 {background: #474747} +td.prio4 {background: #292929} +td.prio5 {background: #000} div.messureadflag { - background: #CCCCCC; + background: inherit; padding-left: 5px} div.messureadhead { - background: #DEDEDE; + background: #3f3f3f; margin-top: 2px} div.messureadbody { margin-top: 5px; - background: #DEDEDE} + background: #3f3f3f} .readlink { font-size: .95em; - color: #D8D8D8} + color: #d8d8d8} /***** Ajax *****/ Property changes on: branches/experimental/ws/temp/cache ___________________________________________________________________ Modified: svn:ignore - ???????????????????????????????? wikiplugin_* profile???????????????????????????????? menu_* fgals_perms_* wiki-* fgals_* thumbnail_* + * Modified: branches/experimental/ws/templates/list_file_gallery_content.tpl =================================================================== --- branches/experimental/ws/templates/list_file_gallery_content.tpl 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/templates/list_file_gallery_content.tpl 2009-07-02 09:03:16 UTC (rev 19896) @@ -1,3 +1,4 @@ +{if empty($sort_arg)}{assign var='sort_arg' value='sort_mode'}{/if} <table class="normal"> <tr> {if $gal_info.show_checked ne 'n' and ($tiki_p_admin_file_galleries eq 'y' or $tiki_p_upload_files eq 'y')} @@ -9,7 +10,7 @@ <th style="width:1%"> </th> {/if} - {if $show_parentName eq 'y'}<th>{self_link _sort_arg="sort_mode" _sort_field='parentName'}{tr}Gallery{/tr}{/self_link}</th>{/if} + {if $show_parentName eq 'y'}<th>{self_link _sort_arg=$sort_arg _sort_field='parentName'}{tr}Gallery{/tr}{/self_link}</th>{/if} {foreach from=$fgal_listing_conf item=item key=propname} {if isset($item.key)} {assign var=key_name value=$item.key} @@ -44,12 +45,12 @@ {if $propname eq 'name' and ( $gal_info.show_name eq 'a' or $gal_info.show_name eq 'f' ) } {assign var=nbCols value=`$nbCols+1`} - <th{$td_args}>{self_link _sort_arg="sort_mode" _sort_field='filename'}{if empty($galleryId)}{tr}Name{/tr}{else}{tr}Filename{/tr}{/if}{/self_link}</th> + <th{$td_args}>{self_link _sort_arg=$sort_arg _sort_field='filename'}{if empty($galleryId)}{tr}Name{/tr}{else}{tr}Filename{/tr}{/if}{/self_link}</th> {/if} {if !($galleryId eq 0 and $propname eq 'lockedby') and ($propname neq 'name' or ( $gal_info.show_name eq 'a' or $gal_info.show_name eq 'n' )) } {assign var=nbCols value=`$nbCols+1`} <th{$td_args}> - {self_link _sort_arg="sort_mode" _sort_field=$propname _title=$link_title} + {self_link _sort_arg=$sort_arg _sort_field=$propname _title=$link_title} {if $propicon}{icon _id=$propicon alt=$link_title}{else}{$propval}{/if} {/self_link} </th> @@ -75,7 +76,7 @@ {if $other_columns_selected neq ''} {assign var=nbCols value=`$nbCols+1`} <th> - {self_link _sort_arg='sort_mode' _sort_field=$other_columns_selected _title=$fgal_listing_conf.$other_columns_selected.name}{$fgal_listing_conf.$other_columns_selected.name}{/self_link} + {self_link _sort_arg=$sort_arg _sort_field=$other_columns_selected _title=$fgal_listing_conf.$other_columns_selected.name}{$fgal_listing_conf.$other_columns_selected.name}{/self_link} </th> {/if} Copied: branches/experimental/ws/templates/modules/mod-groups_emulation.tpl (from rev 19891, trunk/templates/modules/mod-groups_emulation.tpl) =================================================================== --- branches/experimental/ws/templates/modules/mod-groups_emulation.tpl (rev 0) +++ branches/experimental/ws/templates/modules/mod-groups_emulation.tpl 2009-07-02 09:03:16 UTC (rev 19896) @@ -0,0 +1,61 @@ +{strip} +{* params: + mode: 'menu' or 'flags' (default=menu) + prefix: Module title prefix text (default='Emulate Groups:') +*} +{if !isset($tpl_module_title)} + {assign var=tpl_module_title value="{tr}Emulate Groups{/tr}"} +{/if} +{tikimodule error=$module_params.error title=$tpl_module_title name="switch_lang" flip=$module_params.flip decorations=$module_params.decorations nobox=$module_params.nobox notitle=$module_params.notitle} + {if isset($allGroups)} + <fieldset> + <legend>{tr}All Groups{/tr}</legend> + <ul > + {foreach from=$allGroups key=groupname item=inclusion name=ix} + <li>{$groupname|escape}</li> + {/foreach} + </ul > + </fieldset> + {/if} + + <fieldset> + <legend>{tr}Your Groups{/tr}</legend> + <ul > + {foreach from=$userGroups key=groupname item=inclusion name=ix} + {if $inclusion eq 'included' } + <li><i>{$groupname|escape}</i></li> + {else} + <li>{$groupname|escape}</li> + {/if} + {/foreach} + </ul > + </fieldset> + + {if $groups_are_emulated eq 'y' } + <fieldset> + <legend>{tr}Emulated Groups{/tr}</legend> + <ul > + {section name=ix loop=$groups_emulated} + <li>{$groups_emulated[ix]}</li> + {/section} + </ul > + <form method="get" action="tiki-emulate_groups_switch.php" target="_self"> + <div style="text-align: center"><button type="submit" name="emulategroups" value="resetgroups">{tr}Reset{/tr}</button></div> + </form> + </fieldset> + {/if} + + <form method="get" action="tiki-emulate_groups_switch.php" target="_self"> + <fieldset> + <legend>{tr}Switch to Groups{/tr}</legend> + <select name="switchgroups[]" size="{$module_params.rows}" multiple > + {foreach from=$chooseGroups key=groupname item=inclusion name=ix} + <option value="{$groupname|escape}" >{$groupname|escape}</option> + {/foreach} + </select> + <div style="text-align: center"><button type="submit" name="emulategroups" value="setgroups" >{tr}Simulate{/tr}</button></div> + </fieldset> + </form> +<br /> +{/tikimodule} +{/strip} Modified: branches/experimental/ws/templates/tiki-admin-include-look.tpl =================================================================== --- branches/experimental/ws/templates/tiki-admin-include-look.tpl 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/templates/tiki-admin-include-look.tpl 2009-07-02 09:03:16 UTC (rev 19896) @@ -167,7 +167,7 @@ <label for="feature_layoutshadows">{tr}Activate{/tr}:</label> </td> <td> - <input class="checkbox" type="checkbox" name="feature_layoutshadows" id="feature_layoutshadows"{if $prefs.feature_layoutshadows eq 'y'} checked="checked"{/if} onclick="toggleTrTd('shd1');toggleTrTd('shd2');toggleTrTd('shd3');toggleTrTd('shd4');toggleTrTd('shd5');toggleTrTd('shd6');toggleTrTd('shd7');toggleTrTd('shd8');toggleTrTd('shd9');toggleTrTd('shd10');" /> + <input class="checkbox" type="checkbox" name="feature_layoutshadows" id="feature_layoutshadows"{if $prefs.feature_layoutshadows eq 'y'} checked="checked"{/if} onclick="toggleTrTd('shd1');toggleTrTd('shd2');toggleTrTd('shd3');toggleTrTd('shd4');toggleTrTd('shd5');toggleTrTd('shd6');toggleTrTd('shd7');toggleTrTd('shd8');toggleTrTd('shd9');toggleTrTd('shd10');toggleTrTd('shd11');toggleTrTd('shd12');" /> </td> </tr> <tr id="shd1" {if $prefs.feature_layoutshadows ne 'y' and $prefs.javascript_enabled eq 'y'} style="display:none;"{/if}> @@ -210,6 +210,14 @@ <td class="form"><label for="footer_shadow_end">{tr}Footer shadow end{/tr}</label></td> <td class="form"><textarea name="footer_shadow_end" id="footer_shadow_end" rows="2" cols="40">{$prefs.footer_shadow_end|escape}</textarea></td> </tr> + <tr id="shd11" {if $prefs.feature_layoutshadows ne 'y' and $prefs.javascript_enabled eq 'y'} style="display:none;"{/if}> + <td class="form"><label for="box_shadow_start">{tr}Module (box) shadow start{/tr}</label></td> + <td class="form"><textarea name="box_shadow_start" id="box_shadow_start" rows="2" cols="40">{$prefs.box_shadow_start|escape}</textarea></td> + </tr> + <tr id="shd12" {if $prefs.feature_layoutshadows ne 'y' and $prefs.javascript_enabled eq 'y'} style="display:none;"{/if}> + <td class="form"><label for="box_shadow_end">{tr}Module (box) shadow end{/tr}</label></td> + <td class="form"><textarea name="box_shadow_end" id="box_shadow_end" rows="2" cols="40">{$prefs.box_shadow_end|escape}</textarea></td> + </tr> </table> </fieldset> Modified: branches/experimental/ws/templates/tiki-webmail.tpl =================================================================== --- branches/experimental/ws/templates/tiki-webmail.tpl 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/templates/tiki-webmail.tpl 2009-07-02 09:03:16 UTC (rev 19896) @@ -292,14 +292,6 @@ {if $locSection eq 'mailbox'} - {if $autoRefresh neq 0} - <script type="text/JavaScript"> - <!-- - setTimeout("location.reload(true);",{$autoRefresh}*1000); - // --> - </script> - {/if} - <table width="100%"> <tr> <td> @@ -643,11 +635,15 @@ </td> </tr> <tr class="formcolor"> - <td>{tr}CC{/tr}</td> <td> + <a title="{tr}Select from address book{/tr}" class="link" href="#" onclick="javascript:window.open('tiki-webmail_contacts.php?element=cc','','menubar=no,width=452,height=550');">{tr}CC{/tr}</a>: + </td> + <td> <input id="cc" type="text" name="cc" value="{$cc|escape}" /></td> - <td>{tr}BCC{/tr}</td> <td> + <a title="{tr}Select from address book{/tr}" class="link" href="#" onclick="javascript:window.open('tiki-webmail_contacts.php?element=bcc','','menubar=no,width=452,height=550');">{tr}BCC{/tr}</a>: + </td> + <td> <input type="text" name="bcc" value="{$bcc}" id="bcc" /> </td> </tr> Modified: branches/experimental/ws/templates/tiki-webmail_contacts.tpl =================================================================== --- branches/experimental/ws/templates/tiki-webmail_contacts.tpl 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/templates/tiki-webmail_contacts.tpl 2009-07-02 09:03:16 UTC (rev 19896) @@ -40,23 +40,23 @@ </a> </th> </tr> - {cycle values="odd,even" print=false} {section name=user - loop=$channels} - <tr> - <td class="{cycle advance=false}">{$channels[user].firstName}</td> - <td class="{cycle advance=false}">{$channels[user].lastName}</td> - <td class="{cycle advance=false}"> - <a class="link" href="#" onclick="javascript:window.opener.document.getElementById('{$element}').value=window.opener.document.getElementById('{$element}').value + '{$channels[user].email}' + ' ';"> - {$channels[user].email} - </a> - [ - <a class="link" href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={$sort_mode}&find={$find}&remove={$channels[user].contactId}" title="{tr}Delete{/tr}"> - {icon _id='cross' alt='{tr}Delete{/tr}'} - </a> - ] - </td> - <td class="{cycle advance=false}">{$channels[user].nickname}</td> - </tr> + {cycle values="odd,even" print=false} + {section name=user loop=$channels} + <tr> + <td class="{cycle advance=false}">{$channels[user].firstName}</td> + <td class="{cycle advance=false}">{$channels[user].lastName}</td> + <td class="{cycle advance=false}"> + <a class="link" href="#" onclick="javascript:window.opener.document.getElementById('{$element}').value=window.opener.document.getElementById('{$element}').value + '{$channels[user].email}' + ' ';"> + {$channels[user].email} + </a> + [ + <a class="link" href="tiki-webmail_contacts.php?element={$element}&section=contacts&offset={$offset}&sort_mode={$sort_mode}&find={$find}&remove={$channels[user].contactId}" title="{tr}Delete{/tr}"> + {icon _id='cross' alt='{tr}Delete{/tr}'} + </a> + ] + </td> + <td class="{cycle advance=false}">{$channels[user].nickname}</td> + </tr> {/section} </table> <div class="mini"> Modified: branches/experimental/ws/tiki-admin_include_look.php =================================================================== --- branches/experimental/ws/tiki-admin_include_look.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/tiki-admin_include_look.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -122,6 +122,8 @@ 'center_shadow_end', 'footer_shadow_start', 'footer_shadow_end', + 'box_shadow_start', + 'box_shadow_end', ); foreach ($pref_simple_values as $svitem) { Copied: branches/experimental/ws/tiki-emulate_groups_switch.php (from rev 19891, trunk/tiki-emulate_groups_switch.php) =================================================================== --- branches/experimental/ws/tiki-emulate_groups_switch.php (rev 0) +++ branches/experimental/ws/tiki-emulate_groups_switch.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -0,0 +1,62 @@ +<?php +require_once('tiki-setup.php'); + +if (isset($_GET['from'])) { + $orig_url = $_GET['from']; +} elseif (isset($_SERVER['HTTP_REFERER'])) { + $orig_url = $_SERVER['HTTP_REFERER']; +} else { + $orig_url = $prefs['tikiIndex']; +} + +if ($prefs['feature_sefurl'] == 'y' && !strstr($orig_url, '.php') && !preg_match('/article[0-9]+$/', $orig_url)) { + $orig_url = preg_replace('#\/([^\/]+)$#', '/tiki-index.php?page=$1', $orig_url); +} + +// Handle form processing +if ( isset($_REQUEST["emulategroups"]) ){ + if( $_REQUEST["emulategroups"] == "setgroups" ) { + // User has selected a list of groups to emulate + $_SESSION["groups_are_emulated"]="y"; + if( count($_REQUEST["switchgroups"]) ) { + $groups_emulated = array(); + $dont_forget_registered = 0; + while( list(,$value)=each($_REQUEST["switchgroups"]) ) { + $groups_emulated[]=$value; + $included = $tikilib->get_included_groups($value); + $groups_emulated = array_merge($groups_emulated, $included); + // If one is member of a group different from Anonymous then one + // automatically has the rights of group "Registered" + if( $value != "Registered" && $value != "Anonymous" ) $dont_forget_registered = 1; + } + if( $dont_forget_registered == 1 && isset($user) ) { + $groups_emulated[]="Registered"; + $included = $tikilib->get_included_groups("Registered"); + $groups_emulated = array_merge($groups_emulated, $included); + } + $groups_emulated[]="Anonymous"; + // In case someone sees a point in including groups in "Anonymous" + $included = $tikilib->get_included_groups("Anonymous"); + $groups_emulated = array_merge($groups_emulated, $included); + $groups_emulated = array_unique($groups_emulated); + }else{ + // Let's say clicking with nothing selected is the same as reset + // Saying it's the same as Anonymous has the disadvantage of probably + // hiding the module, so the user would need to logout + $_SESSION["groups_are_emulated"]="n"; + $groups_emulated = array(); + $_SESSION['groups_emulated'] = serialize($groups_emulated); + } + $_SESSION['groups_emulated'] = serialize($groups_emulated); + }elseif( $_REQUEST["emulategroups"] == "resetgroups" ) { + // User stops groups emulation (logging out is an alternate solution for user) + $_SESSION["groups_are_emulated"]="n"; + $groups_emulated = array(); + $_SESSION['groups_emulated'] = serialize($groups_emulated); + } +} +$smarty->assign('groups_are_emulated', $_SESSION["groups_are_emulated"]); +$smarty->assign_by_ref('groups_emulated', unserialize($_SESSION['groups_emulated'])); + +header("location: $orig_url"); +exit; Modified: branches/experimental/ws/tiki-webmail.php =================================================================== --- branches/experimental/ws/tiki-webmail.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/tiki-webmail.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -68,6 +68,7 @@ if (!isset($_REQUEST["locSection"])) { $_REQUEST["locSection"] = 'mailbox'; } +$headerlib->add_js('var webmailTimeoutId = null;',0); $smarty->assign('locSection', $_REQUEST["locSection"]); // Search if we have to add some contacts @@ -91,7 +92,8 @@ } else { $smarty->assign('fullheaders', 'n'); } - + $headerlib->add_js('if (webmailTimeoutId) {window.clearTimeout(webmailTimeoutId);}',0); + $current = $webmaillib->get_current_webmail_account($user); @@ -153,8 +155,9 @@ $bod = $bodies[$i]['body']; // Clean the string using HTML Purifier - require_once('lib/htmlpurifier/HTMLPurifier.auto.php'); - require_once('lib/htmlpurifier/HTMLPurifier.func.php'); + //require_once('lib/htmlpurifier/HTMLPurifier.auto.php'); + //require_once('lib/htmlpurifier/HTMLPurifier.func.php'); + require_once('lib/htmlpurifier_tiki/HTMLPurifier.tiki.php'); $bod = HTMLPurifier($bod); if (preg_match_all('/<[\/]?body[^>]*>/i', $bod, $m, PREG_OFFSET_CAPTURE) && count($m) > 0 && count($m[0]) > 1) { @@ -245,11 +248,11 @@ } $aux['timestamp'] = strtotime($aux['delivery-date']); - $aux['subject'] = utf8_encode($aux['subject']); - $aux['from'] = utf8_encode($aux['from']); - $aux['to'] = utf8_encode($aux['to']); - $aux['cc'] = utf8_encode($aux['cc']); - $aux['date'] = utf8_encode($aux['date']); + $aux['subject'] = isset($aux['subject']) ? utf8_encode($aux['subject']) : ''; + $aux['from'] = isset($aux['from']) ? utf8_encode($aux['from']) : ''; + $aux['to'] = isset($aux['to']) ? utf8_encode($aux['to']) : ''; + $aux['cc'] = isset($aux['cc']) ? utf8_encode($aux['cc']) : ''; + $aux['date'] = isset($aux['date']) ? utf8_encode($aux['date']) : ''; $smarty->assign('headers', $aux); @@ -264,6 +267,12 @@ if ($_REQUEST["locSection"] == 'mailbox') { + $current = $webmaillib->get_current_webmail_account($user); + if (!$current) { + handleWebmailRedirect("locSection=settings"); + } + + $autoRefresh = $current['autoRefresh']; $js = <<< END function submit_form(msgname,flg) { @@ -271,6 +280,8 @@ document.mailb.elements.quickFlagMsg.value= msgname; document.mailb.submit(); } + +webmailTimeoutId = window.setTimeout("window.location.reload(true);",$autoRefresh*1000); END; $headerlib->add_js($js,0); @@ -284,11 +295,6 @@ closedir ($h); - $current = $webmaillib->get_current_webmail_account($user); - if (!$current) { - handleWebmailRedirect("locSection=settings"); - } - $smarty->assign('current', $current); $smarty->assign('autoRefresh',$current['autoRefresh']); $smarty->assign('imap',$current['imap']); @@ -571,6 +577,7 @@ END; $headerlib->add_jq_onready($js); } + $headerlib->add_js('if (webmailTimeoutId) {window.clearTimeout(webmailTimeoutId);}',0); if (isset($_REQUEST["conmsg"])) { check_ticket('webmail'); @@ -668,7 +675,8 @@ if (!$current) { handleWebmailRedirect("locSection=settings"); } - + $headerlib->add_js('if (webmailTimeoutId) {window.clearTimeout(webmailTimeoutId);}',0); + // Send a message if (isset($_REQUEST["reply"]) || isset($_REQUEST["replyall"])) { check_ticket('webmail'); @@ -909,7 +917,8 @@ if (!isset($_REQUEST["contactId"])) { $_REQUEST["contactId"] = 0; } - + $headerlib->add_js('if (webmailTimeoutId) {window.clearTimeout(webmailTimeoutId);}',0); + $smarty->assign('contactId', $_REQUEST["contactId"]); if ($_REQUEST["contactId"]) { Modified: branches/experimental/ws/tiki_tests/tiki-tests_replay.php =================================================================== --- branches/experimental/ws/tiki_tests/tiki-tests_replay.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/tiki_tests/tiki-tests_replay.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -138,8 +138,8 @@ } } else { if (!$loaded) { - require_once("lib/htmlpurifier/HTMLPurifier.auto.php"); - $config =& HTMLPurifier_Config::createDefault(); + require_once('lib/htmlpurifier_tiki/HTMLPurifier.tiki.php'); + $config = getHTMLPurifierTikiConfig(); $config->set('HTML', 'Doctype', 'XHTML 1.0 Transitional'); $config->set('HTML', 'TidyLevel', 'light'); $purifier = new HTMLPurifier($config); Modified: branches/experimental/ws/tiki_tests/tiki-tests_show_xpath.php =================================================================== --- branches/experimental/ws/tiki_tests/tiki-tests_show_xpath.php 2009-07-02 08:02:05 UTC (rev 19895) +++ branches/experimental/ws/tiki_tests/tiki-tests_show_xpath.php 2009-07-02 09:03:16 UTC (rev 19896) @@ -45,8 +45,8 @@ tidy_diagnose($data); } else { if (!$loaded) { - require_once("lib/htmlpurifier/HTMLPurifier.auto.php"); - $config =& HTMLPurifier_Config::createDefault(); + require_once('lib/htmlpurifier_tiki/HTMLPurifier.tiki.php'); + $config = getHTMLPurifierTikiConfig(); $config->set('HTML', 'Doctype', 'XHTML 1.0 Transitional'); $config->set('Attr','EnableID', true); $purifier = new HTMLPurifier($config); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |