Update of /cvsroot/tikiwiki/tiki In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27662 Modified Files: messu-broadcast.php tiki-admin_categories.php tiki-admin_tracker_fields.php tiki-directory_admin_sites.php tiki-install.php tiki-listpages.php tiki-setup.php tiki-switch_lang.php tiki-upload_file.php tiki-view_tracker.php tiki-view_tracker_item.php Log Message: Instant-Auto-Merge from BRANCH-1-9 to HEAD Index: messu-broadcast.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/messu-broadcast.php,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- messu-broadcast.php 3 Dec 2006 16:27:10 -0000 1.27 +++ messu-broadcast.php 8 Feb 2007 13:51:20 -0000 1.28 @@ -108,8 +108,8 @@ foreach ($all_users as $a_user) { if (!empty($a_user)) { - if ($messulib->user_exists($a_user)) { - if ($messulib->get_user_preference($a_user, 'allowMsgs', 'y')) { + if ($userlib->user_exists($a_user)) { + if ($tikilib->get_user_preference($a_user, 'allowMsgs', 'y')) { $users[] = $a_user; } else { // TODO: needs translation as soon as there is a solution for strings with embedded variables Index: tiki-admin_categories.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-admin_categories.php,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- tiki-admin_categories.php 19 Sep 2006 16:33:06 -0000 1.43 +++ tiki-admin_categories.php 8 Feb 2007 13:51:20 -0000 1.44 @@ -150,7 +150,9 @@ if (isset($_REQUEST["save"]) && isset($_REQUEST["name"]) && strlen($_REQUEST["name"]) > 0) { check_ticket('admin-categories'); // Save - if ($_REQUEST["categId"]) { + if ($categlib->exist_child_category($_REQUEST['parentId'], $_REQUEST['name'])) { + $errors[]= 'You can not create a category with a name already existing at this level';//tra('You can not create a category with a name already existing at this level'); + } else if ($_REQUEST["categId"]) { if ($_REQUEST['parentId'] == $_REQUEST['categId']) { $smarty->assign('msg', tra("Category can`t be parent of itself")); $smarty->display("error.tpl"); @@ -347,6 +349,8 @@ $smarty->assign_by_ref('directories', $directories["data"]); ask_ticket('admin-categories'); +if (!empty($errors)) + $smarty->assign_by_ref('errors', $errors); // disallow robots to index page: $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); Index: tiki-admin_tracker_fields.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-admin_tracker_fields.php,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- tiki-admin_tracker_fields.php 24 Nov 2006 17:30:43 -0000 1.43 +++ tiki-admin_tracker_fields.php 8 Feb 2007 13:51:20 -0000 1.44 @@ -231,7 +231,7 @@ $smarty->assign('max', $max); $smarty->assign_by_ref('sort_mode', $sort_mode); -$channels = $trklib->list_tracker_fields($_REQUEST["trackerId"], $offset, $max, $sort_mode, $find); +$channels = $trklib->list_tracker_fields($_REQUEST["trackerId"], $offset, $max, $sort_mode, $find, false); $plug = array(); foreach ($channels['data'] as $c) { if ($c['isPublic'] == 'y') { Index: tiki-directory_admin_sites.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-directory_admin_sites.php,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- tiki-directory_admin_sites.php 19 Sep 2006 16:33:15 -0000 1.18 +++ tiki-directory_admin_sites.php 8 Feb 2007 13:51:20 -0000 1.19 @@ -80,13 +80,20 @@ // Remove a category if (isset($_REQUEST["remove"])) { - $area = 'deldirsite'; - if ($feature_ticketlib2 != 'y' or (isset($_POST['daconfirm']) and isset($_SESSION["ticket_$area"]))) { - key_check($area); - $dirlib->dir_remove_site($_REQUEST["remove"]); - } else { - key_get($area); - } + if (is_array($_REQUEST["remove"])) { + check_ticket('dir-admin-sites'); + foreach ($_REQUEST["remove"] as $remid) { + $dirlib->dir_remove_site($remid); + } + } else { + $area = 'deldirsite'; + if ($feature_ticketlib2 != 'y' or (isset($_POST['daconfirm']) and isset($_SESSION["ticket_$area"]))) { + key_check($area); + $dirlib->dir_remove_site($_REQUEST["remove"]); + } else { + key_get($area); + } + } } // Replace (add or edit) a category Index: tiki-install.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-install.php,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- tiki-install.php 20 Dec 2006 12:23:47 -0000 1.81 +++ tiki-install.php 8 Feb 2007 13:51:20 -0000 1.82 @@ -15,4 +15,237 @@ include_once("installer/tiki-installer.php"); } +function process_sql_file($file,$db_tiki) { + global $dbTiki; + + global $succcommands; + global $failedcommands; + global $smarty; + if(!isset($succcommands)) { + $succcommands=array(); + $failedcommands=array(); + } + + $command = ''; + if(!$fp = fopen("db/$file", "r")) { + print('Fatal: Cannot open db/'.$file); + exit(1); + } + + while(!feof($fp)) { + $command.= fread($fp,4096); + } + + switch ($db_tiki) { + case "sybase": + $statements=split("(\r|\n)go(\r|\n)",$command); + break; + case "mssql": + $statements=split("(\r|\n)go(\r|\n)",$command); + break; + case "oci8": + $statements=preg_split("#(;\s*\n)|(\n/\n)#",$command); + break; + default: + $statements=preg_split("#(;\s*\n)|(;\s*\r\n)#",$command); + break; + } + $prestmt=""; + $do_exec=true; + foreach ($statements as $statement) { + //echo "executing $statement </br>"; + if (trim($statement)) { + switch ($db_tiki) { + case "oci8": + // we have to preserve the ";" in sqlplus programs (triggers) + if (preg_match("/BEGIN/",$statement)) { + $prestmt=$statement.";"; + $do_exec=false; + } + if (preg_match("/END/",$statement)) { + $statement=$prestmt."\n".$statement.";"; + $do_exec=true; + } + if($do_exec) $result = $dbTiki->Execute($statement); + break; + default: + $result = $dbTiki->Execute($statement); + break; + } + + if (!$result) { + $failedcommands[]= "Command: ".$statement."\nMessage: ".$dbTiki->ErrorMsg()."\n\n"; + //trigger_error("DB error: " . $dbTiki->ErrorMsg(). " in query:<br /><pre>" . $command . "<pre/><br />", E_USER_WARNING); + // Do not die at the moment. We need some better error checking here + //die; + } else { + $succcommands[]=$statement; + } + } + } + + $smarty->assign_by_ref('succcommands', $succcommands); + $smarty->assign_by_ref('failedcommands', $failedcommands); +} + +function write_local_php($dbb_tiki,$host_tiki,$user_tiki,$pass_tiki,$dbs_tiki,$dbversion_tiki="1.9") { + global $local; + global $db_tiki; + if ($dbs_tiki and $user_tiki) { + $db_tiki=addslashes($dbb_tiki); + $host_tiki=addslashes($host_tiki); + $user_tiki=addslashes($user_tiki); + $pass_tiki=addslashes($pass_tiki); + $dbs_tiki=addslashes($dbs_tiki); + $fw = fopen($local, 'w'); + $filetowrite="<?php\n\$db_tiki='".$db_tiki."';\n"; + $filetowrite.="\$dbversion_tiki='".$dbversion_tiki."';\n"; + $filetowrite.="\$host_tiki='".$host_tiki."';\n"; + $filetowrite.="\$user_tiki='".$user_tiki."';\n"; + $filetowrite.="\$pass_tiki='".$pass_tiki."';\n"; + $filetowrite.="\$dbs_tiki='".$dbs_tiki."';\n"; + $filetowrite.="?>"; + fwrite($fw, $filetowrite); + fclose ($fw); + } +} + +function create_dirs($domain=''){ + global $docroot; + $dirs=array( + 'backups', + 'db', + 'dump', + 'img/wiki', + 'img/wiki_up', + 'img/trackers', + 'modules/cache', + 'temp', + 'temp/cache', + 'templates_c', + 'templates', + 'styles', + 'whelp'); + + if (file_exists('lib/Galaxia')) + array_push($dirs, 'lib/Galaxia/processes'); + + $ret = ""; + foreach ($dirs as $dir) { + $dir = $dir.'/'.$domain; + // Create directories as needed + if (!is_dir($dir)) { + @mkdir($dir,02775); + } + @chmod($dir,02775); + // Check again and report problems + if (!is_dir($dir)) { + $ret .= "The directory '$docroot/$dir' does not exist.\n"; + } else if (!is_writeable($dir)) { + $ret .= "The directory '$docroot/$dir' is not writeable.\n"; + } + } + return $ret; +} + +function isWindows() { + static $windows; + + if (!isset($windows)) { + $windows = substr(PHP_OS, 0, 3) == 'WIN'; + } + + return $windows; +} + +class Smarty_TikiWiki extends Smarty { + + function Smarty_TikiWiki() { + $this->template_dir = "templates/"; + $this->compile_dir = "templates_c/"; + $this->config_dir = "configs/"; + $this->cache_dir = "cache/"; + $this->caching = false; + $this->assign('app_name', 'TikiWiki'); + $this->plugins_dir = array( + dirname(dirname(SMARTY_DIR))."/smarty_tiki", + SMARTY_DIR."plugins" + ); + // we cannot use subdirs in safe mode + if(ini_get('safe_mode')) { + $this->use_sub_dirs = false; + } + //$this->debugging = true; + //$this->debug_tpl = 'debug.tpl'; + } + + function fetch($_smarty_tpl_file, $_smarty_cache_id = null, $_smarty_compile_id = null, $_smarty_display = false) { + global $language; + $_smarty_cache_id = $language . $_smarty_cache_id; + $_smarty_compile_id = $language . $_smarty_compile_id; + return parent::fetch($_smarty_tpl_file, $_smarty_cache_id, $_smarty_compile_id, $_smarty_display); + } +} + +function kill_script() { + // remove the header and die comments to render this script dead + $removed = false; + $fh = fopen('tiki-install.php', 'rb'); + $data = fread($fh, filesize('tiki-install.php')); + fclose($fh); + + $data = preg_replace('/\/\/stopinstall: /', '', $data); + + if (is_writable("tiki-install.php")) { + $fh = fopen('tiki-install.php', 'wb'); + if (fwrite($fh, $data) > 0) { + $removed = true; + } + fclose($fh); + } + + if ($removed == true) { + header ('location: tiki-index.php'); + } else { // TODO: display this via translantable error msg template ? + print "<html><head><title>Ooops !</title></head><body> +<h1 style='color: red'>Ooops !</h1> +<p>Tikiwiki installer failed to rename the <b>tiki-install.php</b> file.</p> +<p style='border: solid 1px red; margin: 0 10% 0 10%; text-align: center; width: 80%'>Leaving this file on a publicly accessible site is a <strong>security risk</strong>.</p> +<p>Please remove or rename the <b>tiki-install.php</b> from your Tiki installation folder 'manually' (e.g. using SSH or FTP). +<strong>Somebody else could be potentially able to wipe out your Tikiwiki database if you do not remove or rename this file !</strong></p> +<p><a href='index.php'>Proceed to your site</a> after you have removed or renamed <b>tiki-install.php</b>.</p> +<p style='text-align: right'>Thank you</p> +</body></html>"; + } + die; +} + +function check_session_save_path() { + global $errors; + if (ini_get('session.save_handler') == 'files') { + $save_path = ini_get('session.save_path'); + // check if we can check it. The session.save_path can be outside + // the open_basedir paths. + $open_basedir=ini_get('open_basedir'); + if (empty($open_basedir)) { + if (!is_dir($save_path)) { + $errors .= "The directory '$save_path' does not exist or PHP is not allowed to access it (check open_basedir entry in php.ini).\n"; + } else if (!is_writeable($save_path)) { + $errors .= "The directory '$save_path' is not writeable.\n"; + } + } + + if ($errors) { + $save_path = TikiInit::tempdir(); + + if (is_dir($save_path) && is_writeable($save_path)) { + ini_set('session.save_path', $save_path); + + $errors = ''; + } + } + } +>>>>>>> 1.62.2.29 +} + ?> Index: tiki-listpages.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-listpages.php,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- tiki-listpages.php 13 Dec 2006 01:53:07 -0000 1.30 +++ tiki-listpages.php 8 Feb 2007 13:51:20 -0000 1.31 @@ -113,7 +113,7 @@ $smarty->assign('initials', split(' ','a b c d e f g h i j k l m n o p q r s t u v w x y z')); // Get a list of last changes to the Wiki database -$listpages = $tikilib->list_pages($offset, $maxRecords, $sort_mode, $find, $initial, $exact_match); +$listpages = $tikilib->list_pages($offset, $maxRecords, $sort_mode, $find, $initial, $exact_match, false, true); // If there're more records then assign next_offset $cant_pages = ceil($listpages["cant"] / $maxRecords); $smarty->assign_by_ref('cant_pages', $cant_pages); Index: tiki-setup.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-setup.php,v retrieving revision 1.395 retrieving revision 1.396 diff -u -d -r1.395 -r1.396 --- tiki-setup.php 6 Feb 2007 04:24:51 -0000 1.395 +++ tiki-setup.php 8 Feb 2007 13:51:20 -0000 1.396 @@ -1454,7 +1454,10 @@ $language = $saveLanguage; $smarty->assign('language', $language); } -} + } elseif (!empty($saveLanguage) && $feature_userPreferences != 'y' && $change_language == 'y') { + $language = $saveLanguage; + $smarty->assign('language', $language); + } if ($lang_use_db != 'y') { // check if needed!!! @@ -1738,7 +1741,7 @@ } if ($feature_wiki_discuss == 'y') { - $wiki_discussion_string = tra ("Use this thread to discuss the page:", $tikilib->get_preference('language', 'en')); + $wiki_discussion_string = $smarty->fetchLang($tikilib->get_preference('language', 'en'), 'wiki-discussion.tpl'); $smarty->assign('wiki_discussion_string', $wiki_discussion_string); } // ------------------------------------------------------ Index: tiki-switch_lang.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-switch_lang.php,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- tiki-switch_lang.php 22 May 2006 17:09:07 -0000 1.9 +++ tiki-switch_lang.php 8 Feb 2007 13:51:20 -0000 1.10 @@ -18,6 +18,8 @@ else if (strstr($orig_url, 'tiki-index.php')) $orig_url .= '?bl=y'; } +$orig_url = preg_replace('/(.*\?.*)switchLang=[a-zA-Z-_]*&?(.*)/', '$1$2', $orig_url); + if(isset($_REQUEST['language'])|| isset($_REQUEST['switchLang'])) { $language = isset($_REQUEST['language'])? $_REQUEST['language']: $_REQUEST['switchLang']; if($feature_userPreferences == 'y' && $user && $change_language == 'y') { Index: tiki-upload_file.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-upload_file.php,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- tiki-upload_file.php 16 Dec 2006 13:02:08 -0000 1.50 +++ tiki-upload_file.php 8 Feb 2007 13:51:20 -0000 1.51 @@ -163,7 +163,7 @@ $filegallib->process_batch_file_upload($_REQUEST["galleryId"], $_FILES["userfile$i"]['tmp_name'], $user, $_REQUEST["description"]); - header ("location: tiki-list_file_gallery.php?galleryId=" . $_REQUEST["galleryId"]); + header ("location: tiki-list_file_gallery.php?galleryId=" . $_REQUEST["galleryId"]); die; } else { $smarty->assign('msg', tra('No permission to upload zipped file packages')); Index: tiki-view_tracker.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-view_tracker.php,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- tiki-view_tracker.php 4 Feb 2007 20:09:33 -0000 1.117 +++ tiki-view_tracker.php 8 Feb 2007 13:51:20 -0000 1.118 @@ -10,7 +10,7 @@ require_once('tiki-setup.php'); include_once('lib/trackers/trackerlib.php'); -include_once('lib/notifications/notificationlib.php'); +global $notificationlib; include_once('lib/notifications/notificationlib.php'); if ($feature_categories == 'y') { global $categlib; @@ -74,9 +74,9 @@ } } -if (!empty($_REQUEST['tab']) && $_REQUEST['tab'] == 'view') { +if (!empty($_REQUEST['show']) && $_REQUEST['show'] == 'view') { $cookietab = '1'; -} elseif (!empty($_REQUEST['tab']) && $_REQUEST['tab'] == 'edit') { +} elseif (!empty($_REQUEST['show']) && $_REQUEST['show'] == 'mod') { $cookietab = '2'; } elseif (empty($_REQUEST['cookietab'])) { if (!($tiki_p_view_trackers == 'y' || $tiki_p_admin == 'y' || $tiki_p_admin_trackers == 'y') && $tiki_p_create_tracker_items == 'y') Index: tiki-view_tracker_item.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/tiki-view_tracker_item.php,v retrieving revision 1.113 retrieving revision 1.114 diff -u -d -r1.113 -r1.114 --- tiki-view_tracker_item.php 4 Feb 2007 20:09:33 -0000 1.113 +++ tiki-view_tracker_item.php 8 Feb 2007 13:51:20 -0000 1.114 @@ -673,15 +673,20 @@ if (!isset($info["$fid"])) $info["$fid"] = ''; } if ($fields["data"][$i]["type"] == 'e') { - include_once('lib/categories/categlib.php'); + global $categlib; include_once('lib/categories/categlib.php'); $k = $fields["data"][$i]["options"]; $ins_fields["data"][$i]["$k"] = $categlib->get_child_categories($k); if (!isset($cat)) { $cat = $categlib->get_object_categories("tracker ".$_REQUEST["trackerId"],$_REQUEST["itemId"]); } - if (isset($cat) && $cat != '') - foreach ($cat as $c) { - $ins_fields["data"][$i]["cat"]["$c"] = 'y'; + if (isset($_REQUEST['save']) || isset($_REQUEST['save_return'])) { + foreach ($ins_categs as $c) { + $ins_fields['data'][$i]['cat']["$c"] = 'y'; + } + } else { + foreach ($cat as $c) { + $ins_fields['data'][$i]['cat']["$c"] = 'y'; + } } } elseif ($fields["data"][$i]["type"] == 'l') { if (isset($fields["data"][$i]["options_array"][3])) { @@ -828,6 +833,7 @@ $smarty->assign('tracker_item_main_value', $ins_fields['data'][$i]['value']); } } + /* **************** seems it is only 1.8 for ($i = 0; $i < count($fields["data"]); $i++) { $name = $fields["data"][$i]["name"]; |