From: <sy...@us...> - 2008-08-05 13:30:27
|
Revision: 14061 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14061&view=rev Author: sylvieg Date: 2008-08-05 13:30:34 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [FIX]perm: tiki_p_assign_perm_wiki_page can be assigned locally to a page Modified Paths: -------------- trunk/templates/tiki-objectpermissions.tpl trunk/templates/tiki-page_bar.tpl trunk/tiki-objectpermissions.php Modified: trunk/templates/tiki-objectpermissions.tpl =================================================================== --- trunk/templates/tiki-objectpermissions.tpl 2008-08-05 12:56:02 UTC (rev 14060) +++ trunk/templates/tiki-objectpermissions.tpl 2008-08-05 13:30:34 UTC (rev 14061) @@ -79,8 +79,8 @@ <h2>{tr}Current permissions for this object{/tr}</h2> <table class="normal"> <tr> - <th class="heading" colspan="2">{tr}Permission{/tr}</th> - <th class="heading">{tr}Group{/tr}</th> + <th class="heading" colspan="2">{tr}Permissions{/tr}</th> + <th class="heading">{tr}Groups{/tr}</th> <th class="heading" width="20px">{tr}Action{/tr}</th> </tr> {cycle values="odd,even" print=false} @@ -131,11 +131,11 @@ <table class="normal"> <tr> - <th class="heading">{tr}Permission{/tr}</th> - <th class="heading" colspan="2">{tr}Groups{/tr}</th> + <th class="heading">{tr}Permissions{/tr}</th> + <th class="heading">{tr}Groups{/tr}</th> </tr> <tr> -<td width="45%"><table width="100%"> +<td><table width="100%"> {cycle print=false values="even,odd"} {section name=prm loop=$perms} <tr class="{cycle advance=true}"> @@ -143,14 +143,15 @@ <input type="checkbox" name="perm[]" value="{$perms[prm].permName|escape}" title="{$perms[prm].permName|escape}"/> </td> <td class="{cycle advance=false}"> - {tr}{$perms[prm].permDesc|escape}{/tr} - <div class="subcomment">{$perms[prm].permName|escape}</div> + {$perms[prm].permName|escape} </td> - </tr> + <td class="{cycle advance=false}"> + <div class="subcomment">{tr}{$perms[prm].permDesc|escape}{/tr}</div> + </td> + </tr> {/section} </table></td> -<td style="vertical-align: top;">{tr}to group{/tr}:</td> -<td width="45%"><table width="100%"> +<td><table width="100%"> {cycle print=false values="even,odd"} {section name=grp loop=$groups} <tr class="{cycle advance=true}"> Modified: trunk/templates/tiki-page_bar.tpl =================================================================== --- trunk/templates/tiki-page_bar.tpl 2008-08-05 12:56:02 UTC (rev 14060) +++ trunk/templates/tiki-page_bar.tpl 2008-08-05 13:30:34 UTC (rev 14061) @@ -6,6 +6,7 @@ {if $wysiwyg eq 'n' or $prefs.wysiwyg_wiki_parsed eq 'y' or $prefs.wysiwyg_wiki_semi_parsed eq 'y'} {* Show this button only in normal editing mode *} <span class="button2"> <a href="#edithelp" onclick="javascript:show('edithelpzone');hide('wikiplhelp-tab');show('wikihelp-tab'); return true;" name="edithelp" class="linkbut">{tr}Wiki Help{/tr}</a> + </span><span class="button2"> <a href="#edithelp" onclick="javascript:show('edithelpzone');hide('wikihelp-tab');show('wikiplhelp-tab'); return true;" name="edithelp" class="linkbut">{tr}Plugin Help{/tr}</a> </span> {/if} @@ -41,7 +42,7 @@ {if !$lock and ($tiki_p_admin_wiki eq 'y' or (($tiki_p_lock eq 'y') and ($prefs.feature_wiki_usrlock eq 'y')))} <span class="button2"><a href="tiki-index.php?page={$page|escape:"url"}&action=lock" class="linkbut">{tr}Lock{/tr}</a></span> {/if} -{if $tiki_p_admin_wiki eq 'y'} +{if $tiki_p_admin_wiki eq 'y' or $tiki_p_assign_perm_wiki_page eq 'y'} <span class="button2"><a href="tiki-objectpermissions.php?objectId={$page|escape:"url"}&objectName={$page|escape:"url"}&objectType=wiki+page&permType=wiki" class="linkbut">{tr}Perms{/tr}</a></span> {/if} Modified: trunk/tiki-objectpermissions.php =================================================================== --- trunk/tiki-objectpermissions.php 2008-08-05 12:56:02 UTC (rev 14060) +++ trunk/tiki-objectpermissions.php 2008-08-05 13:30:34 UTC (rev 14061) @@ -19,17 +19,14 @@ if ($_REQUEST['objectType'] == 'wiki page') { if ($tiki_p_admin_wiki == 'y') { $special_perm = 'y'; - } else if ($prefs['wiki_creator_admin'] == 'y') { - include_once ('lib/wiki/wikilib.php'); - $creator = $wikilib->get_creator($_REQUEST['objectName']); - if ($creator && $user && ($creator == $user)) { - $special_perm = 'y'; - } + } else { + $info = $tikilib->get_page_info($_REQUEST['objectName']); + $tikilib->get_perm_object($_REQUEST['objectId'], $_REQUEST['objectType'], $info); } +} else { + $tikilib->get_perm_object($_REQUEST['objectId'], $_REQUEST['objectType']); } -$tikilib->get_perm_object($_REQUEST['objectId'], $_REQUEST['objectType']); - if (!($tiki_p_admin_objects == 'y' || (isset($$perm) && $$perm == 'y') ||(isset($special_perm) && $special_perm == 'y'))) { $smarty->assign('errortype', 401); $smarty->assign('msg', tra("Permission denied you cannot assign permissions for this object")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Jy...@us...> - 2008-08-05 14:17:48
|
Revision: 14064 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14064&view=rev Author: Jyhem Date: 2008-08-05 14:17:54 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [SEC] Article edition does not rely on tmpDir being world-accessible any more. [ENH] Now preview works for image changes. Modified Paths: -------------- trunk/article_image.php trunk/lib/articles/artlib.php trunk/templates/tiki-edit_article.tpl trunk/templates/tiki-edit_submission.tpl trunk/templates/tiki-preview_article.tpl trunk/templates/tiki-print_article.tpl trunk/templates/tiki-read_article.tpl trunk/templates/tiki-view_articles.tpl trunk/tiki-edit_article.php trunk/tiki-edit_submission.php trunk/tiki-print_article.php Modified: trunk/article_image.php =================================================================== --- trunk/article_image.php 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/article_image.php 2008-08-05 14:17:54 UTC (rev 14064) @@ -9,6 +9,12 @@ // application to display an image from the database with // option to resize the image dynamically creating a thumbnail on the fly. +// This handles three types of images, depending on the image_type parameter: +// "article": Images for articles +// "submission": Images for article submissions +// "preview": Images for article and article submissions previews +// Any other value is invalid + require_once ('tiki-setup.php'); if ($prefs['feature_articles'] != 'y') { @@ -33,18 +39,47 @@ include_once ('lib/init/initlib.php'); include_once ('tiki-setup_base.php'); -$topiccachefile = $prefs['tmpDir']; +switch ($_REQUEST["image_type"]) { + case "article": + $image_cache_prefix="article"; + break; + case "submission": + $image_cache_prefix="article_submission"; + break; + case "preview": + $image_cache_prefix="article_preview"; + break; + default: + die; +} -if ($tikidomain) { $topiccachefile.= "/$tikidomain"; } -$topiccachefile.= "/article.".$_REQUEST["id"]; +$cachefile = $prefs['tmpDir']; +if ($tikidomain) { $cachefile.= "/$tikidomain"; } +$cachefile.= "/$image_cache_prefix.".$_REQUEST["id"]; -if (is_file($topiccachefile) and (!isset($_REQUEST["reload"]))) { - $size = getimagesize($topiccachefile); - header ("Content-type: ".$size['mime']); /* do not backport to 1.8 */ - readfile($topiccachefile); +// If cached file exists, display cached file +if (is_file($cachefile) and (!isset($_REQUEST["reload"]))) { + $size = getimagesize($cachefile); + header ("Content-type: ".$size['mime']); + readfile($cachefile); die(); } else { - $data = $tikilib->get_article_image($_REQUEST["id"]); + // Create cached file from database data for articles or submissions + switch ($_REQUEST["image_type"]) { + case "article": + $data = $tikilib->get_article_image($_REQUEST["id"]); + break; + case "submission": + $data = $tikilib->get_submission($_REQUEST["id"]); + break; + case "preview": + // We can't get the data from the database. No fallback solution. + // No image displayed + break; + default: + // Invalid value + die; + } // if blank then die, otherwise we offer to download strangeness // this also catches invalid id's if (!$data) { @@ -53,15 +88,15 @@ $type = $data["image_type"]; $data = $data["image_data"]; if ($data["image_data"]) { - $fp = fopen($topiccachefile,"wb"); + $fp = fopen($cachefile,"wb"); fputs($fp,$data); fclose($fp); } } header ("Content-type: $type"); -if (is_file($topiccachefile)) { - readfile($topiccachefile); +if (is_file($cachefile)) { + readfile($cachefile); } else { echo $data; } Modified: trunk/lib/articles/artlib.php =================================================================== --- trunk/lib/articles/artlib.php 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/lib/articles/artlib.php 2008-08-05 14:17:54 UTC (rev 14064) @@ -214,7 +214,7 @@ (int) $image_x, (int) $image_y, $heading, $body, (int) $publishDate, (int) $expireDate, (int) $this->now, $user, $type, (float) $rating, $topline, $subtitle, $linkto, $image_caption, $lang, (int) $articleId ) ); // Clear article image cache because image may just have been changed - $this->delete_image_cache($articleId); + $this->delete_image_cache("article",$articleId); } else { // Fixed query. -rlpowell // Insert the article @@ -593,18 +593,31 @@ $msgs[] = sprintf(tra('Error line: %d'), $line); } } -return true; + return true; } - function delete_image_cache($articleId) { + function delete_image_cache($image_type,$imageId) { global $prefs; - // Input validation: articleID must be a number, and not 0 - if(!ctype_digit("$articleId") || !($articleId>0)) { + // Input validation: imageId must be a number, and not 0 + if(!ctype_digit("$imageId") || !($imageId>0)) { return false; } + switch ($image_type) { + case "article": + $image_cache_prefix="article"; + break; + case "submission": + $image_cache_prefix="article_submission"; + break; + case "preview": + $image_cache_prefix="article_preview"; + break; + default: + return false; + } $article_image_cache = $prefs['tmpDir']; if ($tikidomain) { $article_image_cache.= "/$tikidomain"; } - $article_image_cache.= "/article.".$articleId; + $article_image_cache.= "/$image_cache_prefix.".$imageId; if ( @unlink($article_image_cache) ) { return true; }else{ Modified: trunk/templates/tiki-edit_article.tpl =================================================================== --- trunk/templates/tiki-edit_article.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-edit_article.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -42,6 +42,8 @@ <form enctype="multipart/form-data" method="post" action="tiki-edit_article.php" id='editpageform'> <input type="hidden" name="articleId" value="{$articleId|escape}" /> +<input type="hidden" name="previewId" value="{$previewId|escape}" /> +<input type="hidden" name="imageIsChanged" value="{$imageIsChanged|escape}" /> <input type="hidden" name="image_data" value="{$image_data|escape}" /> <input type="hidden" name="useImage" value="{$useImage|escape}" /> <input type="hidden" name="image_type" value="{$image_type|escape}" /> @@ -107,11 +109,14 @@ <input name="userfile1" type="file" onchange="document.getElementById('useImage').checked = true;"/></td></tr> {if $hasImage eq 'y'} <tr class="formcolor"><td>{tr}Own Image{/tr}</td><td>{$image_name} [{$image_type}] ({$image_size} bytes)</td></tr> - {if $tempimg ne 'n'} - <tr class="formcolor"><td>{tr}Own Image{/tr}</td><td> - <img alt="{tr}Article image{/tr}" border="0" src="{$tempimg}" {if $image_x > 0}width="{$image_x}"{/if}{if $image_y > 0 }height="{$image_y}"{/if}/> - </td></tr> - {/if} + <tr class="formcolor"> + <td>{tr}Own Image{/tr}</td> + {if $imageIsChanged eq 'y'} + <td><img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=preview&id={$previewId}" /></td> + {else} + <td><img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=article&id={$articleId}" /></td> + {/if} + </tr> {/if} <tr id='show_image_2' {if $types.$type.show_image eq 'y'}style="display:;"{else}style="display:none;"{/if} class="formcolor"><td>{tr}Use own image{/tr}</td><td> <input type="checkbox" name="useImage" id="useImage" {if $useImage eq 'y'}checked='checked'{/if}/> Modified: trunk/templates/tiki-edit_submission.tpl =================================================================== --- trunk/templates/tiki-edit_submission.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-edit_submission.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -28,6 +28,8 @@ <form enctype="multipart/form-data" method="post" action="tiki-edit_submission.php" id='editpageform'> <input type="hidden" name="subId" value="{$subId|escape}" /> +<input type="hidden" name="previewId" value="{$previewId|escape}" /> +<input type="hidden" name="changeImage" value="{$changeImage|escape}" /> <input type="hidden" name="image_data" value="{$image_data|escape}" /> <input type="hidden" name="useImage" value="{$useImage|escape}" /> <input type="hidden" name="image_type" value="{$image_type|escape}" /> @@ -91,7 +93,7 @@ </select> </td></tr> <tr id='show_image_1' {if $types.$type.show_image eq 'y'}style="display:;"{else}style="display:none;"{/if} class="formcolor"><td>{tr}Own Image{/tr} *</td><td><input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> -<input name="userfile1" type="file" /></td></tr> +<input name="userfile1" type="file" onchange="document.getElementById('useImage').checked = true;"/></td></tr> {if $hasImage eq 'y'} <tr class="formcolor"><td>{tr}Own Image{/tr}</td><td>{$image_name} [{$image_type}] ({$image_size} bytes)</td></tr> {if $tempimg ne 'n'} @@ -101,7 +103,7 @@ {/if} {/if} <tr id='show_image_2' {if $types.$type.show_image eq 'y'}style="display:;"{else}style="display:none;"{/if} class="formcolor"><td>{tr}Use own image{/tr} *</td><td> -<input type="checkbox" name="useImage" {if $useImage eq 'y'}checked='checked'{/if}/> +<input type="checkbox" name="useImage" id="useImage" {if $useImage eq 'y'}checked='checked'{/if}/> </td></tr> <tr id='show_image_3' {if $types.$type.show_image eq 'y'}style="display:;"{else}style="display:none;"{/if} class="formcolor"><td>{tr}Float text around image{/tr} *</td><td> <input type="checkbox" name="isfloat" {if $isfloat eq 'y'}checked='checked'{/if}/> @@ -124,9 +126,7 @@ {include file=categorize.tpl} <tr class="formcolor"> - <td> - {tr}Heading{/tr} - <br /> + <td>{tr}Heading{/tr}<br /> {if $prefs.quicktags_over_textarea neq 'y'} {include file=tiki-edit_help_tool.tpl area_name='heading' qtnum='1'} {/if} Modified: trunk/templates/tiki-preview_article.tpl =================================================================== --- trunk/templates/tiki-preview_article.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-preview_article.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -24,10 +24,15 @@ <tr><td valign="top"> {if $useImage eq 'y'} {if $hasImage eq 'y'} - {if $articleId gt 0} - <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?id={$articleId}" /> + {if $imageIsChanged eq 'y'} + <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=preview&id={$previewId}" + {if $image_x > 0}width="{$image_x}"{/if}{if $image_y > 0 }height="{$image_y}"{/if} /> {else} - <img alt="{tr}Article image{/tr}" border="0" src="{$tempimg}" /> + {if $subId} + <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=submission&id={$subId}" /> + {else} + <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=article&id={$articleId}" /> + {/if} {/if} {else} <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> Modified: trunk/templates/tiki-print_article.tpl =================================================================== --- trunk/templates/tiki-print_article.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-print_article.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -13,7 +13,8 @@ <tr><td valign="top"> {if $useImage eq 'y'} {if $hasImage eq 'y'} - <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?id={$articleId}" /> + <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=article&id={$articleId}" + {if $image_x > 0}width="{$image_x}"{/if}{if $image_y > 0 }height="{$image_y}"{/if} /> {else} <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> {/if} Modified: trunk/templates/tiki-read_article.tpl =================================================================== --- trunk/templates/tiki-read_article.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-read_article.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -40,7 +40,7 @@ <a href="#" title="{if $show_image_caption and $image_caption}{$image_caption}{else}{tr}Article image{/tr}{/if}"> <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{if $show_image_caption and $image_caption}{$image_caption}{else}{tr}Article image{/tr}{/if}" -border="0" src="article_image.php?id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> +border="0" src="article_image.php?image_type=article&id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> Modified: trunk/templates/tiki-view_articles.tpl =================================================================== --- trunk/templates/tiki-view_articles.tpl 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/templates/tiki-view_articles.tpl 2008-08-05 14:17:54 UTC (rev 14064) @@ -56,7 +56,7 @@ $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}"><img {if $listpages[ix].isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{if $listpages[ix].show_image_caption and $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}" -border="0" src="article_image.php?id={$listpages[ix].articleId}" +border="0" src="article_image.php?image_type=article&id={$listpages[ix].articleId}" {if $listpages[ix].image_x > 0} width="{$listpages[ix].image_x}"{/if}{if $listpages[ix].image_y > 0 } height="{$listpages[ix].image_y}"{/if} /></a> {else} <a href="tiki-read_article.php?articleId={$listpages[ix].articleId}" title="{if $listpages[ix].show_image_caption and Modified: trunk/tiki-edit_article.php =================================================================== --- trunk/tiki-edit_article.php 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/tiki-edit_article.php 2008-08-05 14:17:54 UTC (rev 14064) @@ -37,7 +37,16 @@ $articleId = 0; } +// We need separate numbering of previews, since we access preview images by this number +if (isset($_REQUEST["previewId"])) { + $previewId = $_REQUEST["previewId"]; +} else { + $previewId = rand(); +} + $smarty->assign('articleId', $articleId); +$smarty->assign('previewId', $previewId); +$smarty->assign('imageIsChanged', ($_REQUEST["imageIsChanged"]=='y')?'y':'n'); if (isset($_REQUEST["templateId"]) && $_REQUEST["templateId"] > 0) { $template_data = $tikilib->get_template($_REQUEST["templateId"]); @@ -134,7 +143,7 @@ $imgname = $article_data["image_name"]; if ($hasImage == 'y') { - $smarty->assign('tempimg', 'article_image.php?id='.$_REQUEST["articleId"]); + $smarty->assign('tempimg', 'article_image.php?image_type=article&id='.$_REQUEST["articleId"]); } else { $smarty->assign('tempimg', 'n'); } @@ -246,9 +255,9 @@ // Parse the information of an uploaded file and use it for the preview if (isset($_FILES['userfile1']) && is_uploaded_file($_FILES['userfile1']['tmp_name'])) { $fp = fopen($_FILES['userfile1']['tmp_name'], "rb"); - $data = fread($fp, filesize($_FILES['userfile1']['tmp_name'])); fclose ($fp); + $imgtype = $_FILES['userfile1']['type']; $imgsize = $_FILES['userfile1']['size']; $imgname = $_FILES['userfile1']['name']; @@ -258,20 +267,17 @@ $smarty->assign('image_size', $imgsize); $hasImage = 'y'; $smarty->assign('hasImage', 'y'); - } + // Create preview cache image, for display afterwards + $cachefile = $prefs['tmpDir']; + if ($tikidomain) { $cachefile.= "/$tikidomain"; } + $cachefile.= "/article_preview.".$previewId; + if (move_uploaded_file($_FILES['userfile1']['tmp_name'], $cachefile)) { + $smarty->assign('imageIsChanged', 'y'); + } - if ($hasImage == 'y') { - $tmpfname = $prefs['tmpDir'] . "/articleimage" . "." . $_REQUEST["articleId"]; - $fp = fopen($tmpfname, "wb"); - if ($fp) { - fwrite($fp, $data); - fclose ($fp); - $smarty->assign('tempimg', $tmpfname); - } else { - $smarty->assign('tempimg', 'n'); - } } + $smarty->assign('heading', $_REQUEST["heading"]); $smarty->assign('edit_data', 'y'); @@ -363,7 +369,6 @@ $imgtype = $_FILES['userfile1']['type']; $imgsize = $_FILES['userfile1']['size']; $imgname = $_FILES['userfile1']['name']; - @$artlib->delete_image_cache($_REQUEST["id"]); } // Parse $edit and eliminate image references to external URIs (make them internal) @@ -390,10 +395,32 @@ } } - $artid = $artlib->replace_article(strip_tags($_REQUEST["title"], '<a><pre><p><img><hr><b><i>'), $_REQUEST["authorName"], - $_REQUEST["topicId"], $useImage, $imgname, $imgsize, $imgtype, $imgdata, $heading, $body, $publishDate, $expireDate, $user, - $articleId, $_REQUEST["image_x"], $_REQUEST["image_y"], $_REQUEST["type"], $_REQUEST["topline"], $_REQUEST["subtitle"], - $_REQUEST["linkto"], $_REQUEST["image_caption"], $_REQUEST["lang"], $_REQUEST["rating"], $isfloat, $emails); + $artid = $artlib->replace_article(strip_tags($_REQUEST["title"], '<a><pre><p><img><hr><b><i>') + , $_REQUEST["authorName"] + , $_REQUEST["topicId"] + , $useImage + , $imgname + , $imgsize + , $imgtype + , $imgdata + , $heading + , $body + , $publishDate + , $expireDate + , $user + , $articleId + , $_REQUEST["image_x"] + , $_REQUEST["image_y"] + , $_REQUEST["type"] + , $_REQUEST["topline"] + , $_REQUEST["subtitle"] + , $_REQUEST["linkto"] + , $_REQUEST["image_caption"] + , $_REQUEST["lang"] + , $_REQUEST["rating"] + , $isfloat + , $emails + ); $cat_type = 'article'; $cat_objid = $artid; @@ -402,6 +429,11 @@ $cat_href = "tiki-read_article.php?articleId=" . $cat_objid; include_once("categorize.php"); include_once ("freetag_apply.php"); + // Remove image cache because image may have changed, and we + // don't want to show the old image + @$artlib->delete_image_cache("article",$_REQUEST["id"]); + // Remove preview cache because it won't be used any more + @$artlib->delete_image_cache("preview",$previewId); header ("location: tiki-read_article.php?articleId=$artid"); } Modified: trunk/tiki-edit_submission.php =================================================================== --- trunk/tiki-edit_submission.php 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/tiki-edit_submission.php 2008-08-05 14:17:54 UTC (rev 14064) @@ -9,7 +9,6 @@ // Initialization $section = 'cms'; require_once ('tiki-setup.php'); - include_once ('lib/articles/artlib.php'); if ($prefs['feature_freetags'] == 'y') { @@ -44,8 +43,18 @@ $subId = 0; } +// We need separate numbering of previews, since we access preview images by this number +if (isset($_REQUEST["previewId"])) { + $previewId = $_REQUEST["previewId"]; +} else { + $previewId = rand(); +} + $smarty->assign('subId', $subId); $smarty->assign('articleId', $subId); +$smarty->assign('previewId', $previewId); +$smarty->assign('imageIsChanged', ($_REQUEST["imageIsChanged"]=='y')?'y':'n'); + $smarty->assign('allowhtml', 'y'); $publishDate = $tikilib->now; $expireDate = $tikilib->make_time(0,0,0,$tikilib->date_format("%m"), $tikilib->date_format("%d"), $tikilib->date_format("%Y")+1); @@ -122,15 +131,9 @@ $imgname = $article_data["image_name"]; if ($hasImage == 'y') { - $tmpfname = $prefs['tmpDir'] . "/articleimage" . "." . $_REQUEST["subId"]; - $fp = fopen($tmpfname, "wb"); - if ($fp) { - fwrite($fp, $data); - fclose ($fp); - $smarty->assign('tempimg', $tmpfname); - } else { - $smarty->assign('tempimg', 'n'); - } + $smarty->assign('tempimg', 'article_image.php?image_type=submission&id='.$_REQUEST["articleId"]); + } else { + $smarty->assign('tempimg', 'n'); } $body = $article_data["body"]; @@ -228,21 +231,11 @@ $file_name = $_FILES['userfile1']['name']; // Simple check if it's an image file - if (preg_match('/\.(gif|png|jpe?g)$/i',$file_name)) { - $file_tmp_name = $_FILES['userfile1']['tmp_name']; - $tmp_dest = $prefs['tmpDir'] . "/" . $file_name.".tmp"; - if (!move_uploaded_file($file_tmp_name, $tmp_dest)) { - $smarty->assign('msg', tra('Errors detected')); - $smarty->display("error.tpl"); - die(); - } - - - $fp = fopen($tmp_dest, "rb"); - $data = fread($fp, filesize($tmp_dest)); - + if (preg_match('/\.(gif|png|jpe?g)$/i',$file_name)) { + $fp = fopen($_FILES['userfile1']['tmp_name'], "rb"); + $data = fread($fp, filesize($_FILES['userfile1']['tmp_name'])); fclose ($fp); - unlink($tmp_dest); + $imgtype = $_FILES['userfile1']['type']; $imgsize = $_FILES['userfile1']['size']; $imgname = $_FILES['userfile1']['name']; @@ -252,21 +245,17 @@ $smarty->assign('image_size', $imgsize); $hasImage = 'y'; $smarty->assign('hasImage', 'y'); + // Create preview cache image, for display afterwards + $cachefile = $prefs['tmpDir']; + if ($tikidomain) { $cachefile.= "/$tikidomain"; } + $cachefile.= "/article_preview.".$previewId; + if (move_uploaded_file($_FILES['userfile1']['tmp_name'], $cachefile)) { + $smarty->assign('imageIsChanged', 'y'); } - } - - if ($hasImage == 'y') { - $tmpfname = $prefs['tmpDir'] . "/articleimage" . "." . $_REQUEST["subId"]; - $fp = fopen($tmpfname, "wb"); - if ($fp) { - fwrite($fp, $data); - fclose ($fp); - $smarty->assign('tempimg', $tmpfname); - } else { - $smarty->assign('tempimg', 'n'); } } + $smarty->assign('heading', $_REQUEST["heading"]); $smarty->assign('edit_data', 'y'); @@ -397,17 +386,6 @@ , $isfloat ); - /* - $links = $tikilib->get_links($body); - $notcachedlinks = $tikilib->get_links_nocache($body); - $cachedlinks = array_diff($links, $notcachedlinks); - $tikilib->cache_links($cachedlinks); - - $links = $tikilib->get_links($heading); - $notcachedlinks = $tikilib->get_links_nocache($heading); - $cachedlinks = array_diff($links, $notcachedlinks); - $tikilib->cache_links($cachedlinks); -*/ $cat_type = 'submission'; $cat_objid = $subid; $cat_desc = substr($_REQUEST["heading"], 0, 200); @@ -415,6 +393,11 @@ $cat_href = "tiki-edit_submission.php?subId=" . $cat_objid; include_once ("categorize.php"); include_once ("freetag_apply.php"); + // Remove image cache because image may have changed, and we + // don't want to show the old image + @$artlib->delete_image_cache("submission",$subId); + // Remove preview cache because it won't be used any more + @$artlib->delete_image_cache("preview",$previewId); if ( isset($_REQUEST["save"]) && $tiki_p_autoapprove_submission == 'y' ) { $artlib->approve_submission($subid); header ("location: tiki-view_articles.php"); @@ -432,6 +415,7 @@ $topics = $artlib->list_topics(); $smarty->assign_by_ref('topics', $topics); +// get list of valid types $types = $artlib->list_types_byname(); $smarty->assign_by_ref('types', $types); Modified: trunk/tiki-print_article.php =================================================================== --- trunk/tiki-print_article.php 2008-08-05 14:07:40 UTC (rev 14063) +++ trunk/tiki-print_article.php 2008-08-05 14:17:54 UTC (rev 14064) @@ -59,6 +59,8 @@ $smarty->assign('image_name', $article_data["image_name"]); $smarty->assign('image_type', $article_data["image_type"]); $smarty->assign('image_size', $article_data["image_size"]); + $smarty->assign('image_x', $article_data["image_x"]); + $smarty->assign('image_y', $article_data["image_y"]); $smarty->assign('image_data', urlencode($article_data["image_data"])); $smarty->assign('reads', $article_data["nbreads"]); $smarty->assign('size', $article_data["size"]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-05 15:14:46
|
Revision: 14071 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14071&view=rev Author: sylvieg Date: 2008-08-05 15:14:53 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [MOD]quicktags: the streike/deleted text quicktags Modified Paths: -------------- trunk/db/tiki.sql trunk/db/tiki_2.0to3.0.sql Added Paths: ----------- trunk/pics/icons/text_strikethrough.png Modified: trunk/db/tiki.sql =================================================================== --- trunk/db/tiki.sql 2008-08-05 15:11:29 UTC (rev 14070) +++ trunk/db/tiki.sql 2008-08-05 15:14:53 UTC (rev 14071) @@ -4563,6 +4563,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('list bullets', '*text', 'pics/icons/text_list_bullets.png', 'wiki'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('list numbers', '#text', 'pics/icons/text_list_numbers.png', 'wiki'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','wiki'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','wiki'); # maps INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('New wms Metadata','METADATA\r\n \"wms_name\" \"myname\"\r\n "wms_srs" "EPSG:4326"\r\n "wms_server_version" " "\r\n "wms_layers" "mylayers"\r\n "wms_request" "myrequest"\r\n "wms_format" " "\r\n "wms_time" " "\r\n END', 'pics/icons/tag_blue_add.png','maps'); @@ -4590,6 +4591,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('center text','::text::','pics/icons/text_align_center.png','newsletters'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('colored text','~~#FF0000:text~~','pics/icons/palette.png','newsletters'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','newsletters'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','newsletters'); # trackers INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','trackers'); @@ -4610,6 +4612,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','trackers'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','trackers'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','trackers'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','trackers'); # blogs INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','blogs'); @@ -4630,6 +4633,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','blogs'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','blogs'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','blogs'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','blogs'); # calendar INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','calendar'); @@ -4649,6 +4653,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('colored text','~~#FF0000:text~~','pics/icons/palette.png','calendar'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','calendar'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','calendar'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','calendar'); # articles INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','articles'); @@ -4669,6 +4674,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','articles'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','articles'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','articles'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','articles'); # faqs INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','faqs'); @@ -4689,6 +4695,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','faqs'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','faqs'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','faqs'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','faqs'); # forums INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('bold','__text__','pics/icons/text_bold.png','forums'); @@ -4709,6 +4716,7 @@ INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('dynamic variable','%text%','pics/icons/book_open.png','forums'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('image','{img src= width= height= align= desc= link= }','pics/icons/picture.png','forums'); INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Email Address','[mailto:text|text]','pics/icons/email.png','forums'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','forums'); #translated objects table DROP TABLE IF EXISTS tiki_translated_objects; Modified: trunk/db/tiki_2.0to3.0.sql =================================================================== --- trunk/db/tiki_2.0to3.0.sql 2008-08-05 15:11:29 UTC (rev 14070) +++ trunk/db/tiki_2.0to3.0.sql 2008-08-05 15:14:53 UTC (rev 14071) @@ -19,4 +19,14 @@ SET @fgcant=0; SELECT (@fgcant:=count(*)) FROM users_permissions WHERE permName = 'tiki_p_search_categorized'; INSERT INTO users_permissions (permName, permDesc, level, type) VALUES ('tiki_p_search_categorized', 'Can search on objects of this category', 'basic', 'category'); -INSERT INTO `users_objectpermissions` (groupName, permName, objectType, objectId) SELECT groupName, 'tiki_p_search_categorized', objectType , objectId FROM `users_objectpermissions` WHERE permName = 'tiki_p_view_categorized' AND @fgcant = 0; \ No newline at end of file +INSERT INTO `users_objectpermissions` (groupName, permName, objectType, objectId) SELECT groupName, 'tiki_p_search_categorized', objectType , objectId FROM `users_objectpermissions` WHERE permName = 'tiki_p_view_categorized' AND @fgcant = 0; + +#2008-08-05 sylvieg +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','wiki'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','newsletters'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','trackers'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','blogs'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','calendar'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','articles'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','faqs'); +INSERT INTO tiki_quicktags (taglabel, taginsert, tagicon, tagcategory) VALUES ('Deleted','--text--','pics/icons/text_strikethrough.png','forums'); Property changes on: trunk/pics/icons/text_strikethrough.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-05 18:54:27
|
Revision: 14075 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14075&view=rev Author: lphuberdeau Date: 2008-08-05 18:54:34 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [NEW] Allow re-installation of profiles by deleting previous symbols Modified Paths: -------------- trunk/lib/profilelib/profilelib.php trunk/templates/tiki-admin-include-profiles.tpl trunk/tiki-admin_include_profiles.php Modified: trunk/lib/profilelib/profilelib.php =================================================================== --- trunk/lib/profilelib/profilelib.php 2008-08-05 18:43:19 UTC (rev 14074) +++ trunk/lib/profilelib/profilelib.php 2008-08-05 18:54:34 UTC (rev 14075) @@ -391,6 +391,13 @@ $this->objects = $classified; return $this->objects; } // }}} + + function removeSymbols() // {{{ + { + global $tikilib; + $tikilib->query( "DELETE FROM tiki_profile_symbols WHERE domain = ? AND profile = ?", + array( $this->domain, $this->profile ) ); + } // }}} } class Tiki_Profile_Object Modified: trunk/templates/tiki-admin-include-profiles.tpl =================================================================== --- trunk/templates/tiki-admin-include-profiles.tpl 2008-08-05 18:43:19 UTC (rev 14074) +++ trunk/templates/tiki-admin-include-profiles.tpl 2008-08-05 18:54:34 UTC (rev 14075) @@ -59,6 +59,25 @@ p.innerHTML = "A version of this profile is already installed."; p.style.fontWeight = 'bold'; cell.appendChild(p); + + var form = document.createElement( 'form' ); + var p = document.createElement('p'); + var submit = document.createElement('input'); + var hidden = document.createElement('input'); + form.method = 'post'; + form.action = document.location.href; + + form.appendChild(p); + submit.type = 'submit'; + submit.name = 'forget'; + submit.value = 'Forget Past Installation'; + p.appendChild(submit); + hidden.type = 'hidden'; + hidden.name = 'url'; + hidden.value = data.url; + p.appendChild(hidden); + + cell.appendChild(form); } else if( data.installable ) { Modified: trunk/tiki-admin_include_profiles.php =================================================================== --- trunk/tiki-admin_include_profiles.php 2008-08-05 18:43:19 UTC (rev 14074) +++ trunk/tiki-admin_include_profiles.php 2008-08-05 18:54:34 UTC (rev 14075) @@ -39,6 +39,16 @@ exit; } // }}} + if( isset($_POST['forget'], $_POST['url']) ) { // {{{ + require_once 'lib/profilelib/profilelib.php'; + + $profile = new Tiki_Profile( $_POST['url'] ); + $profile->removeSymbols(); + + header( 'Location: ' . $_SERVER['REQUEST_URI'] ); + exit; + } // }}} + if( isset($_POST['install'], $_POST['url']) ) { // {{{ require_once 'lib/profilelib/profilelib.php'; require_once 'lib/profilelib/installlib.php'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-05 20:45:51
|
Revision: 14078 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14078&view=rev Author: sylvieg Date: 2008-08-05 20:45:59 +0000 (Tue, 05 Aug 2008) Log Message: ----------- [FIX]log sql: param to give to adodb the min time for a query to be logged - as adodb changed the functionality by not logging everything - queries are log in adodb_logsql table Modified Paths: -------------- trunk/lib/setup/error_reporting.php trunk/lib/setup/prefs.php trunk/templates/tiki-admin-include-general.tpl trunk/tiki-admin_include_general.php Modified: trunk/lib/setup/error_reporting.php =================================================================== --- trunk/lib/setup/error_reporting.php 2008-08-05 20:40:24 UTC (rev 14077) +++ trunk/lib/setup/error_reporting.php 2008-08-05 20:45:59 UTC (rev 14078) @@ -13,7 +13,11 @@ elseif ( $prefs['error_reporting_adminonly'] == 'y' and $tiki_p_admin != 'y' ) $prefs['error_reporting_level'] = 0; error_reporting($prefs['error_reporting_level']); -if ( $prefs['log_sql'] == 'y' ) $dbTiki->LogSQL(); +if ( $prefs['log_sql'] == 'y' ) { + $dbTiki->LogSQL(); + global $ADODB_PERF_MIN; + $ADODB_PERF_MIN = $prefs['log_sql_perf_min']; +} $tikifeedback = array(); Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-05 20:40:24 UTC (rev 14077) +++ trunk/lib/setup/prefs.php 2008-08-05 20:45:59 UTC (rev 14078) @@ -956,6 +956,7 @@ $prefs['feature_purifier'] = 'n'; $prefs['feature_shadowbox'] = 'y'; $prefs['log_sql'] = 'n'; + $prefs['log_sql_perf_min'] = '0.05'; $prefs['log_mail'] = 'n'; $prefs['case_patched'] = 'n'; Modified: trunk/templates/tiki-admin-include-general.tpl =================================================================== --- trunk/templates/tiki-admin-include-general.tpl 2008-08-05 20:40:24 UTC (rev 14077) +++ trunk/templates/tiki-admin-include-general.tpl 2008-08-05 20:45:59 UTC (rev 14078) @@ -98,7 +98,8 @@ </td> </tr><tr> <td class="form"><label for="log_mail">{tr}Log Mail in Tiki Logs:{/tr}</label></td> - <td><input type="checkbox" name="log_mail"{if $prefs.log_mail eq 'y'} checked="checked"{/if} /></td> + <td><input type="checkbox" name="log_mail"{if $prefs.log_mail eq 'y'} checked="checked"{/if} /> + {tr}only queries using more than seconds:{/tr} <input type="text" name="log_sql_perf_min" value="{$prefs.log_sql_perf_min}" /></td> </tr><tr> <td class="form"><label for="log_sql">{tr}Log SQL:{/tr}</label></td> <td><input type="checkbox" name="log_sql"{if $prefs.log_sql eq 'y'} checked="checked"{/if} /></td> Modified: trunk/tiki-admin_include_general.php =================================================================== --- trunk/tiki-admin_include_general.php 2008-08-05 20:40:24 UTC (rev 14077) +++ trunk/tiki-admin_include_general.php 2008-08-05 20:45:59 UTC (rev 14078) @@ -61,6 +61,7 @@ "site_closed_msg", "helpurl", "tiki_version_check_frequency", + 'log_sql_perf_min', ); foreach ($pref_simple_values as $svitem) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ker...@us...> - 2008-08-06 00:45:28
|
Revision: 14082 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14082&view=rev Author: kerrnel22 Date: 2008-08-06 00:45:38 +0000 (Wed, 06 Aug 2008) Log Message: ----------- [FIX] Forgot a major part of the blank date feature in trackers. Files in this commit MUST accompany those in my initial commit for this new feature in the tracker_item_field_input.tpl log. This commit allows for variations of blank fields and editing of those fields. Without this the feature doesn't work. Modified Paths: -------------- trunk/tiki-view_tracker.php trunk/tiki-view_tracker_item.php Modified: trunk/tiki-view_tracker.php =================================================================== --- trunk/tiki-view_tracker.php 2008-08-06 00:19:08 UTC (rev 14081) +++ trunk/tiki-view_tracker.php 2008-08-06 00:45:38 UTC (rev 14082) @@ -222,11 +222,52 @@ if ($fields["data"][$i]["type"] == 'f') { // date and time $fields["data"][$i]["value"] = ''; $ins_fields["data"][$i]["value"] = ''; - if (isset($_REQUEST["$ins_id" . "Day"])) { - $ins_fields["data"][$i]["value"] = $tikilib->make_time($_REQUEST["$ins_id" . "Hour"], $_REQUEST["$ins_id" . "Minute"], - 0, $_REQUEST["$ins_id" . "Month"], $_REQUEST["$ins_id" . "Day"], $_REQUEST["$ins_id" . "Year"]); + $xxxm = $xxxd = $xxxy = null; + if (!isset($_REQUEST["$ins_id" . "Month"]) + || empty($_REQUEST["$ins_id" . "Month"]) + || $_REQUEST["$ins_id" . "Month"] == 'null') $xxxm = '00'; + if (!isset($_REQUEST["$ins_id" . "Day"]) + || empty($_REQUEST["$ins_id" . "Day"]) + || $_REQUEST["$ins_id" . "Day"] == 'null') $xxxd = '00'; + if (!isset($_REQUEST["$ins_id" . "Year"]) + || empty($_REQUEST["$ins_id" . "Year"]) + || $_REQUEST["$ins_id" . "Year"] == 'null') $xxxy = '00'; + + // If all date fields (month, day, year) are blank, then + // that's fine, otherwise, take the date the field is set to. + // If the individual field is blank, then set it to today. + // If the field is mandatory, then a blank full date is not + // allowed, in which case we set it to today's date. + if ($xxxm == $xxxd && $xxxd == $xxxy && $xxxy == '00' + && ($fields["data"][$i]['isMandatory'] == 'y' + || (isset($fields["data"][$i]['options_array'][0]) && $fields["data"][$i]['options_array'][0] != 'd') + || ((isset($fields["data"][$i]['options_array'][0]) && $fields["data"][$i]['options_array'][0] == 'd') && (!isset($fields["data"][$i]['options_array'][3]) || $fields["data"][$i]['options_array'][3] != 'blank')) + ) + ) { + $ins_fields["data"][$i]["value"] = $tikilib->now; + } elseif ($xxxm == $xxxd && $xxxd == $xxxy && $xxxy == '00') { + $ins_fields["data"][$i]["value"] = ''; } else { - $ins_fields["data"][$i]["value"] = $tikilib->now; + if ($xxxm != null || ($xxxm == '00' && $fields["data"][$i]['isMandatory'] == 'y')) { + $xxxm = $tikidate->month; + } else { + $xxxm = $_REQUEST["$ins_id" . "Month"]; + } + if ($xxxd != null || ($xxxd == '00' && $fields["data"][$i]['isMandatory'] == 'y')) { + $xxxd = $tikidate->day; + } else { + $xxxd = $_REQUEST["$ins_id" . "Day"]; + } + if ($xxxy != null || ($xxxy == '00' && $fields["data"][$i]['isMandatory'] == 'y')) { + $xxxy = $tikidate->year; + } else { + $xxxy = $_REQUEST["$ins_id" . "Year"]; + } + if ($fields["data"][$i]['options_array'][0] == 'd') { + $ins_fields["data"][$i]["value"] = $tikilib->make_time(0, 0, 0, $xxxm, $xxxd, $xxxy); + } else { + $ins_fields["data"][$i]["value"] = $tikilib->make_time($tikilib->hour, $tikilib->minute, 0, $xxxm, $xxxd, $xxxy); + } } } elseif ($fields["data"][$i]["type"] == 'e' && $prefs['feature_categories'] == 'y') { // category $parentId = $fields["data"][$i]['options_array'][0]; @@ -717,17 +758,6 @@ } } -/* ************** not merge needed from 1.8 -foreach ($items["data"] as $itkey=>$oneitem) { - foreach ($oneitem['field_values'] as $ifld=>$valfld) { - if ($valfld['type'] == 'f') { - $items["data"][$itkey]['field_values'][$ifld]['value'] = - smarty_make_timestamp($valfld['value']); - } - } -} -******************** */ - // dynamic list process foreach ($listfields as $sfid => $oneitem) { if ($listfields[$sfid]['type'] == 'w') { Modified: trunk/tiki-view_tracker_item.php =================================================================== --- trunk/tiki-view_tracker_item.php 2008-08-06 00:19:08 UTC (rev 14081) +++ trunk/tiki-view_tracker_item.php 2008-08-06 00:45:38 UTC (rev 14082) @@ -348,6 +348,54 @@ if ($fields["data"][$i]["type"] == 'f') { $fields["data"][$i]["value"] = ''; $ins_fields["data"][$i]["value"] = ''; + $xxxm = $xxxd = $xxxy = null; + if (!isset($_REQUEST["$ins_id" . "Month"]) + || empty($_REQUEST["$ins_id" . "Month"]) + || $_REQUEST["$ins_id" . "Month"] == 'null') $xxxm = '00'; + if (!isset($_REQUEST["$ins_id" . "Day"]) + || empty($_REQUEST["$ins_id" . "Day"]) + || $_REQUEST["$ins_id" . "Day"] == 'null') $xxxd = '00'; + if (!isset($_REQUEST["$ins_id" . "Year"]) + || empty($_REQUEST["$ins_id" . "Year"]) + || $_REQUEST["$ins_id" . "Year"] == 'null') $xxxy = '00'; + + // If all date fields (month, day, year) are blank, then + // that's fine, otherwise, take the date the field is set to. + // If the individual field is blank, then set it to today. + // If the field is mandatory, then a blank full date is not + // allowed, in which case we set it to today's date. + if ($xxxm == $xxxd && $xxxd == $xxxy && $xxxy == '00' + && ($fields["data"][$i]['isMandatory'] == 'y' + || (isset($fields["data"][$i]['options_array'][0]) && $fields["data"][$i]['options_array'][0] != 'd') + || ((isset($fields["data"][$i]['options_array'][0]) && $fields["data"][$i]['options_array'][0] == 'd') && (!isset($fields["data"][$i]['options_array'][3]) || $fields["data"][$i]['options_array'][3] != 'blank')) + ) + ) { + $ins_fields["data"][$i]["value"] = $tikilib->now; + } elseif ($xxxm == $xxxd && $xxxd == $xxxy && $xxxy == '00') { + $ins_fields["data"][$i]["value"] = ''; + } else { + if ($xxxm != null || $xxxm == '00' && $fields["data"][$i]['isMandatory'] == 'y') { + $xxxm = $tikidate->month; + } else { + $xxxm = $_REQUEST["$ins_id" . "Month"]; + } + if ($xxxd != null || $xxxd == '00' && $fields["data"][$i]['isMandatory'] == 'y') { + $xxxd = $tikidate->day; + } else { + $xxxd = $_REQUEST["$ins_id" . "Day"]; + } + if ($xxxy != null || $xxxy == '00' && $fields["data"][$i]['isMandatory'] == 'y') { + $xxxy = $tikidate->year; + } else { + $xxxy = $_REQUEST["$ins_id" . "Year"]; + } + if ($fields["data"][$i]['options_array'][0] == 'd') { + $ins_fields["data"][$i]["value"] = $tikilib->make_time(0, 0, 0, $xxxm, $xxxd, $xxxy); + } else { + $ins_fields["data"][$i]["value"] = $tikilib->make_time($tikilib->hour, $tikilib->minute, 0, $xxxm, $xxxd, $xxxy); + } + } +/******** if (isset($_REQUEST["$ins_id" . "Day"])) { if (empty($_REQUEST['$ins_id'.'Hour'])) { $_REQUEST['$ins_id'.'Hour'] = 0; @@ -360,6 +408,7 @@ } else { $ins_fields["data"][$i]["value"] = $tikilib->now; } +**********/ } elseif ($fields["data"][$i]["type"] == 'e') { include_once('lib/categories/categlib.php'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Jy...@us...> - 2008-08-06 08:32:45
|
Revision: 14086 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14086&view=rev Author: Jyhem Date: 2008-08-06 08:32:51 +0000 (Wed, 06 Aug 2008) Log Message: ----------- [MOD] Merge topic_image.php with article_image.php and remove topic_image.php Modified Paths: -------------- trunk/templates/modules/mod-last_articles.tpl trunk/templates/styles/darkroom/tiki-read_article.tpl trunk/templates/styles/feb12/tiki-read_article.tpl trunk/templates/styles/simple/tiki-print_article.tpl trunk/templates/styles/thenews/tiki-read_article.tpl trunk/templates/styles/tikinewt/tiki-read_article.tpl trunk/templates/tiki-admin_topics.tpl trunk/templates/tiki-preview_article.tpl trunk/templates/tiki-print_article.tpl trunk/templates/tiki-read_article.tpl trunk/templates/tiki-received_articles.tpl trunk/templates/tiki-view_articles.tpl trunk/tiki-edit_article.php trunk/tiki-edit_submission.php Removed Paths: ------------- trunk/topic_image.php Modified: trunk/templates/modules/mod-last_articles.tpl =================================================================== --- trunk/templates/modules/mod-last_articles.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/modules/mod-last_articles.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -18,7 +18,7 @@ <div class="date">{$modLastArticles[ix].publishDate|tiki_short_date}</div> {/if} {if isset($showImg)} - {if $modLastArticles[ix].hasImage eq 'y'}<div class="image"><img alt="" src="article_image.php?id={$modLastArticles[ix].articleId}" width="{$showImg}" /></div>{elseif $modLastArticles[ix].topicId}<div class="image"><img alt="" src="topic_image.php?id={$modLastArticles[ix].topicId}" width="{$showImg}" /></div>{/if} + {if $modLastArticles[ix].hasImage eq 'y'}<div class="image"><img alt="" src="article_image.php?id={$modLastArticles[ix].articleId}" width="{$showImg}" /></div>{elseif $modLastArticles[ix].topicId}<div class="image"><img alt="" src="article_image.php?image_type=topic&id={$modLastArticles[ix].topicId}" width="{$showImg}" /></div>{/if} {/if} </div> {/if} Modified: trunk/templates/styles/darkroom/tiki-read_article.tpl =================================================================== --- trunk/templates/styles/darkroom/tiki-read_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/styles/darkroom/tiki-read_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -65,12 +65,12 @@ border="0" src="article_image.php?id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} -alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> +alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {else} {section name=it loop=$topics} {if ($topics[it].topicId eq $topicId) and ($topics[it].image_size > 0)} -<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="topic_image.php?id={$topicId}" /> +<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {/section} {/if} Modified: trunk/templates/styles/feb12/tiki-read_article.tpl =================================================================== --- trunk/templates/styles/feb12/tiki-read_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/styles/feb12/tiki-read_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -65,12 +65,12 @@ border="0" src="article_image.php?id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} -alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> +alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {else} {section name=it loop=$topics} {if ($topics[it].topicId eq $topicId) and ($topics[it].image_size > 0)} -<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="topic_image.php?id={$topicId}" /> +<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {/section} {/if} Modified: trunk/templates/styles/simple/tiki-print_article.tpl =================================================================== --- trunk/templates/styles/simple/tiki-print_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/styles/simple/tiki-print_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -14,10 +14,10 @@ {if $hasImage eq 'y'} <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?id={$articleId}" /> {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} </td><td width="75%" valign="top"> <span class="articleheading">{$parsed_heading}</span> Modified: trunk/templates/styles/thenews/tiki-read_article.tpl =================================================================== --- trunk/templates/styles/thenews/tiki-read_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/styles/thenews/tiki-read_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -65,12 +65,12 @@ border="0" src="article_image.php?id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} -alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> +alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {else} {section name=it loop=$topics} {if ($topics[it].topicId eq $topicId) and ($topics[it].image_size > 0)} -<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="topic_image.php?id={$topicId}" /> +<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {/section} {/if} Modified: trunk/templates/styles/tikinewt/tiki-read_article.tpl =================================================================== --- trunk/templates/styles/tikinewt/tiki-read_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/styles/tikinewt/tiki-read_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -65,12 +65,12 @@ border="0" src="article_image.php?id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} -alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> +alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {else} {section name=it loop=$topics} {if ($topics[it].topicId eq $topicId) and ($topics[it].image_size > 0)} -<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="topic_image.php?id={$topicId}" /> +<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="article_image.php?image_type=preview&id={$topicId}" /> {/if} {/section} {/if} Modified: trunk/templates/tiki-admin_topics.tpl =================================================================== --- trunk/templates/tiki-admin_topics.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-admin_topics.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -36,7 +36,7 @@ <td class="{cycle advance=false}"><a class="link" href="tiki-view_articles.php?topic={$topics[user].topicId}">{$topics[user].name}</a></td> <td class="{cycle advance=false}"> {if $topics[user].image_size} -<img alt="{tr}topic image{/tr}" border="0" src="topic_image.php?id={$topics[user].topicId}&reload=1" /> +<img alt="{tr}topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topics[user].topicId}&reload=1" /> {else} {/if} Modified: trunk/templates/tiki-preview_article.tpl =================================================================== --- trunk/templates/tiki-preview_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-preview_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -35,10 +35,10 @@ {/if} {/if} {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} </td><td valign="top"> <span class="articleheading">{$parsed_heading}</span> Modified: trunk/templates/tiki-print_article.tpl =================================================================== --- trunk/templates/tiki-print_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-print_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -16,10 +16,10 @@ <img alt="{tr}Article image{/tr}" border="0" src="article_image.php?image_type=article&id={$articleId}" {if $image_x > 0}width="{$image_x}"{/if}{if $image_y > 0 }height="{$image_y}"{/if} /> {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} </td><td valign="top"> <span class="articleheading">{$parsed_heading}</span> Modified: trunk/templates/tiki-read_article.tpl =================================================================== --- trunk/templates/tiki-read_article.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-read_article.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -43,12 +43,12 @@ border="0" src="article_image.php?image_type=article&id={$articleId}"{if $image_x > 0} width="{$image_x}"{/if}{if $image_y > 0 } height="{$image_y}"{/if} /></a> {else} <img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} -alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topicId}" /> +alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} {else} {section name=it loop=$topics} {if ($topics[it].topicId eq $topicId) and ($topics[it].image_size > 0)} -<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="topic_image.php?id={$topicId}" /> +<img {if $isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{$topicName}" border="0" src="article_image.php?image_type=topic&id={$topicId}" /> {/if} {/section} {/if} Modified: trunk/templates/tiki-received_articles.tpl =================================================================== --- trunk/templates/tiki-received_articles.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-received_articles.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -24,7 +24,7 @@ {if $useImage eq 'y'} <img alt="{tr}Article image{/tr}" border="0" src="received_article_image.php?id={$receivedArticleId}" /> {else} - <img alt="{tr}Topic image{/tr}" border="0" src="topic_image.php?id={$topic}" /> + <img alt="{tr}Topic image{/tr}" border="0" src="article_image.php?image_type=topic&id={$topic}" /> {/if} </td><td valign="top"> <span class="articleheading">{$parsed_heading}</span> Modified: trunk/templates/tiki-view_articles.tpl =================================================================== --- trunk/templates/tiki-view_articles.tpl 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/templates/tiki-view_articles.tpl 2008-08-06 08:32:51 UTC (rev 14086) @@ -63,7 +63,7 @@ $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}"><img {if $listpages[ix].isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{if $listpages[ix].show_image_caption and $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}" -border="0" src="topic_image.php?id={$listpages[ix].topicId}" /></a> +border="0" src="article_image.php?image_type=topic&id={$listpages[ix].topicId}" /></a> {/if} {else} {section name=it loop=$topics} @@ -72,7 +72,7 @@ $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}"><img {if $listpages[ix].isfloat eq 'y'}style="margin-right:4px;float:left;"{else}class="articleimage"{/if} alt="{if $listpages[ix].show_image_caption and $listpages[ix].image_caption}{$listpages[ix].image_caption}{else}{$listpages[ix].topicName}{/if}" -border="0" src="topic_image.php?id={$listpages[ix].topicId}" /></a> +border="0" src="article_image.php?image_type=topic&id={$listpages[ix].topicId}" /></a> {/if} {/section} {/if} Modified: trunk/tiki-edit_article.php =================================================================== --- trunk/tiki-edit_article.php 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/tiki-edit_article.php 2008-08-06 08:32:51 UTC (rev 14086) @@ -142,12 +142,6 @@ $data = $article_data["image_data"]; $imgname = $article_data["image_name"]; - if ($hasImage == 'y') { - $smarty->assign('tempimg', 'article_image.php?image_type=article&id='.$_REQUEST["articleId"]); - } else { - $smarty->assign('tempimg', 'n'); - } - $body = $article_data["body"]; $heading = $article_data["heading"]; $smarty->assign('parsed_body', $tikilib->parse_data($body)); Modified: trunk/tiki-edit_submission.php =================================================================== --- trunk/tiki-edit_submission.php 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/tiki-edit_submission.php 2008-08-06 08:32:51 UTC (rev 14086) @@ -130,12 +130,6 @@ $data = $article_data["image_data"]; $imgname = $article_data["image_name"]; - if ($hasImage == 'y') { - $smarty->assign('tempimg', 'article_image.php?image_type=submission&id='.$_REQUEST["articleId"]); - } else { - $smarty->assign('tempimg', 'n'); - } - $body = $article_data["body"]; $heading = $article_data["heading"]; Deleted: trunk/topic_image.php =================================================================== --- trunk/topic_image.php 2008-08-06 08:03:22 UTC (rev 14085) +++ trunk/topic_image.php 2008-08-06 08:32:51 UTC (rev 14086) @@ -1,67 +0,0 @@ -<?php - -// $Id: /cvsroot/tikiwiki/tiki/topic_image.php,v 1.17.2.1 2008-03-01 16:07:37 lphuberdeau Exp $ - -// Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. -// All Rights Reserved. See copyright.txt for details and a complete list of authors. -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. - -# $Id: /cvsroot/tikiwiki/tiki/topic_image.php,v 1.17.2.1 2008-03-01 16:07:37 lphuberdeau Exp $ - -// application to display an image from the database with -// option to resize the image dynamically creating a thumbnail on the fly. -require_once ('tiki-setup.php'); - -$smarty->assign('headtitle',tra('List Articles')); - -if ($prefs['feature_articles'] != 'y') { - $smarty->assign('msg', tra("This feature is disabled").": feature_articles"); - - $smarty->display("error.tpl"); - die; -} - -// Now check permissions to access this page -if(($tiki_p_read_article != 'y') && ($tiki_p_articles_read_heading != 'y')) { - $smarty->assign('errortype', 401); - $smarty->assign('msg',tra("Permission denied you cannot view pages")); - $smarty->display("error.tpl"); - die; -} -if (!isset($_REQUEST["id"])) { - die; -} - -$topiccachefile = $prefs['tmpDir']; -if ($tikidomain) { $topiccachefile.= "/$tikidomain"; } -$topiccachefile.= "/topic.".$_REQUEST["id"]; - -if (is_file($topiccachefile) and (!isset($_REQUEST["reload"]))) { - $size = getimagesize($topiccachefile); - header ("Content-type: ".$size['mime']); - readfile($topiccachefile); - die(); -} else { - $data = $tikilib->get_topic_image($_REQUEST["id"]); - // if blank then die, otherwise we offer to download strangeness - // this also catches invalid id's - if (!$data) { - die; - } - $type = $data["image_type"]; - $data = $data["image_data"]; - if ($data["image_data"]) { - $fp = fopen($topiccachefile,"wb"); - fputs($fp,$data); - fclose($fp); - } -} - -header ("Content-type: $type"); -if (is_file($topiccachefile)) { - readfile($topiccachefile); -} else { - echo $data; -} - -?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-06 09:16:35
|
Revision: 14089 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14089&view=rev Author: sept_7 Date: 2008-08-06 09:16:42 +0000 (Wed, 06 Aug 2008) Log Message: ----------- [ENH] new upload manager for files gallery... first step. Modified Paths: -------------- trunk/styles/tikinewt.css trunk/templates/categorize.tpl trunk/templates/tiki-upload_file.tpl trunk/tiki-upload_file.php Modified: trunk/styles/tikinewt.css =================================================================== --- trunk/styles/tikinewt.css 2008-08-06 08:47:57 UTC (rev 14088) +++ trunk/styles/tikinewt.css 2008-08-06 09:16:42 UTC (rev 14089) @@ -132,6 +132,7 @@ button, input[type=submit], +.submitbutton, .button input { border: 1px solid #46596f; background: #C7D0D9; @@ -140,6 +141,7 @@ button:hover, input[type=submit]:hover, +.submitbutton:hover, .button input:hover { background: #FFFFFF; cursor: pointer; Modified: trunk/templates/categorize.tpl =================================================================== --- trunk/templates/categorize.tpl 2008-08-06 08:47:57 UTC (rev 14088) +++ trunk/templates/categorize.tpl 2008-08-06 09:16:42 UTC (rev 14089) @@ -1,7 +1,9 @@ {if $prefs.feature_categories eq 'y' and (count($categories) gt 0 or $tiki_p_admin_categories eq 'y')} +{if $notable neq 'y'} <tr class="formcolor"> <td>{tr}Categorize{/tr}</td> <td{if $colsCategorize} colspan="{$colsCategorize}"{/if}> + {/if} {if $mandatory_category >= 0} <div id="categorizator"> {else} @@ -36,7 +38,9 @@ <a href="tiki-admin_categories.php" class="link">{tr}Admin Categories{/tr}</a> {/if} </div> + {if $notable neq 'y'} </td> </tr> + {/if} {/if} Modified: trunk/templates/tiki-upload_file.tpl =================================================================== --- trunk/templates/tiki-upload_file.tpl 2008-08-06 08:47:57 UTC (rev 14088) +++ trunk/templates/tiki-upload_file.tpl 2008-08-06 09:16:42 UTC (rev 14089) @@ -4,153 +4,203 @@ {if count($galleries) > 0 || $editFileId} {if !empty($galleryId)} - <div class="navbar"><a href="tiki-list_file_gallery.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" class="linkbut">{tr}Browse gallery{/tr}</a>{if count($uploads) > 0} - <a href="#upload" class="linkbut" title="{tr}Upload File{/tr}">{tr}Upload File{/tr}</a>{/if} - </div> + <div class="navbar"> + <a href="tiki-list_file_gallery.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" class="linkbut">{tr}Browse gallery{/tr}</a> + {if count($uploads) > 0} + <a href="#upload" class="linkbut" title="{tr}Upload File{/tr}">{tr}Upload File{/tr}</a> + {/if} + </div> {/if} -{if count($errors) > 0} -<div class="simplebox highlight"> -<h2>{tr}Errors detected{/tr}</h2> - {section name=ix loop=$errors} - {$errors[ix]}<br /> - {/section} -</div> -{/if} - -{if count($uploads) > 0} - <h2> - {if count($uploads) eq 1} - {tr}The following file was successfully uploaded{/tr}: - {else} - {tr}The following files have been successfully uploaded{/tr}: + {if count($errors) > 0} + <div class="simplebox highlight"> + <h2>{tr}Errors detected{/tr}</h2> + {section name=ix loop=$errors} + {$errors[ix]}<br /> + {/section} + </div> {/if} - </h2> - <table border="0" cellspacing="4" cellpadding="4"> - {section name=ix loop=$uploads} - <tr> - <td class="{cycle values="odd,even"}" style="text-align: center"> - <img src="tiki-download_file.php?fileId={$uploads[ix].fileId}&thumbnail=y" /> - </td> - <td> - <b>{$uploads[ix].name} ({$uploads[ix].size|kbsize})</b> - <div class="button2"> - <a href="#" onclick="javascript:flip('uploadinfos{$uploads[ix].fileId}');flip('uploadinfos{$uploads[ix].fileId}_close','inline');return false;" class="linkbut"> + {if count($uploads) > 0} + <h2> + {if count($uploads) eq 1} + {tr}The following file was successfully uploaded{/tr}: + {else} + {tr}The following files have been successfully uploaded{/tr}: + {/if} + </h2> + + <table border="0" cellspacing="4" cellpadding="4"> + {section name=ix loop=$uploads} + <tr> + <td class="{cycle values="odd,even"}" style="text-align: center"> + <img src="tiki-download_file.php?fileId={$uploads[ix].fileId}&thumbnail=y" /> + </td> + <td> + <b>{$uploads[ix].name} ({$uploads[ix].size|kbsize})</b> + <div class="button2"> + <a href="#" onclick="javascript:flip('uploadinfos{$uploads[ix].fileId}');flip('uploadinfos{$uploads[ix].fileId}_close','inline');return false;" class="linkbut"> {tr}Additional Info{/tr} <span id="uploadinfos{$uploads[ix].fileId}_close" style="display:none">({tr}Hide{/tr})</span> - </a> - </div> - <div style="display:none;" id="uploadinfos{$uploads[ix].fileId}"> - {tr}You can download this file using{/tr}: <a class="link" href="{$uploads[ix].dllink}">{$uploads[ix].dllink}</a><br /> - {tr}You can link to the file from a Wiki page using{/tr}: <div class="code">[tiki-download_file.php?fileId={$uploads[ix].fileId}|{$uploads[ix].name} ({$uploads[ix].size|kbsize})]</div> - {tr}You can display an image in a Wiki page using{/tr}: <div class="code">{img src="{$uploads[ix].dllink}" alt="{$uploads[ix].name} ({$uploads[ix].size|kbsize})"}</div> - {tr}You can link to the file from an HTML page using{/tr}: <div class="code"><a href="{$uploads[ix].dllink}">{$uploads[ix].name} ({$uploads[ix].size|kbsize})</a></div> - </div> - </td> - </tr> - {/section} - </table> + </a> + </div> + <div style="display:none;" id="uploadinfos{$uploads[ix].fileId}"> + {tr}You can download this file using{/tr}: <a class="link" href="{$uploads[ix].dllink}">{$uploads[ix].dllink}</a><br /> + {tr}You can link to the file from a Wiki page using{/tr}: <div class="code">[tiki-download_file.php?fileId={$uploads[ix].fileId}|{$uploads[ix].name} ({$uploads[ix].size|kbsize})]</div> + {tr}You can display an image in a Wiki page using{/tr}: <div class="code">{img src="{$uploads[ix].dllink}" alt="{$uploads[ix].name} ({$uploads[ix].size|kbsize})"}</div> + {tr}You can link to the file from an HTML page using{/tr}: <div class="code"><a href="{$uploads[ix].dllink}">{$uploads[ix].name} ({$uploads[ix].size|kbsize})</a></div> + </div> + </td> + </tr> + {/section} + </table> + <br /> -<br /> - -<h2>{tr}Upload File{/tr}</h2> -{elseif $fileChangedMessage} - <div align="center"> - <div class="wikitext"> - {$fileChangedMessage} + <h2>{tr}Upload File{/tr}</h2> + {elseif $fileChangedMessage} + <div align="center"> + <div class="wikitext"> + {$fileChangedMessage} + </div> </div> - </div> -{/if} + {/if} -{if !$editFileId} - {if $prefs.feature_file_galleries_batch eq 'y'} - {remarksbox type="tip" title="{tr}Tip{/tr}"}{tr}Upload big files (e.g. PodCast files) here:{/tr} <a class="rbox-link" href="tiki-batch_upload_files.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}">{tr}Directory batch{/tr}</a>{/remarksbox} + {if !$editFileId} + {if $prefs.feature_file_galleries_batch eq 'y'} + {remarksbox type="tip" title="{tr}Tip{/tr}"} + {tr}Upload big files (e.g. PodCast files) here:{/tr} + <a class="rbox-link" href="tiki-batch_upload_files.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}">{tr}Directory batch{/tr}</a> + {/remarksbox} + {/if} + {elseif isset($fileInfo.lockedby) and $fileInfo.lockedby neq ''} + {remarksbox type="note" title="{tr}Info{/tr}" icon="lock"} + {if $user eq $fileInfo.lockedby} + {tr}You locked the file{/tr} + {else} + {tr}The file is locked by {$fileInfo.lockedby}{/tr} + {/if} + {/remarksbox} {/if} -{elseif isset($fileInfo.lockedby) and $fileInfo.lockedby neq ''} - {remarksbox type="note" title="{tr}Info{/tr}" icon="lock"} - {if $user eq $fileInfo.lockedby} - {tr}You locked the file{/tr} - {else} - {tr}The file is locked by {$fileInfo.lockedby}{/tr} - {/if} - {/remarksbox} -{/if} <div align="center"> <form enctype="multipart/form-data" action="tiki-upload_file.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}" method="post"> - <table id="upload" class="normal"> - <tr><td class="formcolor">{tr}File Title{/tr}:</td><td class="formcolor"><input type="text" name="name" {if $fileInfo.name}value="{$fileInfo.name}"{/if} size="40" /> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td></tr> - <tr><td class="formcolor">{tr}File Description{/tr}:</td><td class="formcolor"><textarea rows="5" cols="40" name="description">{if $fileInfo.description}{$fileInfo.description}{/if}</textarea> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td></tr> - {if $editFileId} - <input type="hidden" name="galleryId" value="{$galleryId}"/> - <input type="hidden" name="fileId" value="{$editFileId}"/> - <input type="hidden" name="lockedby" value="{$fileInfo.lockedby|escape}" \> - {else} - <tr><td class="formcolor">{tr}File Gallery{/tr}:</td><td class="formcolor"> - <select name="galleryId"> - {section name=idx loop=$galleries} - {if ($galleries[idx].individual eq 'n') or ($galleries[idx].individual_tiki_p_upload_files eq 'y')} - <option value="{$galleries[idx].id|escape}" {if $galleries[idx].id eq $galleryId}selected="selected"{/if}>{$galleries[idx].name}</option> - {/if} - {/section} - </select>{/if}</td></tr> -{include file=categorize.tpl} + {include file=categorize.tpl notable='y'} + {capture name=upload_file assign=upload_str} + <hr class="clear"/> + <div class="clear"> + <div class="floatleft clearfix" style="padding-right: 10px;"> + <table> + <tr> + <td>{tr}File Title:{/tr}</td> + <td><input type="text" name="name[]" {if $fileInfo.name}value="{$fileInfo.name}"{/if} size="40" /> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td> + </tr> + <tr> + <td>{tr}File Description:{/tr}</td> + <td><textarea rows="2" cols="40" name="description[]">{if $fileInfo.description}{$fileInfo.description}{/if}</textarea> + {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if} + </td> + </tr> + {* File replacement is only here when the javascript upload action is not + available in the file listing. + This may be moved later in another specific place (e.g. simple popup) for + non-javascript browsers since it is not really a "Property" of the file *} -{* File replacement is only here when the javascript upload action is not available in the file listing. - This may be moved later in another specific place (e.g. simple popup) for non-javascript browsers - since it is not really a "Property" of the file *} + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} + <tr> + <td>{tr}Upload from disk:{/tr} + {if $editFileId}{$fileInfo.filename|escape}<br />{/if}</td> + <td><input name="userfile[]" type="file" size="30"/></td> + </tr> + {/if} + </table> + </div> + <div class="clearfix" style="text-align: left;"> + {if $editFileId} + <input type="hidden" name="galleryId" value="{$galleryId}"/> + <input type="hidden" name="fileId" value="{$editFileId}"/> + <input type="hidden" name="lockedby" value="{$fileInfo.lockedby|escape}" \> + {else} + {tr}File Gallery:{/tr} + <select name="galleryId[]"> + {section name=idx loop=$galleries} + {if ($galleries[idx].individual eq 'n') or ($galleries[idx].individual_tiki_p_upload_files eq 'y')} + <option value="{$galleries[idx].id|escape}" {if $galleries[idx].id eq $galleryId}selected="selected"{/if}>{$galleries[idx].name}</option> + {/if} + {/section} + </select> + <br/> + {/if} -{if $prefs.javascript_enabled neq 'y' || ! $editFileId} - <tr><td class="formcolor"> {tr}Upload from disk:{/tr}</td> - <td class="formcolor"> - {if $editFileId}{$fileInfo.filename|escape}<br />{/if} - <input name="userfile1" type="file" /> - {if !$editFileId}<input name="userfile2" type="file" /> - <br /> - <input name="userfile3" type="file" /> - <input name="userfile4" type="file" /> - <br /> - <input name="userfile5" type="file" /> - <input name="userfile6" type="file" />{/if} - </td></tr> -{/if} + {if !$editFileId and $tiki_p_batch_upload_files eq 'y'} + {tr}Batch upload:{/tr} + <input type="checkbox" name="isbatch[]" /> + <i>{tr}Unzip all zip files{/tr}</i> + <br/> + {/if} - {if !$editFileId and $tiki_p_batch_upload_files eq 'y'}<tr><td class="formcolor">{tr}Batch upload{/tr}:</td><td class="formcolor"> - <input type="checkbox" name="isbatch" /><i>{tr}Unzip all zip files{/tr}</i></td></tr> - {/if} + {if $tiki_p_admin_file_galleries eq 'y'} + {tr}Creator:{/tr} + <select name="user[]"> + {section name=ix loop=$users} + <option value="{$users[ix].login|escape}"{if (isset($fileInfo) and $fileInfo.user eq $users[ix].login) or (!isset($fileInfo) and $user == $users[ix].login)} selected="selected"{/if}>{$users[ix].login|username}</option> + {/section} + </select> + <br/> + {/if} - {if $tiki_p_admin_file_galleries eq 'y'} - <tr><td class="formcolor">{tr}Creator{/tr}:</td><td class="formcolor"> - <select name="user"> - {section name=ix loop=$users}<option value="{$users[ix].login|escape}"{if (isset($fileInfo) and $fileInfo.user eq $users[ix].login) or (!isset($fileInfo) and $user == $users[ix].login)} selected="selected"{/if}>{$users[ix].login|username}</option>{/section} - </select> - </td></tr> - {/if} + {if $prefs.fgal_limit_hits_per_file eq 'y'} + {tr}Maximum amount of downloads:{/tr} + <input type="text" name="hit_limit[]" value="{$hit_limit|default:0}"/> + {tr}0 for no limit{/tr} + <br/> + {/if} - {if $prefs.fgal_limit_hits_per_file eq 'y'} - <tr><td class="formcolor">{tr}Maximum amount of downloads{/tr}:</td><td class="formcolor"> - <input type="text" name="hit_limit" value="{$hit_limit|default:0}"/> - {tr}0 for no limit{/tr} - </td></tr> - {/if} + {if $prefs.feature_file_galleries_author eq 'y'} + {tr}Author if not the file creator:{/tr} + <input type="text" name="author[]" value="{$fileInfo.author|escape}" /> + <br/> + {/if} - {if $prefs.feature_file_galleries_author eq 'y'} - <tr><td class="formcolor">{tr}Author if not the file creator{/tr}:</td><td class="formcolor"><input type="text" name="author" value="{$fileInfo.author|escape}" /></td></tr> + {* We want comments only on updated files *} + {if $prefs.javascript_enabled neq 'y' && $editFileId} + {tr}Comment:{/tr} + <input type="text" name="comment[]" value="" size="40" /> + <br/> + {/if} + </div> + </div> + {/capture} + {$upload_str} + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} + <script type="text/javascript"> + <!--//--><![CDATA[//><!-- + {literal} + function add_upload_file(id) { + {/literal} + document.getElementById(id).innerHTML += '{$upload_str|strip}'; + {literal} + } + {/literal} + //--><!]]> + </script> + <div id="multiple_upload"> + </div> {/if} - - {if $prefs.javascript_enabled neq 'y' && $editFileId} - <tr><td class="formcolor">{tr}Comment{/tr}:</td><td class="formcolor"><input type="text" name="comment" value="" size="40" /></td></tr> + <hr class="clear"/> + <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" /> + {if $prefs.javascript_enabled neq 'y' || !$editFileId} + <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> {/if} - - <tr><td class="formcolor"> </td><td class="formcolor"><input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" />{if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby}{icon _id="lock" class="" alt=""}<span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span>{/if}</td></tr> - </table> + {if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby} + {icon _id="lock" class="" alt=""} + <span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span> + {/if} </form> </div> - {else} - {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} {tr}No gallery available.{/tr} {tr}You have to create a gallery first!{/tr} + {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} + {tr}No gallery available.{/tr} + {tr}You have to create a gallery first!{/tr} <p><a class="linkbut" href="tiki-file_galleries.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}">{tr}Create New Gallery{/tr}</a></p> {/if} - Modified: trunk/tiki-upload_file.php =================================================================== --- trunk/tiki-upload_file.php 2008-08-06 08:47:57 UTC (rev 14088) +++ trunk/tiki-upload_file.php 2008-08-06 09:16:42 UTC (rev 14089) @@ -1,10 +1,14 @@ <?php -// $Id: /cvsroot/tikiwiki/tiki/tiki-upload_file.php,v 1.65.2.4 2008-03-11 15:17:54 nyloth Exp $ +// $Id: /cvsroot/tikiwiki/tiki/tiki-upload_file.php,v 1.65.2.4 2008-03-11 +// 15:17:54 nyloth Exp $ -// Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. -// All Rights Reserved. See copyright.txt for details and a complete list of authors. -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. +// Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. +// al. +// All Rights Reserved. See copyright.txt for details and a complete list of +// authors. +// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. +// See license.txt for details. $section = 'file_galleries'; require_once ('tiki-setup.php'); @@ -72,8 +76,6 @@ } } - - $foo = parse_url($_SERVER["REQUEST_URI"]); $foo1 = str_replace("tiki-upload_file", "tiki-download_file", $foo["path"]); $smarty->assign('url_browse', $tikilib->httpPrefix(). $foo1); @@ -84,28 +86,28 @@ $podcast_url = $tikilib->httpPrefix().$podcast_url.$prefs['fgal_podcast_dir']; if (!isset($_REQUEST["description"])) - $_REQUEST["description"] = ''; +$_REQUEST["description"] = ''; if (!isset($_REQUEST['author'])) - $_REQUEST['author'] = ''; +$_REQUEST['author'] = ''; if (isset($_REQUEST['hit_limit'])) - $_REQUEST['hit_limit'] = (int) $_REQUEST['hit_limit']; +$_REQUEST['hit_limit'] = (int) $_REQUEST['hit_limit']; else - $_REQUEST['hit_limit'] = 0; +$_REQUEST['hit_limit'] = 0; $smarty->assign('show', 'n'); if (isset($_REQUEST['fileId'])) - $editFileId = $_REQUEST['fileId']; +$editFileId = $_REQUEST['fileId']; $editFile = false; if (!empty($editFileId)) { - if (!empty($_REQUEST['name'])) - $fileInfo['name']=$_REQUEST['name']; - if (!empty($_REQUEST['description'])) - $fileInfo['description']=$_REQUEST['description']; - if (!empty($_REQUEST['user'])) - $fileInfo['user']=$_REQUEST['user']; - if (!empty($_REQUEST['author'])) - $fileInfo['author']=$_REQUEST['author']; + if (!empty($_REQUEST['name'][0])) + $fileInfo['name']=$_REQUEST['name'][0]; + if (!empty($_REQUEST['description'][0])) + $fileInfo['description']=$_REQUEST['description'][0]; + if (!empty($_REQUEST['user'][0])) + $fileInfo['user']=$_REQUEST['user'][0]; + if (!empty($_REQUEST['author'][0])) + $fileInfo['author']=$_REQUEST['author'][0]; $smarty->assign_by_ref('fileInfo',$fileInfo); $smarty->assign('editFileId',$editFileId); @@ -119,65 +121,63 @@ } // Process an upload here -if (isset($_REQUEST["upload"]) && !empty($_REQUEST['galleryId'])) { +if (isset($_REQUEST["upload"])) { check_ticket('upload-file'); $error_msg = ''; - $errors = array(); $uploads = array(); + $batch_job = false; $didFileReplace = false; - if (!isset($_REQUEST['comment'])) - $_REQUEST['comment'] = ''; - for ($i = 1; $i <= 6; $i++) { + foreach($_FILES["userfile"]["error"] as $key => $error) { + if (empty($_REQUEST['galleryId'][$key])) continue; + if (!isset($_REQUEST['comment'][$key])) + $_REQUEST['comment'][$key] = ''; // We process here file uploads - if (isset($_FILES["userfile$i"]) && !empty($_FILES["userfile$i"]['name'])) { + if (!empty($_FILES["userfile"]["name"][$key])) { // Were there any problems with the upload? If so, report here. - if (!is_uploaded_file($_FILES["userfile$i"]['tmp_name'])) { - $errors[] = tra('Upload was not successful').': '.$tikilib->uploaded_file_error($_FILES["userfile$i"]['error']); + if (!is_uploaded_file($_FILES["userfile"]["tmp_name"][$key])) { + $errors[] = tra('Upload was not successful').': '.$tikilib->uploaded_file_error($error); continue; } - - // Check the name if (!empty($prefs['fgal_match_regex'])) { - if (!preg_match('/'.$prefs['fgal_match_regex'].'/', $_FILES["userfile$i"]['name'], $reqs)) { - $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile$i"]['name']; + if (!preg_match('/'.$prefs['fgal_match_regex'].'/', $_FILES["userfile"]['name'][$key], $reqs)) { + $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile"]["name"][$key]; + continue; } } if (!empty($prefs['fgal_nmatch_regex'])) { - if (preg_match('/'.$prefs['fgal_nmatch_regex'].'/', $_FILES["userfile$i"]['name'], $reqs)) { - $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile$i"]['name']; + if (preg_match('/'.$prefs['fgal_nmatch_regex'].'/', $_FILES["userfile"]["name"][$key], $reqs)) { + $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile"]["name"][$key]; + continue ; } } - $name = $_FILES["userfile$i"]['name']; + $name = $_FILES["userfile"]["name"][$key]; - if (isset($_REQUEST["isbatch"]) && $_REQUEST["isbatch"] == 'on' && strtolower(substr($name, strlen($name) - 3)) == 'zip') { + if (isset($_REQUEST["isbatch"][$key]) && $_REQUEST["isbatch"][$key] == 'on' && strtolower(substr($name, strlen($name) - 3)) == 'zip') { if ($tiki_p_batch_upload_files == 'y') { - $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"]); die; + $filegallib->process_batch_file_upload($_REQUEST["galleryId"][$key], $_FILES["userfile"]['tmp_name'][$key], $user, $_REQUEST["description"][$key]); + $batch_job = true; + $batch_job_galleryId = $_REQUEST["galleryId"][$key]; + continue; } else { - $smarty->assign('msg', tra('No permission to upload zipped file packages')); - - $smarty->display("error.tpl"); - die; + $errors[] = tra('No permission to upload zipped file packages'); + continue; } } - $file_name = $_FILES["userfile$i"]['name']; - $file_tmp_name = $_FILES["userfile$i"]['tmp_name']; + $file_name = $_FILES["userfile"]["name"][$key]; + $file_tmp_name = $_FILES["userfile"]["tmp_name"][$key]; $tmp_dest = $prefs['tmpDir'] . "/" . $file_name.".tmp"; if (!move_uploaded_file($file_tmp_name, $tmp_dest)) { - $smarty->assign('msg', tra('Errors detected')); - $smarty->display("error.tpl"); - die(); + $errors[] = tra('Errors detected'); + continue; } - + $fp = fopen($tmp_dest, "rb"); if (!$fp) { @@ -188,13 +188,13 @@ $fhash = ''; if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { - $fhash = md5($name = $_FILES["userfile$i"]['name']); + $fhash = md5($name = $_FILES["userfile"]['name'][$key]); $fhash = md5(uniqid($fhash)); // for podcast galleries add the extension so the // file can be called directly if name is known, if ($podCastGallery) { - $path_parts = pathinfo($_FILES["userfile$i"]['name']); + $path_parts = pathinfo($_FILES["userfile"]['name'][$key]); if (in_array(strtolower($path_parts["extension"]),array("m4a", "mp3", "mov", "mp4", "m4v", "pdf"))) { $fhash .= ".".strtolower($path_parts["extension"]); } @@ -215,7 +215,6 @@ if (($data = fread($fp, 8192 * 16)) === false) { $errors[] = tra('Cannot read the file:').' '.$tmp_dest; } - fwrite($fw, $data); } } @@ -226,19 +225,18 @@ if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { fclose ($fw); - $data = ''; } - $size = $_FILES["userfile$i"]['size']; - $name = stripslashes($_FILES["userfile$i"]['name']); + $size = $_FILES["userfile"]['size'][$key]; + $name = stripslashes($_FILES["userfile"]['name'][$key]); - $type = $_FILES["userfile$i"]['type']; + $type = $_FILES["userfile"]['type'][$key]; if (preg_match('/.flv$/',$name)) { $type="video/x-flv"; } if (count($errors)) { - break; + continue; } if (!$size) { @@ -250,38 +248,37 @@ } } - if (!isset($_REQUEST['name'])) - $_REQUEST['name'] = $name; - if (empty($_REQUEST['user'])) - $_REQUEST['user'] = $user; + if (!isset($_REQUEST['name'][$key])) + $_REQUEST['name'][$key] = $name; + if (empty($_REQUEST['user'][$key])) + $_REQUEST['user'][$key] = $user; $fileInfo['filename'] = $file_name; if (isset($data)) { if ($editFile) { $didFileReplace = true; - $fileId = $filegallib->replace_file($editFileId, $_REQUEST["name"], $_REQUEST["description"], $name, $data, $size, $type, $_REQUEST['user'], $fhash, $_REQUEST['comment'], $gal_info, $didFileReplace, $_REQUEST['author'], $fileInfo['lastModif'], $fileInfo['lockedby']); + $fileId = $filegallib->replace_file($editFileId, $_REQUEST["name"][$key], $_REQUEST["description"][$key], $name, $data, $size, $type, $_REQUEST['user'][$key], $fhash, $_REQUEST['comment'][$key], $gal_info, $didFileReplace, $_REQUEST['author'][$key], $fileInfo['lastModif'], $fileInfo['lockedby']); if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { - $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'] ); + $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'][$key] ); } + } else { + $fileId= $filegallib->insert_file($_REQUEST["galleryId"][$key], $_REQUEST["name"][$key], $_REQUEST["description"][$key], $name, $data, $size, $type, $_REQUEST['user'][$key], $fhash, '', $_REQUEST['author'][$key]); } - else - $fileId= $filegallib->insert_file($_REQUEST["galleryId"], $_REQUEST["name"], $_REQUEST["description"], $name, $data, $size, $type, $_REQUEST['user'], $fhash, '', $_REQUEST['author']); + if (!$fileId) { $errors[] = tra('Upload was not successful. Duplicate file content'). ': ' . $name; if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { @unlink($savedir . $fhash); } - } if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { - $filegallib->set_download_limit( $fileId, $_REQUEST['hit_limit'] ); + $filegallib->set_download_limit( $fileId, $_REQUEST['hit_limit'][$key] ); } if (count($errors) == 0) { $aux['name'] = $name; - $aux['size'] = $size; $aux['fileId'] = $fileId; if ($podCastGallery) { @@ -292,8 +289,8 @@ $uploads[] = $aux; $cat_type = 'file'; $cat_objid = $fileId; - $cat_desc = substr($_REQUEST["description"], 0, 200); - $cat_name = empty($_REQUEST['name'])? $name: $_REQUEST['name']; + $cat_desc = substr($_REQUEST["description"][$key], 0, 200); + $cat_name = empty($_REQUEST['name'][$key])? $name: $_REQUEST['name'][$key]; $cat_href = $aux['dllink']; include_once ('categorize.php'); } @@ -302,22 +299,27 @@ } if ($editFile && !$didFileReplace) { - $filegallib->replace_file($editFileId, $_REQUEST['name'], $_REQUEST['description'], $fileInfo['filename'], $fileInfo['data'], $fileInfo['filesize'], $fileInfo['filetype'], $fileInfo['user'], $fileInfo['path'], $_REQUEST['comment'], $gal_info, $didFileReplace, $_REQUEST['author'], $fileInfo['lastModif'], $fileInfo['lockedby']); + $filegallib->replace_file($editFileId, $_REQUEST['name'][0], $_REQUEST['description'][0], $fileInfo['filename'], $fileInfo['data'], $fileInfo['filesize'], $fileInfo['filetype'], $fileInfo['user'], $fileInfo['path'], $_REQUEST['comment'][0], $gal_info, $didFileReplace, $_REQUEST['author'][0], $fileInfo['lastModif'], $fileInfo['lockedby']); $fileChangedMessage = tra('File update was successful').': '.$_REQUEST['name']; $smarty->assign('fileChangedMessage',$fileChangedMessage); $cat_type = 'file'; $cat_objid = $editFileId; - $cat_desc = substr($_REQUEST["description"], 0, 200); + $cat_desc = substr($_REQUEST["description"][0], 0, 200); $cat_name = empty($fileInfo['name'])?$fileInfo['filename']: $fileInfo['name']; $cat_href = $podCastGallery?$podcast_url.$fhash: "$url_browse?fileId=".$editFileId; if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { - $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'] ); + $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'][0] ); } include_once ('categorize.php'); } $smarty->assign('errors', $errors); $smarty->assign('uploads', $uploads); + + if ($batch_job and count($errors) == 0) { + header ("location: tiki-list_file_gallery.php?galleryId=" . $batch_job_galleryId); + die; + } } // Get the list of galleries to display the select box in the template This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Sylvie G. <sgr...@gm...> - 2008-08-17 22:23:28
Attachments:
test.gif
|
Sept_7, I do not get why one part of the layout was changed to div and the other was kept into a table In darkroom I have some strange display See attached pictures, my "file gallery" is at the top and the values are below So 1) everything must be div 2) everything must be table I personally do not like 2 columns infos, and if I have to change the layout I will enlarge the textarea of the description and the title to a maximum width. But for now I prefer the previous version But if you need a 2 columns, I think that all must be converted to div with enough classes to be able to tell which one is close to which one :-) On Wed, 2008-08-06 at 09:16 +0000, se...@us... wrote: > Revision: 14089 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14089&view=rev > Author: sept_7 > Date: 2008-08-06 09:16:42 +0000 (Wed, 06 Aug 2008) > > Log Message: > ----------- > [ENH] new upload manager for files gallery... first step. > > Modified Paths: > -------------- > trunk/styles/tikinewt.css > trunk/templates/categorize.tpl > trunk/templates/tiki-upload_file.tpl > trunk/tiki-upload_file.php > > Modified: trunk/styles/tikinewt.css > =================================================================== > --- trunk/styles/tikinewt.css 2008-08-06 08:47:57 UTC (rev 14088) > +++ trunk/styles/tikinewt.css 2008-08-06 09:16:42 UTC (rev 14089) > @@ -132,6 +132,7 @@ > > button, > input[type=submit], > +.submitbutton, > .button input { > border: 1px solid #46596f; > background: #C7D0D9; > @@ -140,6 +141,7 @@ > > button:hover, > input[type=submit]:hover, > +.submitbutton:hover, > .button input:hover { > background: #FFFFFF; > cursor: pointer; > > Modified: trunk/templates/categorize.tpl > =================================================================== > --- trunk/templates/categorize.tpl 2008-08-06 08:47:57 UTC (rev 14088) > +++ trunk/templates/categorize.tpl 2008-08-06 09:16:42 UTC (rev 14089) > @@ -1,7 +1,9 @@ > {if $prefs.feature_categories eq 'y' and (count($categories) gt 0 or $tiki_p_admin_categories eq 'y')} > +{if $notable neq 'y'} > <tr class="formcolor"> > <td>{tr}Categorize{/tr}</td> > <td{if $colsCategorize} colspan="{$colsCategorize}"{/if}> > + {/if} > {if $mandatory_category >= 0} > <div id="categorizator"> > {else} > @@ -36,7 +38,9 @@ > <a href="tiki-admin_categories.php" class="link">{tr}Admin Categories{/tr}</a> > {/if} > </div> > + {if $notable neq 'y'} > </td> > </tr> > + {/if} > {/if} > > > Modified: trunk/templates/tiki-upload_file.tpl > =================================================================== > --- trunk/templates/tiki-upload_file.tpl 2008-08-06 08:47:57 UTC (rev 14088) > +++ trunk/templates/tiki-upload_file.tpl 2008-08-06 09:16:42 UTC (rev 14089) > @@ -4,153 +4,203 @@ > > {if count($galleries) > 0 || $editFileId} > {if !empty($galleryId)} > - <div class="navbar"><a href="tiki-list_file_gallery.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" class="linkbut">{tr}Browse gallery{/tr}</a>{if count($uploads) > 0} > - <a href="#upload" class="linkbut" title="{tr}Upload File{/tr}">{tr}Upload File{/tr}</a>{/if} > - </div> > + <div class="navbar"> > + <a href="tiki-list_file_gallery.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}" class="linkbut">{tr}Browse gallery{/tr}</a> > + {if count($uploads) > 0} > + <a href="#upload" class="linkbut" title="{tr}Upload File{/tr}">{tr}Upload File{/tr}</a> > + {/if} > + </div> > {/if} > > -{if count($errors) > 0} > -<div class="simplebox highlight"> > -<h2>{tr}Errors detected{/tr}</h2> > - {section name=ix loop=$errors} > - {$errors[ix]}<br /> > - {/section} > -</div> > -{/if} > - > -{if count($uploads) > 0} > - <h2> > - {if count($uploads) eq 1} > - {tr}The following file was successfully uploaded{/tr}: > - {else} > - {tr}The following files have been successfully uploaded{/tr}: > + {if count($errors) > 0} > + <div class="simplebox highlight"> > + <h2>{tr}Errors detected{/tr}</h2> > + {section name=ix loop=$errors} > + {$errors[ix]}<br /> > + {/section} > + </div> > {/if} > - </h2> > > - <table border="0" cellspacing="4" cellpadding="4"> > - {section name=ix loop=$uploads} > - <tr> > - <td class="{cycle values="odd,even"}" style="text-align: center"> > - <img src="tiki-download_file.php?fileId={$uploads[ix].fileId}&thumbnail=y" /> > - </td> > - <td> > - <b>{$uploads[ix].name} ({$uploads[ix].size|kbsize})</b> > - <div class="button2"> > - <a href="#" onclick="javascript:flip('uploadinfos{$uploads[ix].fileId}');flip('uploadinfos{$uploads[ix].fileId}_close','inline');return false;" class="linkbut"> > + {if count($uploads) > 0} > + <h2> > + {if count($uploads) eq 1} > + {tr}The following file was successfully uploaded{/tr}: > + {else} > + {tr}The following files have been successfully uploaded{/tr}: > + {/if} > + </h2> > + > + <table border="0" cellspacing="4" cellpadding="4"> > + {section name=ix loop=$uploads} > + <tr> > + <td class="{cycle values="odd,even"}" style="text-align: center"> > + <img src="tiki-download_file.php?fileId={$uploads[ix].fileId}&thumbnail=y" /> > + </td> > + <td> > + <b>{$uploads[ix].name} ({$uploads[ix].size|kbsize})</b> > + <div class="button2"> > + <a href="#" onclick="javascript:flip('uploadinfos{$uploads[ix].fileId}');flip('uploadinfos{$uploads[ix].fileId}_close','inline');return false;" class="linkbut"> > {tr}Additional Info{/tr} > <span id="uploadinfos{$uploads[ix].fileId}_close" style="display:none">({tr}Hide{/tr})</span> > - </a> > - </div> > - <div style="display:none;" id="uploadinfos{$uploads[ix].fileId}"> > - {tr}You can download this file using{/tr}: <a class="link" href="{$uploads[ix].dllink}">{$uploads[ix].dllink}</a><br /> > - {tr}You can link to the file from a Wiki page using{/tr}: <div class="code">[tiki-download_file.php?fileId={$uploads[ix].fileId}|{$uploads[ix].name} ({$uploads[ix].size|kbsize})]</div> > - {tr}You can display an image in a Wiki page using{/tr}: <div class="code">{img src="{$uploads[ix].dllink}" alt="{$uploads[ix].name} ({$uploads[ix].size|kbsize})"}</div> > - {tr}You can link to the file from an HTML page using{/tr}: <div class="code"><a href="{$uploads[ix].dllink}">{$uploads[ix].name} ({$uploads[ix].size|kbsize})</a></div> > - </div> > - </td> > - </tr> > - {/section} > - </table> > + </a> > + </div> > + <div style="display:none;" id="uploadinfos{$uploads[ix].fileId}"> > + {tr}You can download this file using{/tr}: <a class="link" href="{$uploads[ix].dllink}">{$uploads[ix].dllink}</a><br /> > + {tr}You can link to the file from a Wiki page using{/tr}: <div class="code">[tiki-download_file.php?fileId={$uploads[ix].fileId}|{$uploads[ix].name} ({$uploads[ix].size|kbsize})]</div> > + {tr}You can display an image in a Wiki page using{/tr}: <div class="code">{img src="{$uploads[ix].dllink}" alt="{$uploads[ix].name} ({$uploads[ix].size|kbsize})"}</div> > + {tr}You can link to the file from an HTML page using{/tr}: <div class="code"><a href="{$uploads[ix].dllink}">{$uploads[ix].name} ({$uploads[ix].size|kbsize})</a></div> > + </div> > + </td> > + </tr> > + {/section} > + </table> > + <br /> > > -<br /> > - > -<h2>{tr}Upload File{/tr}</h2> > -{elseif $fileChangedMessage} > - <div align="center"> > - <div class="wikitext"> > - {$fileChangedMessage} > + <h2>{tr}Upload File{/tr}</h2> > + {elseif $fileChangedMessage} > + <div align="center"> > + <div class="wikitext"> > + {$fileChangedMessage} > + </div> > </div> > - </div> > -{/if} > + {/if} > > -{if !$editFileId} > - {if $prefs.feature_file_galleries_batch eq 'y'} > - {remarksbox type="tip" title="{tr}Tip{/tr}"}{tr}Upload big files (e.g. PodCast files) here:{/tr} <a class="rbox-link" href="tiki-batch_upload_files.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}">{tr}Directory batch{/tr}</a>{/remarksbox} > + {if !$editFileId} > + {if $prefs.feature_file_galleries_batch eq 'y'} > + {remarksbox type="tip" title="{tr}Tip{/tr}"} > + {tr}Upload big files (e.g. PodCast files) here:{/tr} > + <a class="rbox-link" href="tiki-batch_upload_files.php?galleryId={$galleryId}{if $filegals_manager neq ''}&filegals_manager={$filegals_manager|escape}{/if}">{tr}Directory batch{/tr}</a> > + {/remarksbox} > + {/if} > + {elseif isset($fileInfo.lockedby) and $fileInfo.lockedby neq ''} > + {remarksbox type="note" title="{tr}Info{/tr}" icon="lock"} > + {if $user eq $fileInfo.lockedby} > + {tr}You locked the file{/tr} > + {else} > + {tr}The file is locked by {$fileInfo.lockedby}{/tr} > + {/if} > + {/remarksbox} > {/if} > -{elseif isset($fileInfo.lockedby) and $fileInfo.lockedby neq ''} > - {remarksbox type="note" title="{tr}Info{/tr}" icon="lock"} > - {if $user eq $fileInfo.lockedby} > - {tr}You locked the file{/tr} > - {else} > - {tr}The file is locked by {$fileInfo.lockedby}{/tr} > - {/if} > - {/remarksbox} > -{/if} > > <div align="center"> > <form enctype="multipart/form-data" action="tiki-upload_file.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}" method="post"> > - <table id="upload" class="normal"> > - <tr><td class="formcolor">{tr}File Title{/tr}:</td><td class="formcolor"><input type="text" name="name" {if $fileInfo.name}value="{$fileInfo.name}"{/if} size="40" /> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td></tr> > - <tr><td class="formcolor">{tr}File Description{/tr}:</td><td class="formcolor"><textarea rows="5" cols="40" name="description">{if $fileInfo.description}{$fileInfo.description}{/if}</textarea> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td></tr> > - {if $editFileId} > - <input type="hidden" name="galleryId" value="{$galleryId}"/> > - <input type="hidden" name="fileId" value="{$editFileId}"/> > - <input type="hidden" name="lockedby" value="{$fileInfo.lockedby|escape}" \> > - {else} > - <tr><td class="formcolor">{tr}File Gallery{/tr}:</td><td class="formcolor"> > - <select name="galleryId"> > - {section name=idx loop=$galleries} > - {if ($galleries[idx].individual eq 'n') or ($galleries[idx].individual_tiki_p_upload_files eq 'y')} > - <option value="{$galleries[idx].id|escape}" {if $galleries[idx].id eq $galleryId}selected="selected"{/if}>{$galleries[idx].name}</option> > - {/if} > - {/section} > - </select>{/if}</td></tr> > -{include file=categorize.tpl} > + {include file=categorize.tpl notable='y'} > + {capture name=upload_file assign=upload_str} > + <hr class="clear"/> > + <div class="clear"> > + <div class="floatleft clearfix" style="padding-right: 10px;"> > + <table> > + <tr> > + <td>{tr}File Title:{/tr}</td> > + <td><input type="text" name="name[]" {if $fileInfo.name}value="{$fileInfo.name}"{/if} size="40" /> {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if}</td> > + </tr> > + <tr> > + <td>{tr}File Description:{/tr}</td> > + <td><textarea rows="2" cols="40" name="description[]">{if $fileInfo.description}{$fileInfo.description}{/if}</textarea> > + {if $gal_info.type eq "podcast" or $gal_info.type eq "vidcast"} ({tr}required field for podcasts{/tr}){/if} > + </td> > + </tr> > + {* File replacement is only here when the javascript upload action is not > + available in the file listing. > + This may be moved later in another specific place (e.g. simple popup) for > + non-javascript browsers since it is not really a "Property" of the file *} > > -{* File replacement is only here when the javascript upload action is not available in the file listing. > - This may be moved later in another specific place (e.g. simple popup) for non-javascript browsers > - since it is not really a "Property" of the file *} > + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} > + <tr> > + <td>{tr}Upload from disk:{/tr} > + {if $editFileId}{$fileInfo.filename|escape}<br />{/if}</td> > + <td><input name="userfile[]" type="file" size="30"/></td> > + </tr> > + {/if} > + </table> > + </div> > + <div class="clearfix" style="text-align: left;"> > + {if $editFileId} > + <input type="hidden" name="galleryId" value="{$galleryId}"/> > + <input type="hidden" name="fileId" value="{$editFileId}"/> > + <input type="hidden" name="lockedby" value="{$fileInfo.lockedby|escape}" \> > + {else} > + {tr}File Gallery:{/tr} > + <select name="galleryId[]"> > + {section name=idx loop=$galleries} > + {if ($galleries[idx].individual eq 'n') or ($galleries[idx].individual_tiki_p_upload_files eq 'y')} > + <option value="{$galleries[idx].id|escape}" {if $galleries[idx].id eq $galleryId}selected="selected"{/if}>{$galleries[idx].name}</option> > + {/if} > + {/section} > + </select> > + <br/> > + {/if} > > -{if $prefs.javascript_enabled neq 'y' || ! $editFileId} > - <tr><td class="formcolor"> {tr}Upload from disk:{/tr}</td> > - <td class="formcolor"> > - {if $editFileId}{$fileInfo.filename|escape}<br />{/if} > - <input name="userfile1" type="file" /> > - {if !$editFileId}<input name="userfile2" type="file" /> > - <br /> > - <input name="userfile3" type="file" /> > - <input name="userfile4" type="file" /> > - <br /> > - <input name="userfile5" type="file" /> > - <input name="userfile6" type="file" />{/if} > - </td></tr> > -{/if} > + {if !$editFileId and $tiki_p_batch_upload_files eq 'y'} > + {tr}Batch upload:{/tr} > + <input type="checkbox" name="isbatch[]" /> > + <i>{tr}Unzip all zip files{/tr}</i> > + <br/> > + {/if} > > - {if !$editFileId and $tiki_p_batch_upload_files eq 'y'}<tr><td class="formcolor">{tr}Batch upload{/tr}:</td><td class="formcolor"> > - <input type="checkbox" name="isbatch" /><i>{tr}Unzip all zip files{/tr}</i></td></tr> > - {/if} > + {if $tiki_p_admin_file_galleries eq 'y'} > + {tr}Creator:{/tr} > + <select name="user[]"> > + {section name=ix loop=$users} > + <option value="{$users[ix].login|escape}"{if (isset($fileInfo) and $fileInfo.user eq $users[ix].login) or (!isset($fileInfo) and $user == $users[ix].login)} selected="selected"{/if}>{$users[ix].login|username}</option> > + {/section} > + </select> > + <br/> > + {/if} > > - {if $tiki_p_admin_file_galleries eq 'y'} > - <tr><td class="formcolor">{tr}Creator{/tr}:</td><td class="formcolor"> > - <select name="user"> > - {section name=ix loop=$users}<option value="{$users[ix].login|escape}"{if (isset($fileInfo) and $fileInfo.user eq $users[ix].login) or (!isset($fileInfo) and $user == $users[ix].login)} selected="selected"{/if}>{$users[ix].login|username}</option>{/section} > - </select> > - </td></tr> > - {/if} > + {if $prefs.fgal_limit_hits_per_file eq 'y'} > + {tr}Maximum amount of downloads:{/tr} > + <input type="text" name="hit_limit[]" value="{$hit_limit|default:0}"/> > + {tr}0 for no limit{/tr} > + <br/> > + {/if} > > - {if $prefs.fgal_limit_hits_per_file eq 'y'} > - <tr><td class="formcolor">{tr}Maximum amount of downloads{/tr}:</td><td class="formcolor"> > - <input type="text" name="hit_limit" value="{$hit_limit|default:0}"/> > - {tr}0 for no limit{/tr} > - </td></tr> > - {/if} > + {if $prefs.feature_file_galleries_author eq 'y'} > + {tr}Author if not the file creator:{/tr} > + <input type="text" name="author[]" value="{$fileInfo.author|escape}" /> > + <br/> > + {/if} > > - {if $prefs.feature_file_galleries_author eq 'y'} > - <tr><td class="formcolor">{tr}Author if not the file creator{/tr}:</td><td class="formcolor"><input type="text" name="author" value="{$fileInfo.author|escape}" /></td></tr> > + {* We want comments only on updated files *} > + {if $prefs.javascript_enabled neq 'y' && $editFileId} > + {tr}Comment:{/tr} > + <input type="text" name="comment[]" value="" size="40" /> > + <br/> > + {/if} > + </div> > + </div> > + {/capture} > + {$upload_str} > + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} > + <script type="text/javascript"> > + <!--//--><![CDATA[//><!-- > + {literal} > + function add_upload_file(id) { > + {/literal} > + document.getElementById(id).innerHTML += '{$upload_str|strip}'; > + {literal} > + } > + {/literal} > + //--><!]]> > + </script> > + <div id="multiple_upload"> > + </div> > {/if} > - > - {if $prefs.javascript_enabled neq 'y' && $editFileId} > - <tr><td class="formcolor">{tr}Comment{/tr}:</td><td class="formcolor"><input type="text" name="comment" value="" size="40" /></td></tr> > + <hr class="clear"/> > + <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" /> > + {if $prefs.javascript_enabled neq 'y' || !$editFileId} > + <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> > {/if} > - > - <tr><td class="formcolor"> </td><td class="formcolor"><input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" />{if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby}{icon _id="lock" class="" alt=""}<span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span>{/if}</td></tr> > - </table> > + {if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby} > + {icon _id="lock" class="" alt=""} > + <span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span> > + {/if} > </form> > </div> > - > {else} > - {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} {tr}No gallery available.{/tr} {tr}You have to create a gallery first!{/tr} > + {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} > + {tr}No gallery available.{/tr} > + {tr}You have to create a gallery first!{/tr} > <p><a class="linkbut" href="tiki-file_galleries.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}">{tr}Create New Gallery{/tr}</a></p> > {/if} > > - > > Modified: trunk/tiki-upload_file.php > =================================================================== > --- trunk/tiki-upload_file.php 2008-08-06 08:47:57 UTC (rev 14088) > +++ trunk/tiki-upload_file.php 2008-08-06 09:16:42 UTC (rev 14089) > @@ -1,10 +1,14 @@ > <?php > > -// $Id: /cvsroot/tikiwiki/tiki/tiki-upload_file.php,v 1.65.2.4 2008-03-11 15:17:54 nyloth Exp $ > +// $Id: /cvsroot/tikiwiki/tiki/tiki-upload_file.php,v 1.65.2.4 2008-03-11 > +// 15:17:54 nyloth Exp $ > > -// Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. > -// All Rights Reserved. See copyright.txt for details and a complete list of authors. > -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. > +// Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. > +// al. > +// All Rights Reserved. See copyright.txt for details and a complete list of > +// authors. > +// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. > +// See license.txt for details. > > $section = 'file_galleries'; > require_once ('tiki-setup.php'); > @@ -72,8 +76,6 @@ > } > } > > - > - > $foo = parse_url($_SERVER["REQUEST_URI"]); > $foo1 = str_replace("tiki-upload_file", "tiki-download_file", $foo["path"]); > $smarty->assign('url_browse', $tikilib->httpPrefix(). $foo1); > @@ -84,28 +86,28 @@ > $podcast_url = $tikilib->httpPrefix().$podcast_url.$prefs['fgal_podcast_dir']; > > if (!isset($_REQUEST["description"])) > - $_REQUEST["description"] = ''; > +$_REQUEST["description"] = ''; > if (!isset($_REQUEST['author'])) > - $_REQUEST['author'] = ''; > +$_REQUEST['author'] = ''; > if (isset($_REQUEST['hit_limit'])) > - $_REQUEST['hit_limit'] = (int) $_REQUEST['hit_limit']; > +$_REQUEST['hit_limit'] = (int) $_REQUEST['hit_limit']; > else > - $_REQUEST['hit_limit'] = 0; > +$_REQUEST['hit_limit'] = 0; > > $smarty->assign('show', 'n'); > > if (isset($_REQUEST['fileId'])) > - $editFileId = $_REQUEST['fileId']; > +$editFileId = $_REQUEST['fileId']; > $editFile = false; > if (!empty($editFileId)) { > - if (!empty($_REQUEST['name'])) > - $fileInfo['name']=$_REQUEST['name']; > - if (!empty($_REQUEST['description'])) > - $fileInfo['description']=$_REQUEST['description']; > - if (!empty($_REQUEST['user'])) > - $fileInfo['user']=$_REQUEST['user']; > - if (!empty($_REQUEST['author'])) > - $fileInfo['author']=$_REQUEST['author']; > + if (!empty($_REQUEST['name'][0])) > + $fileInfo['name']=$_REQUEST['name'][0]; > + if (!empty($_REQUEST['description'][0])) > + $fileInfo['description']=$_REQUEST['description'][0]; > + if (!empty($_REQUEST['user'][0])) > + $fileInfo['user']=$_REQUEST['user'][0]; > + if (!empty($_REQUEST['author'][0])) > + $fileInfo['author']=$_REQUEST['author'][0]; > > $smarty->assign_by_ref('fileInfo',$fileInfo); > $smarty->assign('editFileId',$editFileId); > @@ -119,65 +121,63 @@ > } > > // Process an upload here > -if (isset($_REQUEST["upload"]) && !empty($_REQUEST['galleryId'])) { > +if (isset($_REQUEST["upload"])) { > check_ticket('upload-file'); > > $error_msg = ''; > - > $errors = array(); > $uploads = array(); > + $batch_job = false; > > $didFileReplace = false; > - if (!isset($_REQUEST['comment'])) > - $_REQUEST['comment'] = ''; > - for ($i = 1; $i <= 6; $i++) { > + foreach($_FILES["userfile"]["error"] as $key => $error) { > + if (empty($_REQUEST['galleryId'][$key])) continue; > + if (!isset($_REQUEST['comment'][$key])) > + $_REQUEST['comment'][$key] = ''; > // We process here file uploads > - if (isset($_FILES["userfile$i"]) && !empty($_FILES["userfile$i"]['name'])) { > + if (!empty($_FILES["userfile"]["name"][$key])) { > // Were there any problems with the upload? If so, report here. > - if (!is_uploaded_file($_FILES["userfile$i"]['tmp_name'])) { > - $errors[] = tra('Upload was not successful').': '.$tikilib->uploaded_file_error($_FILES["userfile$i"]['error']); > + if (!is_uploaded_file($_FILES["userfile"]["tmp_name"][$key])) { > + $errors[] = tra('Upload was not successful').': '.$tikilib->uploaded_file_error($error); > continue; > } > - > - > // Check the name > if (!empty($prefs['fgal_match_regex'])) { > - if (!preg_match('/'.$prefs['fgal_match_regex'].'/', $_FILES["userfile$i"]['name'], $reqs)) { > - $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile$i"]['name']; > + if (!preg_match('/'.$prefs['fgal_match_regex'].'/', $_FILES["userfile"]['name'][$key], $reqs)) { > + $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile"]["name"][$key]; > + continue; > } > } > > if (!empty($prefs['fgal_nmatch_regex'])) { > - if (preg_match('/'.$prefs['fgal_nmatch_regex'].'/', $_FILES["userfile$i"]['name'], $reqs)) { > - $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile$i"]['name']; > + if (preg_match('/'.$prefs['fgal_nmatch_regex'].'/', $_FILES["userfile"]["name"][$key], $reqs)) { > + $errors[] = tra('Invalid filename (using filters for filenames)'). ': ' . $_FILES["userfile"]["name"][$key]; > + continue ; > } > } > > - $name = $_FILES["userfile$i"]['name']; > + $name = $_FILES["userfile"]["name"][$key]; > > - if (isset($_REQUEST["isbatch"]) && $_REQUEST["isbatch"] == 'on' && strtolower(substr($name, strlen($name) - 3)) == 'zip') { > + if (isset($_REQUEST["isbatch"][$key]) && $_REQUEST["isbatch"][$key] == 'on' && strtolower(substr($name, strlen($name) - 3)) == 'zip') { > if ($tiki_p_batch_upload_files == 'y') { > - $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"]); die; > + $filegallib->process_batch_file_upload($_REQUEST["galleryId"][$key], $_FILES["userfile"]['tmp_name'][$key], $user, $_REQUEST["description"][$key]); > + $batch_job = true; > + $batch_job_galleryId = $_REQUEST["galleryId"][$key]; > + continue; > } else { > - $smarty->assign('msg', tra('No permission to upload zipped file packages')); > - > - $smarty->display("error.tpl"); > - die; > + $errors[] = tra('No permission to upload zipped file packages'); > + continue; > } > } > > - $file_name = $_FILES["userfile$i"]['name']; > - $file_tmp_name = $_FILES["userfile$i"]['tmp_name']; > + $file_name = $_FILES["userfile"]["name"][$key]; > + $file_tmp_name = $_FILES["userfile"]["tmp_name"][$key]; > $tmp_dest = $prefs['tmpDir'] . "/" . $file_name.".tmp"; > if (!move_uploaded_file($file_tmp_name, $tmp_dest)) { > - $smarty->assign('msg', tra('Errors detected')); > - $smarty->display("error.tpl"); > - die(); > + $errors[] = tra('Errors detected'); > + continue; > } > - > + > $fp = fopen($tmp_dest, "rb"); > > if (!$fp) { > @@ -188,13 +188,13 @@ > $fhash = ''; > > if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { > - $fhash = md5($name = $_FILES["userfile$i"]['name']); > + $fhash = md5($name = $_FILES["userfile"]['name'][$key]); > $fhash = md5(uniqid($fhash)); > > // for podcast galleries add the extension so the > // file can be called directly if name is known, > if ($podCastGallery) { > - $path_parts = pathinfo($_FILES["userfile$i"]['name']); > + $path_parts = pathinfo($_FILES["userfile"]['name'][$key]); > if (in_array(strtolower($path_parts["extension"]),array("m4a", "mp3", "mov", "mp4", "m4v", "pdf"))) { > $fhash .= ".".strtolower($path_parts["extension"]); > } > @@ -215,7 +215,6 @@ > if (($data = fread($fp, 8192 * 16)) === false) { > $errors[] = tra('Cannot read the file:').' '.$tmp_dest; > } > - > fwrite($fw, $data); > } > } > @@ -226,19 +225,18 @@ > > if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { > fclose ($fw); > - > $data = ''; > } > > - $size = $_FILES["userfile$i"]['size']; > - $name = stripslashes($_FILES["userfile$i"]['name']); > + $size = $_FILES["userfile"]['size'][$key]; > + $name = stripslashes($_FILES["userfile"]['name'][$key]); > > - $type = $_FILES["userfile$i"]['type']; > + $type = $_FILES["userfile"]['type'][$key]; > > if (preg_match('/.flv$/',$name)) { $type="video/x-flv"; } > > if (count($errors)) { > - break; > + continue; > } > > if (!$size) { > @@ -250,38 +248,37 @@ > } > } > > - if (!isset($_REQUEST['name'])) > - $_REQUEST['name'] = $name; > - if (empty($_REQUEST['user'])) > - $_REQUEST['user'] = $user; > + if (!isset($_REQUEST['name'][$key])) > + $_REQUEST['name'][$key] = $name; > + if (empty($_REQUEST['user'][$key])) > + $_REQUEST['user'][$key] = $user; > > $fileInfo['filename'] = $file_name; > > if (isset($data)) { > if ($editFile) { > $didFileReplace = true; > - $fileId = $filegallib->replace_file($editFileId, $_REQUEST["name"], $_REQUEST["description"], $name, $data, $size, $type, $_REQUEST['user'], $fhash, $_REQUEST['comment'], $gal_info, $didFileReplace, $_REQUEST['author'], $fileInfo['lastModif'], $fileInfo['lockedby']); > + $fileId = $filegallib->replace_file($editFileId, $_REQUEST["name"][$key], $_REQUEST["description"][$key], $name, $data, $size, $type, $_REQUEST['user'][$key], $fhash, $_REQUEST['comment'][$key], $gal_info, $didFileReplace, $_REQUEST['author'][$key], $fileInfo['lastModif'], $fileInfo['lockedby']); > if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { > - $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'] ); > + $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'][$key] ); > } > + } else { > + $fileId= $filegallib->insert_file($_REQUEST["galleryId"][$key], $_REQUEST["name"][$key], $_REQUEST["description"][$key], $name, $data, $size, $type, $_REQUEST['user'][$key], $fhash, '', $_REQUEST['author'][$key]); > } > - else > - $fileId= $filegallib->insert_file($_REQUEST["galleryId"], $_REQUEST["name"], $_REQUEST["description"], $name, $data, $size, $type, $_REQUEST['user'], $fhash, '', $_REQUEST['author']); > + > if (!$fileId) { > $errors[] = tra('Upload was not successful. Duplicate file content'). ': ' . $name; > if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { > @unlink($savedir . $fhash); > } > - > } > > if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { > - $filegallib->set_download_limit( $fileId, $_REQUEST['hit_limit'] ); > + $filegallib->set_download_limit( $fileId, $_REQUEST['hit_limit'][$key] ); > } > > if (count($errors) == 0) { > $aux['name'] = $name; > - > $aux['size'] = $size; > $aux['fileId'] = $fileId; > if ($podCastGallery) { > @@ -292,8 +289,8 @@ > $uploads[] = $aux; > $cat_type = 'file'; > $cat_objid = $fileId; > - $cat_desc = substr($_REQUEST["description"], 0, 200); > - $cat_name = empty($_REQUEST['name'])? $name: $_REQUEST['name']; > + $cat_desc = substr($_REQUEST["description"][$key], 0, 200); > + $cat_name = empty($_REQUEST['name'][$key])? $name: $_REQUEST['name'][$key]; > $cat_href = $aux['dllink']; > include_once ('categorize.php'); > } > @@ -302,22 +299,27 @@ > } > > if ($editFile && !$didFileReplace) { > - $filegallib->replace_file($editFileId, $_REQUEST['name'], $_REQUEST['description'], $fileInfo['filename'], $fileInfo['data'], $fileInfo['filesize'], $fileInfo['filetype'], $fileInfo['user'], $fileInfo['path'], $_REQUEST['comment'], $gal_info, $didFileReplace, $_REQUEST['author'], $fileInfo['lastModif'], $fileInfo['lockedby']); > + $filegallib->replace_file($editFileId, $_REQUEST['name'][0], $_REQUEST['description'][0], $fileInfo['filename'], $fileInfo['data'], $fileInfo['filesize'], $fileInfo['filetype'], $fileInfo['user'], $fileInfo['path'], $_REQUEST['comment'][0], $gal_info, $didFileReplace, $_REQUEST['author'][0], $fileInfo['lastModif'], $fileInfo['lockedby']); > $fileChangedMessage = tra('File update was successful').': '.$_REQUEST['name']; > $smarty->assign('fileChangedMessage',$fileChangedMessage); > $cat_type = 'file'; > $cat_objid = $editFileId; > - $cat_desc = substr($_REQUEST["description"], 0, 200); > + $cat_desc = substr($_REQUEST["description"][0], 0, 200); > $cat_name = empty($fileInfo['name'])?$fileInfo['filename']: $fileInfo['name']; > $cat_href = $podCastGallery?$podcast_url.$fhash: "$url_browse?fileId=".$editFileId; > if( $prefs['fgal_limit_hits_per_file'] == 'y' ) { > - $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'] ); > + $filegallib->set_download_limit( $editFileId, $_REQUEST['hit_limit'][0] ); > } > include_once ('categorize.php'); > } > > $smarty->assign('errors', $errors); > $smarty->assign('uploads', $uploads); > + > + if ($batch_job and count($errors) == 0) { > + header ("location: tiki-list_file_gallery.php?galleryId=" . $batch_job_galleryId); > + die; > + } > } > > // Get the list of galleries to display the select box in the template > > > This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs |
From: Stephane C. <se...@lo...> - 2008-08-18 00:19:02
|
Le Sun, Aug 17, 2008 at 06:23:34PM -0400, Sylvie Greverend écrivait : > Sept_7, Hi, > I do not get why one part of the layout was changed to div and the other > was kept into a table > In darkroom I have some strange display > See attached pictures, my "file gallery" is at the top and the values > are below > So > 1) everything must be div > 2) everything must be table > I personally do not like 2 columns infos, and if I have to change the > layout I will enlarge the textarea of the description and the title to a > maximum width. But for now I prefer the previous version > But if you need a 2 columns, I think that all must be converted to div > with enough classes to be able to tell which one is close to which one > :-) You are welcome to propose a nicer layout ! ;p I am not very good at nice looking stuff, and I don't like table either, so if you have a proposition go ahead. I put the info on two columns so it's using less space in the page. The text area and the input text field should be enlarged as you propose. I tested it this tikineat and tikinewt ... A+ -- Stéphane Casset LOGIDÉE sàrl Se faire plaisir d'apprendre 1a, rue Pasteur Tel : +33 388 23 69 77 ca...@lo... F-67540 OSTWALD Fax : +33 388 23 69 77 http://logidee.com |
From: <ny...@us...> - 2008-08-06 21:43:24
|
Revision: 14104 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14104&view=rev Author: nyloth Date: 2008-08-06 21:43:33 +0000 (Wed, 06 Aug 2008) Log Message: ----------- [FIX] filegals: update some themes to behave as expected for sept_7's new file upload UI Modified Paths: -------------- trunk/styles/darkroom.css trunk/styles/feb12.css trunk/styles/thenews.css trunk/styles/tikineat.css trunk/templates/tiki-upload_file.tpl Modified: trunk/styles/darkroom.css =================================================================== --- trunk/styles/darkroom.css 2008-08-06 20:23:58 UTC (rev 14103) +++ trunk/styles/darkroom.css 2008-08-06 21:43:33 UTC (rev 14104) @@ -122,13 +122,9 @@ font-size: 0.9em; cursor: text} -/*input[type=submit], -input[type=file], -input[type=reset], -select {}*/ - button, input[type=submit], +.submitbutton, .button input, input[type=reset] { background:#4E4E4E url(darkroom/button.png) top left repeat-x; @@ -142,6 +138,7 @@ button:hover, input[type=submit]:hover, +.submitbutton:hover, .button input:hover { border: 1px solid #B2B2B2; text-decoration: none} Modified: trunk/styles/feb12.css =================================================================== --- trunk/styles/feb12.css 2008-08-06 20:23:58 UTC (rev 14103) +++ trunk/styles/feb12.css 2008-08-06 21:43:33 UTC (rev 14104) @@ -109,6 +109,7 @@ width: 120px} input[type=submit], +.submitbutton, input[type=file], input[type=reset], select { @@ -117,6 +118,7 @@ button, input[type=submit], +.submitbutton, .button input, input[type=reset] { vertical-align: middle; @@ -127,6 +129,7 @@ button:hover, input[type=submit]:hover, +.submitbutton:hover, .button input:hover { background: #FFFFFF; cursor: pointer} @@ -2034,4 +2037,4 @@ a.admbox.off:active { border: 1px solid #9f9f9f} -/* end of css file */ \ No newline at end of file +/* end of css file */ Modified: trunk/styles/thenews.css =================================================================== --- trunk/styles/thenews.css 2008-08-06 20:23:58 UTC (rev 14103) +++ trunk/styles/thenews.css 2008-08-06 21:43:33 UTC (rev 14104) @@ -121,14 +121,9 @@ } -input[type=submit], -input[type=file], -input[type=reset], -select { - -} button, input[type=submit], +.submitbutton, .button input, input[type=reset] { border: 1px solid #4C4C4C; @@ -139,6 +134,7 @@ button:hover, input[type=submit]:hover, +.submitbutton:hover, .button input:hover { cursor: pointer; background: #E6E6F8; Modified: trunk/styles/tikineat.css =================================================================== --- trunk/styles/tikineat.css 2008-08-06 20:23:58 UTC (rev 14103) +++ trunk/styles/tikineat.css 2008-08-06 21:43:33 UTC (rev 14104) @@ -145,12 +145,12 @@ input[type=checkbox], input[type=radio] { border : 0; } -button, input[type=submit], .button input { +button, input[type=submit], .button input, .submitbutton { border : 1px solid #46596f; background-color: #C7D0D9; font-weight : bold; } -button:hover, input[type=submit]:hover, .button input:hover { +button:hover, input[type=submit]:hover, .button input:hover, .submitbutton:hover { background-color : #FFFFFF; cursor : pointer; } @@ -2205,4 +2205,10 @@ .sub { padding-left: 5em !important; } + +div.floatleft { + float: left; + clear: none; +} + /* end of css file */ Modified: trunk/templates/tiki-upload_file.tpl =================================================================== --- trunk/templates/tiki-upload_file.tpl 2008-08-06 20:23:58 UTC (rev 14103) +++ trunk/templates/tiki-upload_file.tpl 2008-08-06 21:43:33 UTC (rev 14104) @@ -132,9 +132,8 @@ {/if} {if !$editFileId and $tiki_p_batch_upload_files eq 'y'} - {tr}Batch upload:{/tr} + {tr}Unzip all zip files:{/tr} <input type="checkbox" name="isbatch[]" /> - <i>{tr}Unzip all zip files{/tr}</i> <br/> {/if} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sy...@us...> - 2008-08-07 15:06:12
|
Revision: 14114 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14114&view=rev Author: sylvieg Date: 2008-08-07 15:06:21 +0000 (Thu, 07 Aug 2008) Log Message: ----------- [MOD]i18n: new option that forces the string to be in the same language of the page Modified Paths: -------------- trunk/lib/setup/prefs.php trunk/templates/tiki-admin-include-i18n.tpl trunk/tiki-admin_include_i18n.php trunk/tiki-index.php Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-07 14:04:59 UTC (rev 14113) +++ trunk/lib/setup/prefs.php 2008-08-07 15:06:21 UTC (rev 14114) @@ -745,6 +745,7 @@ $prefs['feature_babelfish'] = 'n'; $prefs['feature_babelfish_logo'] = 'n'; $prefs['quantify_changes'] = 'n'; + $prefs['feature_sync_language'] = 'n'; # html header $prefs['metatag_keywords'] = ''; Modified: trunk/templates/tiki-admin-include-i18n.tpl =================================================================== --- trunk/templates/tiki-admin-include-i18n.tpl 2008-08-07 14:04:59 UTC (rev 14113) +++ trunk/templates/tiki-admin-include-i18n.tpl 2008-08-07 15:06:21 UTC (rev 14114) @@ -57,6 +57,10 @@ {if $prefs.feature_best_language eq 'y'}checked="checked"{/if}/></td> </tr><tr> + <td class="form"><label for="feature_sync_language">{tr}Page language forces to display strings in the same language{/tr}:</label></td> + <td><input type="checkbox" name="feature_sync_language" id="feature_sync_language" + {if $prefs.feature_sync_language eq 'y'}checked="checked"{/if}/></td> + </tr><tr> <td class="form"><label for="feature_detect_language">{tr}Detect browser language{/tr}:</label></td> <td><input type="checkbox" name="feature_detect_language" id="feature_detect_language" Modified: trunk/tiki-admin_include_i18n.php =================================================================== --- trunk/tiki-admin_include_i18n.php 2008-08-07 14:04:59 UTC (rev 14113) +++ trunk/tiki-admin_include_i18n.php 2008-08-07 15:06:21 UTC (rev 14114) @@ -29,6 +29,7 @@ "feature_multilingual", "feature_multilingual_structures", "feature_best_language", + 'feature_sync_language', "feature_detect_language", // This option should be re-added to this page, no? // "change_language", Modified: trunk/tiki-index.php =================================================================== --- trunk/tiki-index.php 2008-08-07 14:04:59 UTC (rev 14113) +++ trunk/tiki-index.php 2008-08-07 15:06:21 UTC (rev 14114) @@ -65,7 +65,7 @@ *[http://info.tikiwiki.org/Learn+More|Learn more about TikiWiki]. *[http://info.tikiwiki.org/Help+Others|Get help], including the [http://doc.tikiwiki.org|official documentation] and [http://www.tikiwiki.org/forums|support forums]. *[http://info.tikiwiki.org/Join+the+community|Join the TikiWiki community]. -',$tikilib->now,'Tiki initialization'); +',$tikilib->now,'Tiki initialization', 'admin', '0.0.0.0', '', 'en'); header('Location: tiki-index.php?page='.$userHomePage); } } else { @@ -201,6 +201,7 @@ if (!$info) $info = $tikilib->get_page_info($page); + // If the page doesn't exist then display an error if(empty($info) && !($user && $prefs['feature_wiki_userpage'] == 'y' && strcasecmp($prefs['feature_wiki_userpage_prefix'].$user, $page) == 0)) { if ($user && $prefs['feature_wiki_userpage'] == 'y' && strcasecmp($prefs['feature_wiki_userpage_prefix'], $page) == 0) { @@ -236,6 +237,10 @@ header('Location: tiki-editpage.php?page='.$prefs['feature_wiki_userpage_prefix'].$user); die; } +if ($prefs['feature_multilingual'] == 'y' && $prefs['feature_sync_language'] == 'y' && !empty($info['lang'])) { + $_SESSION['s_prefs']['language'] = $info['lang']; + $prefs['language'] = $info['lang']; +} /*Wiki SECURITY warning to optimizers : Although get_page_info is currently called even if permission is denied, we must still get page's real name This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-07 19:33:28
|
Revision: 14119 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14119&view=rev Author: lphuberdeau Date: 2008-08-07 19:33:37 +0000 (Thu, 07 Aug 2008) Log Message: ----------- [MRG] Automatic merge, branches/2.0 14076 to 14111 Modified Paths: -------------- trunk/styles/transitions/1.9to2.0.css trunk/templates/blog-heading.tpl trunk/templates/tiki-view_tracker_item.tpl trunk/tiki-edit_blog.php trunk/tiki-show_user_avatar.php trunk/tiki-upload_file.php Modified: trunk/styles/transitions/1.9to2.0.css =================================================================== --- trunk/styles/transitions/1.9to2.0.css 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/styles/transitions/1.9to2.0.css 2008-08-07 19:33:37 UTC (rev 14119) @@ -545,3 +545,6 @@ padding-left: 5em !important; } +.blogactions { + float:right; +} Modified: trunk/templates/blog-heading.tpl =================================================================== --- trunk/templates/blog-heading.tpl 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/templates/blog-heading.tpl 2008-08-07 19:33:37 UTC (rev 14119) @@ -5,7 +5,7 @@ <div class="bloginfo"> {tr}Created by{/tr} {$creator|userlink}{tr} on {/tr}{$created|tiki_short_datetime}<br /> {tr}Last post{/tr} {$lastModif|tiki_short_datetime}<br /> -<span style="float:right;"> +<span class="blogactions"> {if $tiki_p_blog_post eq "y"} {if ($user and $creator eq $user) or $tiki_p_blog_admin eq "y" or $public eq "y"} <a class="bloglink" href="tiki-blog_post.php?blogId={$blogId}">{icon _id='pencil_add' alt='{tr}Post{/tr}'}</a> Modified: trunk/templates/tiki-view_tracker_item.tpl =================================================================== --- trunk/templates/tiki-view_tracker_item.tpl 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/templates/tiki-view_tracker_item.tpl 2008-08-07 19:33:37 UTC (rev 14119) @@ -273,12 +273,12 @@ {include file='tracker_item_field_input.tpl' field_value=$cur_field} {elseif $cur_field.type eq 'u'} -{if !$cur_field.options or $tiki_p_admin_trackers eq 'y'} +{if !$cur_field.options_array[0] or $tiki_p_admin_trackers eq 'y'} <select name="ins_{$cur_field.id}" {if $cur_field.http_request}onchange="selectValues('trackerIdList={$cur_field.http_request[0]}&fieldlist={$cur_field.http_request[3]}&filterfield={$cur_field.http_request[1]}&status={$cur_field.http_request[4]}&mandatory={$cur_field.http_request[6]}&filtervalue='+escape(this.value),'{$cur_field.http_request[5]}')"{/if}> {if $cur_field.isMandatory ne 'y'}<option value="">{tr}None{/tr}</option>{/if} {foreach key=id item=one from=$users} {if ( ! isset($cur_field.itemChoices) || $cur_field.itemChoices|@count eq 0 || in_array($one, $cur_field.itemChoices) ) } -<option value="{$one|escape}" {if $cur_field.value eq $one or ($cur_field.isMandatory eq 'y' and empty($cur_field.value) and $one eq $user)}selected="selected"{/if}>{$one}</option> +<option value="{$one|escape}" {if ($cur_field.options_array[0] eq '2' and $one eq $user) or ($cur_field.options_array[0] ne '2' and $cur_field.value eq $one) or ($cur_field.isMandatory eq 'y' and empty($cur_field.value) and $one eq $user)}selected="selected"{/if}>{$one|escape}</option> {/if} {/foreach} </select> Modified: trunk/tiki-edit_blog.php =================================================================== --- trunk/tiki-edit_blog.php 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/tiki-edit_blog.php 2008-08-07 19:33:37 UTC (rev 14119) @@ -83,22 +83,6 @@ $smarty->assign('lastModif', $lastModif); } -if (isset($_REQUEST["heading"])and $tiki_p_edit_templates) { - $heading = $_REQUEST["heading"]; -} else { - $n = $smarty->get_filename('blog-heading.tpl', 'r'); - @$fp = fopen($n, 'r'); - if ($fp) { - $heading = fread($fp, filesize($n)); - @fclose($fp); - } else - $heading = ''; -} - -$smarty->assign_by_ref('heading', $heading); -$users = $userlib->list_all_users(); -$smarty->assign_by_ref('users', $users); - if (isset($_REQUEST["blogId"]) && $_REQUEST["blogId"] > 0) { // Check permission $data = $tikilib->get_blog($_REQUEST["blogId"]); @@ -121,11 +105,29 @@ $smarty->assign('show_avatar',$data["show_avatar"]); $smarty->assign('use_find', $data["use_find"]); $smarty->assign('maxPosts', $data["maxPosts"]); - $smarty->assign('heading', $data["heading"]); $smarty->assign('creator', $data["user"]); } +if (isset($_REQUEST["heading"]) and $tiki_p_edit_templates == 'y') { + // Sanatization cleanup + $heading = preg_replace('/st<x>yle="[^"]*"/', 'style_dangerous', $_REQUEST["heading"]); +} elseif (!isset($data["heading"])) { + $n = $smarty->get_filename('blog-heading.tpl', 'r'); + @$fp = fopen($n, 'r'); + if ($fp) { + $heading = fread($fp, filesize($n)); + @fclose($fp); + } else + $heading = ''; +} else { + $heading = $data["heading"]; +} + +$smarty->assign_by_ref('heading', $heading); +$users = $userlib->list_all_users(); +$smarty->assign_by_ref('users', $users); + $category_needed = false; if (isset($_REQUEST["save"]) && $prefs['feature_categories'] == 'y' && $prefs['feature_blog_mandatory_category'] >=0 && (empty($_REQUEST['cat_categories']) || count($_REQUEST['cat_categories']) <= 0)) { $category_needed = true; @@ -143,9 +145,6 @@ $show_avatar = isset($_REQUEST['show_avatar']) ? 'y' : 'n'; $use_find = isset($_REQUEST['use_find']) ? 'y' : 'n'; - // 'heading' was assumed set. -rlpowell - $heading = isset($_REQUEST['heading']) ? $_REQUEST['heading'] : ''; - $bid = $bloglib->replace_blog($_REQUEST["title"], $_REQUEST["description"], $_REQUEST["creator"], $public, $_REQUEST["maxPosts"], $_REQUEST["blogId"], Modified: trunk/tiki-show_user_avatar.php =================================================================== --- trunk/tiki-show_user_avatar.php 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/tiki-show_user_avatar.php 2008-08-07 19:33:37 UTC (rev 14119) @@ -7,12 +7,13 @@ // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. require 'tiki-setup.php'; -if( $prefs['feature_minichat'] != 'y' ) { - $smarty->assign('msg', tra("This feature is disabled").": feature_articles"); +if( $prefs['feature_userPreferences'] != 'y' ) { + $smarty->assign('msg', tra("This feature is disabled").": feature_userPreferences"); $smarty->display("error.tpl"); die; } +include_once ('lib/userprefs/userprefslib.php'); // application to display an image from the database with // option to resize the image dynamically creating a thumbnail on the fly. Modified: trunk/tiki-upload_file.php =================================================================== --- trunk/tiki-upload_file.php 2008-08-07 18:04:54 UTC (rev 14118) +++ trunk/tiki-upload_file.php 2008-08-07 19:33:37 UTC (rev 14119) @@ -371,6 +371,8 @@ ask_ticket('upload-file'); +$smarty->assign("max_file_upload_size", ini_get('upload_max_filesize')); + // disallow robots to index page: $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2008-08-08 12:01:25
|
Revision: 14125 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14125&view=rev Author: ricks99 Date: 2008-08-08 12:01:33 +0000 (Fri, 08 Aug 2008) Log Message: ----------- [FIX]fixed typo "maintenance" Modified Paths: -------------- trunk/db/profiles/basicEnabled.prf trunk/lib/setup/prefs.php Modified: trunk/db/profiles/basicEnabled.prf =================================================================== --- trunk/db/profiles/basicEnabled.prf 2008-08-08 08:11:38 UTC (rev 14124) +++ trunk/db/profiles/basicEnabled.prf 2008-08-08 12:01:33 UTC (rev 14125) @@ -85,7 +85,7 @@ REPLACE INTO tiki_preferences VALUES ('siteTitle','Tikiwiki'); REPLACE INTO tiki_preferences VALUES ('site_busy_msg','Server is currently too busy, please come back later.'); REPLACE INTO tiki_preferences VALUES ('site_closed','n'); -REPLACE INTO tiki_preferences VALUES ('site_closed_msg','Site is closed for maintainance, please come back later.'); +REPLACE INTO tiki_preferences VALUES ('site_closed_msg','Site is closed for maintenance, please come back later.'); REPLACE INTO tiki_preferences VALUES ('tikiIndex','tiki-index.php'); REPLACE INTO tiki_preferences VALUES ('tmpDir','temp'); REPLACE INTO tiki_preferences VALUES ('useGroupHome','n'); Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-08 08:11:38 UTC (rev 14124) +++ trunk/lib/setup/prefs.php 2008-08-08 12:01:33 UTC (rev 14125) @@ -1035,7 +1035,7 @@ $prefs['case_patched'] = 'n'; $prefs['site_closed'] = 'n'; - $prefs['site_closed_msg'] = 'Site is closed for maintainance; please come back later.'; + $prefs['site_closed_msg'] = 'Site is closed for maintenance; please come back later.'; $prefs['use_load_threshold'] = 'n'; $prefs['load_threshold'] = 3; $prefs['site_busy_msg'] = 'Server is currently too busy; please come back later.'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-08 16:13:55
|
Revision: 14129 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14129&view=rev Author: sept_7 Date: 2008-08-08 15:22:04 +0000 (Fri, 08 Aug 2008) Log Message: ----------- [ENH] commit replacement for adoDB and PEAR:Date using PHP5 (optional) AdoDB is replaced by PDO to activate it just add $api_tiki='pdo' to your db/local.php PEAR:Date is replaced by the new Date/Time functions from PHP5 to activate it do to Admin->General and uncheck "Use PEAR::Date library:" By default nothing is changed after this update, you have to manually activate the new replacements... Please test ! There are short comings like, sqlogs and installer that are not yet converted... Now to convince you to switch ! PHP5 without cache for the default tiki page after fresh install : o adodb+PEAR::Date : 0.49s 13.84MB o adodb+Date replacement : 0.42s 11.47MB o PDO+Date replaceemnt : 0.39s 9.96MB PHP5 with xcache opcode compiler : o adodb+PEAR::Date : 0.23s 5.08MB o adodb+Date replacement : 0.21s 4.14MB o PDO+Date replacement : 0.21s 3.85MB Modified Paths: -------------- trunk/db/tiki-db.php trunk/lib/setup/prefs.php trunk/lib/setup/user_prefs.php trunk/lib/tikidate.php trunk/lib/tikidblib.php trunk/lib/tikilib.php trunk/templates/tiki-admin-include-general.tpl trunk/tiki-admin_include_features.php trunk/tiki-admin_include_general.php trunk/tiki-setup_base.php trunk/tiki-user_preferences.php Added Paths: ----------- trunk/db/tiki-db-adodb.php trunk/db/tiki-db-pdo.php trunk/lib/tikidate-pear-date.php trunk/lib/tikidate-php5.php trunk/lib/tikidblib-adodb.php trunk/lib/tikidblib-pdo.php trunk/lib/tikisession-adodb.php trunk/lib/tikisession-pdo.php Added: trunk/db/tiki-db-adodb.php =================================================================== --- trunk/db/tiki-db-adodb.php (rev 0) +++ trunk/db/tiki-db-adodb.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,85 @@ +<?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; +} + +if (preg_match('/^adodb$/i', $api_tiki)) { + TikiInit::prependIncludePath('lib/adodb'); + if (strpos(ini_get('include_path'),'lib/pear') !== 0) + TikiInit::prependIncludePath('lib/pear'); + + define('ADODB_FORCE_NULLS', 1); + define('ADODB_ASSOC_CASE', 2); + define('ADODB_CASE_ASSOC', 2); // typo in adodb's driver for sybase? + require_once ('lib/adodb/adodb.inc.php'); + include_once ('lib/adodb/adodb-pear.inc.php'); + + if ($db_tiki == 'pgsql') { + $db_tiki = 'postgres7'; + } + + if ($db_tiki == 'sybase') { + // avoid database change messages + ini_set('sybct.min_server_severity', '11'); + } + + $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; + +// ADODB_FETCH_BOTH appears to be buggy for null values +} else { + // Database connection for the tiki system + include_once ('lib/pear/DB.php'); +} + +$dsn = "$db_tiki://$user_tiki:$pass_tiki@$host_tiki/$dbs_tiki"; +//$dsn = "mysql://$user_tiki@$pass_tiki(localhost)/$dbs_tiki"; +$dbTiki = &ADONewConnection($db_tiki); + +if (!@$dbTiki->Connect($host_tiki, $user_tiki, $pass_tiki, $dbs_tiki) + or (!@$dbTiki->Execute('select `login` from `users_users` limit 1'))) { + print '<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>Error: Unable to connect to the database !</title> + <link rel="stylesheet" href="styles/tikineat.css" type="text/css"> +</head> +<body > + <div id="tiki-main"> + <div id="tiki-mid"> + <div style="margin:10px 30px;"> + <h1><font color="red">Tikiwiki is unable to connect to the database.</font> <a title="help" href="http://doc.tikiwiki.org/Installation" target="help"><img border="0" src="img/icons/help.gif" alt="Help" /></a></h1> +'; + print '<p>The following error message was returned:<div class="simplebox">'; + print $dbTiki->ErrorMsg(); + print '</div></p><p>Things to check:<ul><li>Is your database up and running?</li><li>Are your database login credentials correct?</li><li>Did you complete the Tiki Installer?</li></ul> +<p>Please see <a href="http://doc.tikiwiki.org/">the documentation</a> for more information.</p> +</div> + </div> + <hr> + <p align="center"> + <a href="http://www.tikiwiki.org" title="Tikiwiki"> + <img src="img/tiki/tikibutton2.png" alt="Tikiwiki" border="0" height="31" width="80"> + </a> + </p> + </div> +</body> +</html> +'; + exit; +} + +if ($db_tiki == 'sybase') { + $dbTiki->Execute('set quoted_identifier on'); +} + +function close_connection() { + global $dbTiki; + $dbTiki->Close(); +} +?> Added: trunk/db/tiki-db-pdo.php =================================================================== --- trunk/db/tiki-db-pdo.php (rev 0) +++ trunk/db/tiki-db-pdo.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,80 @@ +<?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; +} + +switch ($db_tiki) { + case 'postgres7': + case 'postgres8': + $db_tiki = 'pgsql'; + break; + case 'mysqli': + $db_tiki = 'mysql'; + break; + case 'oracle': + $db_tiki = 'oci'; +} + +if ($db_tiki == 'sybase') { + // avoid database change messages + ini_set('sybct.min_server_severity', '11'); +} + +$dbTiki = new PDO("$db_tiki:host=$host_tiki;dbname=$dbs_tiki", $user_tiki, $pass_tiki); +$dbTiki->setAttribute(PDO::ATTR_CASE,PDO::CASE_NATURAL); +$dbTiki->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); +$dbTiki->setAttribute(PDO::ATTR_ORACLE_NULLS,PDO::NULL_EMPTY_STRING); +//$dbTiki->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,false); + +$pq = $dbTiki->prepare('select `login` from `users_users` limit 1'); +$result = $pq->execute(); +$pq->closeCursor(); + +if ( $result === FALSE ) { + print '<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>Error: Unable to connect to the database !</title> + <link rel="stylesheet" href="styles/tikineat.css" type="text/css"> +</head> +<body > + <div id="tiki-main"> + <div id="tiki-mid"> + <div style="margin:10px 30px;"> + <h1><font color="red">Tikiwiki is unable to connect to the database.</font> <a title="help" href="http://doc.tikiwiki.org/Installation" target="help"><img border="0" src="img/icons/help.gif" alt="Help" /></a></h1> +'; + print '<p>The following error message was returned:<div class="simplebox">'; + $errors = $dbTiki->errorInfo(); + print $errors[2]; + print '</div></p><p>Things to check:<ul><li>Is your database up and running?</li><li>Are your database login credentials correct?</li><li>Did you complete the Tiki Installer?</li></ul> +<p>Please see <a href="http://doc.tikiwiki.org/">the documentation</a> for more information.</p> +</div> + </div> + <hr> + <p align="center"> + <a href="http://www.tikiwiki.org" title="Tikiwiki"> + <img src="img/tiki/tikibutton2.png" alt="Tikiwiki" border="0" height="31" width="80"> + </a> + </p> + </div> +</body> +</html> +'; + exit; +} + +if ($db_tiki == 'sybase') { + $dbTiki->exec('set quoted_identifier on'); +} + +function close_connection() { + global $dbTiki; + $dbTiki= NULL; +} +?> Modified: trunk/db/tiki-db.php =================================================================== --- trunk/db/tiki-db.php 2008-08-08 13:41:23 UTC (rev 14128) +++ trunk/db/tiki-db.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -6,19 +6,20 @@ exit; } -//$api_tiki = 'pear'; // Please use the local.php file instead containing these variables // If you set sessions to store in the database, you will need a local.php file // Otherwise you will be ok. -$api_tiki = 'adodb'; -$db_tiki = 'mysql'; +//$api_tiki = 'pear'; +//$api_tiki = 'pdo'; +$api_tiki = 'adodb'; +$db_tiki = 'mysql'; $dbversion_tiki = '2.0'; -$host_tiki = 'localhost'; -$user_tiki = 'root'; -$pass_tiki = ''; -$dbs_tiki = 'tiki'; -$tikidomain = ''; +$host_tiki = 'localhost'; +$user_tiki = 'root'; +$pass_tiki = ''; +$dbs_tiki = 'tiki'; +$tikidomain = ''; /* CVS Developers: Do not change any of the above. @@ -33,6 +34,7 @@ $user_tiki = 'myuser'; $pass_tiki = 'mypass'; $dbs_tiki = 'mytiki'; +$api_tiki = 'adodb'; ?> ** Multi-tiki @@ -110,91 +112,12 @@ if ( $dbversion_tiki == '1.10' ) $dbversion_tiki = '2.0'; -if (preg_match('/^adodb$/i', $api_tiki)) { - TikiInit::prependIncludePath('lib/adodb'); - if (strpos(ini_get('include_path'),'lib/pear') !== 0) - TikiInit::prependIncludePath('lib/pear'); - - #error_reporting (E_ALL); # show any error messages triggered - define('ADODB_FORCE_NULLS', 1); - define('ADODB_ASSOC_CASE', 2); - define('ADODB_CASE_ASSOC', 2); // typo in adodb's driver for sybase? - require_once ('lib/adodb/adodb.inc.php'); - include_once ('lib/adodb/adodb-pear.inc.php'); - //include_once('adodb-error.inc.php'); - //include_once('adodb-errorhandler.inc.php'); - //include_once('adodb-errorpear.inc.php'); - - if ($db_tiki == 'pgsql') { - $db_tiki = 'postgres7'; - } - - if ($db_tiki == 'sybase') { - // avoid database change messages - ini_set('sybct.min_server_severity', '11'); - } - - $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; - -// ADODB_FETCH_BOTH appears to be buggy for null values +if (extension_loaded("pdo") and $api_tiki == 'pdo' ) { + require_once('tiki-db-pdo.php'); } else { - // Database connection for the tiki system - include_once ('lib/pear/DB.php'); + require_once('tiki-db-adodb.php'); } -//doesn't work with adodb. adodb doesn't let you inherit -/* -class tikiDB extends ADOConnection { - var $dbversion; -} -*/ -$dsn = "$db_tiki://$user_tiki:$pass_tiki@$host_tiki/$dbs_tiki"; -//$dsn = "mysql://$user_tiki@$pass_tiki(localhost)/$dbs_tiki"; -$dbTiki = &ADONewConnection($db_tiki); - -if (!@$dbTiki->Connect($host_tiki, $user_tiki, $pass_tiki, $dbs_tiki) - or (!@$dbTiki->Execute('select `login` from `users_users` limit 1'))) { - print '<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <title>Error: Unable to connect to the database !</title> - <link rel="stylesheet" href="styles/tikineat.css" type="text/css"> -</head> -<body > - <div id="tiki-main"> - <div id="tiki-mid"> - <div style="margin:10px 30px;"> - <h1><font color="red">Tikiwiki is unable to connect to the database.</font> <a title="help" href="http://doc.tikiwiki.org/Installation" target="help"><img border="0" src="img/icons/help.gif" alt="Help" /></a></h1> -'; - print '<p>The following error message was returned:<div class="simplebox">'; - print $dbTiki->ErrorMsg(); - print '</div></p><p>Things to check:<ul><li>Is your database up and running?</li><li>Are your database login credentials correct?</li><li>Did you complete the Tiki Installer?</li></ul> -<p>Please see <a href="http://doc.tikiwiki.org/">the documentation</a> for more information.</p> -</div> - </div> - <hr> - <p align="center"> - <a href="http://www.tikiwiki.org" title="Tikiwiki"> - <img src="img/tiki/tikibutton2.png" alt="Tikiwiki" border="0" height="31" width="80"> - </a> - </p> - </div> -</body> -</html> -'; - exit; -} - -if ($db_tiki == 'sybase') { - $dbTiki->Execute('set quoted_identifier on'); -} - -// set db version -//$dbTiki->dbversion=$dbversion_tiki; - // Forget db info so that malicious PHP may not get password etc. $host_tiki = NULL; $user_tiki = NULL; @@ -202,15 +125,9 @@ $dbs_tiki = NULL; unset ($host_map); -unset ($api_tiki); unset ($db_tiki); unset ($host_tiki); unset ($user_tiki); unset ($pass_tiki); unset ($dbs_tiki); - -function close_connection() { - global $dbTiki; - $dbTiki->Close(); -} ?> Modified: trunk/lib/setup/prefs.php =================================================================== --- trunk/lib/setup/prefs.php 2008-08-08 13:41:23 UTC (rev 14128) +++ trunk/lib/setup/prefs.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -627,7 +627,7 @@ $prefs['calendar_end_year'] = '+3'; # dates - $prefs['server_timezone'] = $tikidate->tz->getID(); + $prefs['server_timezone'] = $tikidate->getTimezoneId(); $prefs['long_date_format'] = '%A %d of %B, %Y'; $prefs['long_time_format'] = '%H:%M:%S %Z'; $prefs['short_date_format'] = '%a %d of %b, %Y'; @@ -1108,6 +1108,9 @@ # Minichat $prefs['feature_minichat'] = 'n'; + # Pear::Date + $prefs['feature_pear_date'] = 'y'; + // Special default values if ( is_file('styles/'.$tikidomain.'/'.$prefs['site_favicon']) ) Modified: trunk/lib/setup/user_prefs.php =================================================================== --- trunk/lib/setup/user_prefs.php 2008-08-08 13:41:23 UTC (rev 14128) +++ trunk/lib/setup/user_prefs.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -74,7 +74,7 @@ } else { $prefs['display_timezone'] = $_COOKIE['local_tz']; } - if ( ! Date_TimeZone::isValidID($prefs['display_timezone']) ) { + if (!TikiDate::TimezoneIsValidId($prefs['display_timezone'])) { $prefs['display_timezone'] = $prefs['server_timezone']; } } else { Added: trunk/lib/tikidate-pear-date.php =================================================================== --- trunk/lib/tikidate-pear-date.php (rev 0) +++ trunk/lib/tikidate-pear-date.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,84 @@ +<?php +/** + * class: TikiDate + * + * This class takes care of all time/date conversions for + * storing dates in the DB and displaying dates to the user. + * + * Dates are always stored in UTC in the database + * + * Created by: Jeremy Jongsma (jjo...@ti...) + * Created on: Sat Jul 26 11:51:31 CDT 2003 + */ + +//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/pear/Date.php"); +class TikiDate extends Date { + var $trad = array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Mon","Tue","Wed","Thu","Fri","Sat","Sun","of"); + var $translated_trad = array(); + + /** + * Default constructor + */ + function TikiDate() { + Date::Date(date("Y-m-d H:i:s Z")); + } + + function format($format) { + global $prefs; + + // Format the date + $return = parent::format($format); + + // Translate the date if we are not already in english + + // Divide the date into an array of strings by looking for dates elements (specified in $this->trad) + $words = preg_split('/('.implode('|',$this->trad).')/', $return, -1, PREG_SPLIT_DELIM_CAPTURE); + + // For each strings in $words array... + $return = ''; + foreach ( $words as $w ) { + if (array_key_exists($w, $this->translated_trad)) { + // ... we've loaded this previously + $return .= $this->translated_trad["$w"]; + } else if ( in_array($w, $this->trad) ) { + // ... or we have a date element that needs a translation + $t = tra($w,'',true); + $this->translated_trad["$w"] = $t; + $return .= $t; + } else { + // ... or we have a string that should not be translated + $return .= $w; + } + } + + return $return; + } + + function setDate($date, $format = DATE_FORMAT_ISO) { + if (is_numeric($date)) { + $this->setDate(gmdate("Y-m-d H:i:s", $date)); + } else { + parent::setDate($date, $format); + } + } + + function getTimezoneId() { + return $this->tz->getID(); + } + + function TimezoneIsValidId($tz_id) { + return Date_TimeZone::isValidID($tz_id); + } + + function getTimeZoneList() { + return $GLOBALS['_DATE_TIMEZONE_DATA']; + } +} + +?> Added: trunk/lib/tikidate-php5.php =================================================================== --- trunk/lib/tikidate-php5.php (rev 0) +++ trunk/lib/tikidate-php5.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,168 @@ +<?php +/** + * class: TikiDate + * + * This class takes care of all time/date conversions for + * storing dates in the DB and displaying dates to the user. + * + * Dates are always stored in UTC in the database + * + * Created by: Jeremy Jongsma (jjo...@ti...) + * Created on: Sat Jul 26 11:51:31 CDT 2003 + */ + +//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; +} + +class TikiDate { + var $trad = array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Mon","Tue","Wed","Thu","Fri","Sat","Sun","of"); + var $translated_trad = array(); + var $date; + var $translation_array = array ("%a" => "D", + "%A" => "l", + "%b" => "M", + "%B" => "F", + "%C" => "", + "%d" => "d", + "%D" => "m/d/y", + "%e" => "j", + "%E" => "", + "%g" => "", + "%G" => "Y", + "%h" => "G", + "%H" => "H", + "%i" => "h", + "%I" => "h", + "%j" => "z", + "%m" => "m", + "%M" => "i", + "%o" => "P", + "%O" => "P", + "%p" => "a", + "%P" => "A", + "%r" => "h:i:s A", + "%R" => "h:i", + "%s" => "s", + "%S" => "s", + "%t" => "\t", + "%T" => "h:i:s", + "%u" => "N", + "%U" => "W", + "%V" => "W", + "%w" => "w", + "%W" => "W", + "%y" => "y", + "%Y" => "Y", + "%Z" => "T"); + + /** + * Default constructor + */ + function TikiDate() { + $this->date = new DateTime(date("Y-m-d H:i:s Z")); + $this->search = array_keys($this->translation_array); + $this->replace = array_values($this->translation_array); + } + + function getTimeZoneList() { + $tz = array(); + $now = new DateTime("now",new DateTimeZone("GMT")); + $tz_list = DateTimeZone::listIdentifiers(); + ksort($tz_list); + foreach($tz_list as $tz_id) { + $tmp_now = new DateTime("now",new DateTimeZone($tz_id)); + $tmp = $tmp_now->getOffset() - 3600*$tmp_now->format("I"); + $tz[$tz_id]['offset'] = $tmp*1000; + } + return $tz; + } + + function format($format) { + global $prefs; + //FIXME not quite good + $format = preg_replace("/([^% ][a-zA-Z])/",'\\\$1',$format); + // Format the date + $return = $this->date->format(str_replace($this->search,$this->replace,$format)); + + // Translate the date if we are not already in english + + // Divide the date into an array of strings by looking for dates elements + // (specified in $this->trad) + $words = preg_split('/('.implode('|',$this->trad).')/', $return, -1, PREG_SPLIT_DELIM_CAPTURE); + + // For each strings in $words array... + $return = ''; + foreach ( $words as $w ) { + if (array_key_exists($w, $this->translated_trad)) { + // ... we've loaded this previously + $return .= $this->translated_trad["$w"]; + } else if ( in_array($w, $this->trad) ) { + // ... or we have a date element that needs a translation + $t = tra($w,'',true); + $this->translated_trad["$w"] = $t; + $return .= $t; + } else { + // ... or we have a string that should not be translated + $return .= $w; + } + } + return $return; + } + + function addDays($days) { + if ($days >= 0) + $this->date->modify("+$days day"); + else + $this->date->modify("$days day"); + } + + function getTime() { + return (int)$this->date->format("U"); + } + + function getWeekOfYear() { + return (int)$this->date->format("W"); + } + + function setDate($date, $format = DATE_FORMAT_ISO) { + if (is_numeric($date)) { + $this->date = new DateTime(date("Y-m-d H:i:s", $date)); + } else { + $this->date = new DateTime($date); + } + } + + function setLocalTime($day, $month, $year, $hour, $minute, $second, $partsecond ) { + $this->date->setDate($year,$month,$day); + $this->date->setTime($hour,$minute,$second); + } + + function setTZbyID($tz_id) { + $this->date->setTimeZone(new DateTimeZone($tz_id)); + } + + function convertTZbyID($tz_id) { + $this->date->setTimeZone(new DateTimeZone($tz_id)); + } + + function getTimezoneId() { + return $this->format("e"); + } + + function TimezoneIsValidId($id) { + return timezone_open($id) !== FALSE ; + } + +} + +class Date_Calc { + + function daysInMonth($month,$year) { + return cal_days_in_month(CAL_GREGORIAN, $month, $year); + } +} + +?> Modified: trunk/lib/tikidate.php =================================================================== --- trunk/lib/tikidate.php 2008-08-08 13:41:23 UTC (rev 14128) +++ trunk/lib/tikidate.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -1,15 +1,4 @@ <?php -/** - * class: TikiDate - * - * This class takes care of all time/date conversions for - * storing dates in the DB and displaying dates to the user. - * - * Dates are always stored in UTC in the database - * - * Created by: Jeremy Jongsma (jjo...@ti...) - * Created on: Sat Jul 26 11:51:31 CDT 2003 - */ //this script may only be included - so its better to die if called directly. if (strpos($_SERVER["SCRIPT_NAME"],basename(__FILE__)) !== false) { @@ -17,56 +6,9 @@ exit; } -require_once("lib/pear/Date.php"); -class TikiDate extends Date { - var $trad = array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Mon","Tue","Wed","Thu","Fri","Sat","Sun","of"); - var $translated_trad = array(); - - /** - * Default constructor - */ - function TikiDate() { - Date::Date(date("Y-m-d H:i:s Z")); - } - - function format($format) { - global $prefs; - - // Format the date - $return = parent::format($format); - - // Translate the date if we are not already in english - - // Divide the date into an array of strings by looking for dates elements (specified in $this->trad) - $words = preg_split('/('.implode('|',$this->trad).')/', $return, -1, PREG_SPLIT_DELIM_CAPTURE); - - // For each strings in $words array... - $return = ''; - foreach ( $words as $w ) { - if (array_key_exists($w, $this->translated_trad)) { - // ... we've loaded this previously - $return .= $this->translated_trad["$w"]; - } else if ( in_array($w, $this->trad) ) { - // ... or we have a date element that needs a translation - $t = tra($w,'',true); - $this->translated_trad["$w"] = $t; - $return .= $t; - } else { - // ... or we have a string that should not be translated - $return .= $w; - } - } - - return $return; - } - - function setDate($date, $format = DATE_FORMAT_ISO) { - if (is_numeric($date)) { - $this->setDate(gmdate("Y-m-d H:i:s", $date)); - } else { - parent::setDate($date, $format); - } - } +if (version_compare(PHP_VERSION, '5.0.0', '>=') and $prefs['feature_pear_date'] != 'y') { + require_once('tikidate-php5.php'); +} else { + require_once('tikidate-pear-date.php'); } -?> Added: trunk/lib/tikidblib-adodb.php =================================================================== --- trunk/lib/tikidblib-adodb.php (rev 0) +++ trunk/lib/tikidblib-adodb.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,457 @@ +<?php +// +// $Id: /cvsroot/tikiwiki/tiki/lib/tikidblib.php,v 1.41.2.2 2007-12-01 19:52:53 nyloth Exp $ +// + +//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; +} + +class TikiDB { +// Database access functions + +var $db; // The ADODB db object used to access the database +var $_sql; // Internal variable to store the query string + +function TikiDB($db) +{ + if (!$db) { + die ("Invalid db object passed to TikiDB constructor"); + } + + $this->db=$db; +} + +function startTimer() { + list($micro, $sec) = explode(' ', microtime()); + return $micro + $sec; +} + +function stopTimer($starttime) { + global $elapsed_in_db; + list($micro, $sec) = explode(' ', microtime()); + $now=$micro + $sec; + $elapsed_in_db+=$now - $starttime; +} + +// Use ADOdb->qstr() for 1.8 +function qstr($str) { + if (function_exists('mysql_real_escape_string')) { + return "'" . mysql_real_escape_string($str). "'"; + } else { + return "'" . mysql_escape_string($str). "'"; + } +} + +// Queries the database, *returning* an error if one occurs, rather +// than exiting while printing the error. +// -rlpowell +function queryError( $query, &$error, $values = null, $numrows = -1, + $offset = -1 ) +{ + $numrows = intval($numrows); + $offset = intval($offset); + $this->convert_query($query); + $this->convert_query_table_prefixes($query); + + $starttime=$this->startTimer(); + if ($numrows == -1 && $offset == -1) + $result = $this->db->Execute($query, $values); + else + $result = $this->db->SelectLimit($query, $numrows, $offset, $values); + + $this->stopTimer($starttime); + + if (!$result ) { + $error = $this->db->ErrorMsg(); + $result=false; + } + + //count the number of queries made + global $num_queries; + $num_queries++; + //$this->debugger_log($query, $values); + return $result; +} + +// Queries the database reporting an error if detected +// +function query($query = null, $values = null, $numrows = -1, + $offset = -1, $reporterrors = true ) +{ + if ( $query == null ) { + $query = $this->_sql; + } + $numrows = intval($numrows); + $offset = intval($offset); + $this->convert_query($query); + $this->convert_query_table_prefixes($query); + + $starttime=$this->startTimer(); + if ($numrows == -1 && $offset == -1) + $result = $this->db->Execute($query, $values); + else + $result = $this->db->SelectLimit($query, $numrows, $offset, $values); + + $this->stopTimer($starttime); + + if (!$result ) { + if ($reporterrors) { + $this->sql_error($query, $values, $result); + } + } + + //count the number of queries made + global $num_queries; + $num_queries++; + //$this->debugger_log($query, $values); + $this->_sql = null; + return $result; +} + +/** + * Sets the SQL query string for later execution. + * + * @param string The SQL query + * @param string The common table prefix + */ +function setQuery( $sql ) { + $this->_sql = $sql; +} + +// Gets one column for the database. +function getOne($query, $values = null, $reporterrors = true, $offset = 0) { + $this->convert_query($query); + $this->convert_query_table_prefixes($query); + + $starttime=$this->startTimer(); + $result = $this->db->SelectLimit($query, 1, $offset, $values); + + if (!$result) { + if ($reporterrors) { + $this->sql_error($query, $values, $result); + $res = false; + } + } else { + $res = $result->fetchRow(); + } + + $this->stopTimer($starttime); + + //count the number of queries made + global $num_queries; + $num_queries++; + //$this->debugger_log($query, $values); + + if ($res == false) + return (NULL); //simulate pears behaviour + + list($key, $value) = each($res); + return $value; +} + + +// Reports SQL error from PEAR::db object. +function sql_error($query, $values, $result) { + global $ADODB_LASTDB, $smarty, $prefs, $ajaxlib; + + trigger_error($ADODB_LASTDB . " error: " . htmlspecialchars($this->db->ErrorMsg()). " in query:<br /><pre>\n" . htmlspecialchars($query) . "\n</pre><br />", E_USER_WARNING); + // only for debugging. + //trigger_error($ADODB_LASTDB . " error: " . $this->db->ErrorMsg(). " in query:<br />" . $query . "<br />", E_USER_WARNING); + $outp = "<div class='simplebox'><b>".htmlspecialchars(tra("An error occured in a database query!"))."</b></div>"; + $outp.= "<br /><table class='form'>"; + $outp.= "<tr class='heading'><td colspan='2'>Context:</td></tr>"; + $outp.= "<tr class='formcolor'><td>File</td><td>".htmlspecialchars(basename($_SERVER['SCRIPT_NAME']))."</td></tr>"; + $outp.= "<tr class='formcolor'><td>Url</td><td>".htmlspecialchars(basename($_SERVER['REQUEST_URI']))."</td></tr>"; + $outp.= "<tr class='heading'><td colspan='2'>Query:</td></tr>"; + $outp.= "<tr class='formcolor'><td colspan='2'><tt>".htmlspecialchars($query)."</tt></td></tr>"; + $outp.= "<tr class='heading'><td colspan='2'>Values:</td></tr>"; + foreach ($values as $k=>$v) { + if (is_null($v)) $v='<i>NULL</i>'; + else $v=htmlspecialchars($v); + $outp.= "<tr class='formcolor'><td>".htmlspecialchars($k)."</td><td>$v</td></tr>"; + } + $outp.= "<tr class='heading'><td colspan='2'>Message:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($this->db->ErrorMsg())."</td></tr>\n"; + + $q=$query; + foreach($values as $v) { + if (is_null($v)) $v='NULL'; + else $v="'".addslashes($v)."'"; + $pos=strpos($q, '?'); + if ($pos !== FALSE) + $q=substr($q, 0, $pos)."$v".substr($q, $pos+1); + } + + $outp.= "<tr class='heading'><td colspan='2'>Built query was probably:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($q)."</td></tr>\n"; + + if (function_exists('xdebug_get_function_stack')) { + function mydumpstack($stack) { + $o=''; + foreach($stack as $line) { + $o.='* '.$line['file']." : ".$line['line']." -> ".$line['function']."(".var_export($line['params'], true).")<br />"; + } + return $o; + } + $outp.= "<tr class='heading'><th>Stack Trace</th><td>".mydumpstack(xdebug_get_function_stack())."</td></tr>"; + } + + $outp.= "</table>"; + //if($result===false) echo "<br>\$result is false"; + //if($result===null) echo "<br>\$result is null"; + //if(empty($result)) echo "<br>\$result is empty"; + + $showviaajax=false; + if ($prefs['feature_ajax'] == 'y') { + global $ajaxlib; + include_once('lib/ajax/xajax.inc.php'); + if ($ajaxlib && $ajaxlib->canProcessRequests()) { + // this was a xajax request -> return a xajax answer + $objResponse = new xajaxResponse(); + $page ="<html><head>"; + $page.=" <title>Tiki SQL Error (xajax)</title>"; + $page.=" <link rel='stylesheet' href='styles/tikineat.css' type='text/css' />"; + $page.="</head><body>$outp</body></html>"; + $page=addslashes(str_replace(array("\n", "\r"), array(' ', ' '), $page)); + $objResponse->addScript("bugwin=window.open('', 'tikierror', 'width=760,height=500,scrollbars=1,resizable=1');". + "bugwin.document.write('$page');"); + echo $objResponse->getOutput(); + die(); + } + } + + if ( ! isset($_SESSION['fatal_error']) ) { + // Do not show the error if an error has already occured during the same script execution (error.tpl already called), + // because tiki should have died before another error. + // This happens when error.tpl is called by tiki.sql... and tiki.sql is also called again in error.tpl, entering in an infinite loop. + require_once('tiki-setup.php'); + if ( $smarty ) { + $smarty->assign('msg', $outp); + $_SESSION['fatal_error'] = 'y'; + $smarty->display('error.tpl'); + unset($_SESSION['fatal_error']); + } else { + echo $outp; + } + die; + } +} + +function ifNull($narg1,$narg2) { + return $this->db->ifNull($narg1,$narg2); +} + +// functions to support DB abstraction +function convert_query(&$query) { + global $ADODB_LASTDB; + + switch ($ADODB_LASTDB) { + case "oci8": + $query = preg_replace("/`/", "\"", $query); + + // convert bind variables - adodb does not do that + $qe = explode("?", $query); + $query = ''; + + $temp_max = sizeof($qe) - 1; + for ($i = 0; $i < $temp_max; $i++) { + $query .= $qe[$i] . ":" . $i; + } + + $query .= $qe[$i]; + break; + + case "postgres7": + case "postgres8": + case "sybase": + $query = preg_replace("/`/", "\"", $query); + break; + + case "mssql": + $query = preg_replace("/`/","",$query); + $query = preg_replace("/\?/","'?'",$query); + break; + + case "sqlite": + $query = preg_replace("/`/", "", $query); + break; + } +} + +function convert_query_table_prefixes(&$query) { + + $db_table_prefix = isset($GLOBALS["db_table_prefix"])?$GLOBALS["db_table_prefix"]:'' ; + $common_tiki_users = isset($GLOBALS["common_tiki_users"])?$GLOBALS["common_tiki_users"]:''; + $common_users_table_prefix = isset($GLOBALS["common_users_table_prefix"])?$GLOBALS["common_users_table_prefix"]:''; + + if ( isset($db_table_prefix) && !is_null($db_table_prefix) && !empty($db_table_prefix) ) { + + //printf("convert_query_table_prefixes():\$db_table_prefix = %s<br />\n", $db_table_prefix ); + + if( isset($common_users_table_prefix) && !is_null($common_users_table_prefix) && !empty($common_users_table_prefix) ) { + $query = str_replace("`users_", "`".$common_users_table_prefix."users_", $query); + } else { + $query = str_replace("`users_", "`".$db_table_prefix."users_", $query); + } + + $query = str_replace("`tiki_", "`".$db_table_prefix."tiki_", $query); + $query = str_replace("`messu_", "`".$db_table_prefix."messu_", $query); + $query = str_replace("`sessions", "`".$db_table_prefix."sessions", $query); + $query = str_replace("`galaxia_", "`".$db_table_prefix."galaxia_", $query); + + //printf("convert_query_table_prefixes():\$query = %s<br />\n", $query ); + } +} + +function blob_encode(&$blob) { + switch($this->db->blobEncodeType) { + case 'I': + $blob=$this->db->BlobEncode($blob); + break; + case 'C': + $blob=$this->db->qstr($this->db->BlobEncode($blob)); + break; + case 'false': + default: + } +} + +function convert_sortmode($sort_mode) { + global $ADODB_LASTDB; + + if ( !$sort_mode ) { + return ''; + } + // parse $sort_mode for evil stuff + $sort_mode = str_replace('pref:','',$sort_mode); + $sort_mode = preg_replace('/[^A-Za-z_,.]/', '', $sort_mode); + + if ($sort_mode == 'random') { + $map = array("postgres7" => "RANDOM()", + "postgres8" => "RANDOM()", + "mysql3" => "RAND()", + "mysql" => "RAND()", + "mysqli" => "RAND()", + "mssql" => "NEWID()", + "firebird" => "1", // does this exist in tiki? + + // below is still needed, return 1 just for not breaking query + "oci8" => "1", + "sqlite" => "1", + "sybase" => "1"); + + return $map[$ADODB_LASTDB]; + } + + $sorts=explode(',', $sort_mode); + foreach($sorts as $k => $sort) { + + // force ending to either _asc or _desc unless it's "random" + $sep = strrpos($sort, '_'); + $dir = substr($sort, $sep); + if (($dir !== '_asc') && ($dir !== '_desc')) { + if ( $sep != (strlen($sort) - 1) ) { + $sort .= '_'; + } + $sort .= 'asc'; + } + + switch ($ADODB_LASTDB) { + case "postgres7": + case "postgres8": + case "oci8": + case "sybase": + case "mssql": + $sort = preg_replace('/_asc$/', '" asc', $sort); + $sort = preg_replace('/_desc$/', '" desc', $sort); + $sort = '"' . $sort; + break; + + case "sqlite": + $sort = preg_replace('/_asc$/', ' asc', $sort); + $sort = preg_replace('/_desc$/', ' desc', $sort); + break; + + case "mysql3": + case "mysql": case "mysqli": + default: + $sort = preg_replace('/_asc$/', '` asc', $sort); + $sort = preg_replace('/_desc$/', '` desc', $sort); + $sort = '`' . $sort; + $sort = str_replace('.', '`.`', $sort); + break; + } + $sorts[$k]=$sort; + } + + $sort_mode=implode(',', $sorts); + return $sort_mode; +} + +function convert_binary() { + global $ADODB_LASTDB; + + switch ($ADODB_LASTDB) { + case "oci8": + case "postgres7": + case "postgres8": + case "sqlite": + return; + break; + + case "mysql3": + case "mysql": + case "mysqli": + return "binary"; + break; + } +} + +function sql_cast($var,$type) { + global $ADODB_LASTDB; + switch ($ADODB_LASTDB) { + case "sybase": + switch ($type) { + case "int": + return " CONVERT(numeric(14,0),$var) "; + break; + case "string": + return " CONVERT(varchar(255),$var) "; + break; + case "float": + return " CONVERT(numeric(10,5),$var) "; + break; + } + break; + + default: + return($var); + break; + } + +} +function debugger_log($query, $values) +{ + // Will spam only if debug parameter present in URL + // \todo DON'T FORGET TO REMOVE THIS BEFORE 1.8 RELEASE + if (!isset($_REQUEST["debug"])) return; + // spam to debugger log + include_once ('lib/debug/debugger.php'); + global $debugger; + if (is_array($values) && strpos($query, '?')) + foreach ($values as $v) + { + $q = strpos($query, '?'); + if ($q) + { + $tmp = substr($query, 0, $q)."'".$v."'".substr($query, $q + 1); + $query = $tmp; + } + } + + $debugger->msg($this->num_queries.': '.$query); + } +} + +?> Added: trunk/lib/tikidblib-pdo.php =================================================================== --- trunk/lib/tikidblib-pdo.php (rev 0) +++ trunk/lib/tikidblib-pdo.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -0,0 +1,461 @@ +<?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; +} + +class TikiResult{ + var $result; + var $numrows; + + function __construct ($result) { + $this->result = &$result; + $this->numrows = count ($this->result); + } + + function fetchRow($mode) { + return array_shift($this->result); + } + + function numRows() { + return $this->numrows; + } +} + +class TikiDB { + // Database access functions + + var $db; // The db object used to access the database + var $_sql; // Internal variable to store the query string + var $driver; // name of the driver used to access the DB + var $sql_error_msg = ""; // The last error message + + function TikiDB($db) + { + if (!$db) { + die ("Invalid db object passed to TikiDB constructor"); + } + + $this->db=$db; + //$this->db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY); + $this->driver = $db->getAttribute(PDO::ATTR_DRIVER_NAME); + } + + function startTimer() { + list($micro, $sec) = explode(' ', microtime()); + return $micro + $sec; + } + + function stopTimer($starttime) { + global $elapsed_in_db; + list($micro, $sec) = explode(' ', microtime()); + $now = $micro + $sec; + $elapsed_in_db += $now - $starttime; + } + + function qstr($str) { + return PDO::quote($str); + } + + function _query( $query, $values = null, $numrows = -1, $offset = -1 ) + { + error_reporting(E_ALL); + global $num_queries; + $num_queries++; + + $numrows = intval($numrows); + $offset = intval($offset); + if ( $query == null ) { + $query = $this->_sql; + } + $this->convert_query_table_prefixes($query); + + $offsetStr = ($offset >= 0) ? "$offset," : ''; + if ($numrows < 0) $numrows = '18446744073709551615'; + $sql .= " LIMIT $offsetStr$numrows"; + + $starttime=$this->startTimer(); + + $pq = $this->db->prepare($query); + + if ($values and !is_array($values)) { + $values = array($values); + } + if ($values) { + $count = 1; + foreach($values as $value) { + $pq->bindValue($count++,$value,is_int($value)?(PDO::PARAM_INT):(PDO::PARAM_STR)) ; + } + } + + $result = $pq->execute(); + + $this->stopTimer($starttime); + + if (!$result) { + $tmp = &$pq->errorInfo(); + $this->sql_error_msg = $tmp[2]; + $pq->closeCursor(); + return false; + } else { + $this->sql_error_msg = ""; + $tmp = new TikiResult($pq->fetchAll()); + $pq->closeCursor(); + return $tmp; + } + } + + // Queries the database reporting an error if detected + // + function query($query = null, $values = null, + $numrows = -1, $offset = -1, $reporterrors = true ) { + + $result = $this->_query($query,$values, $nunrows, $offset); + if (!$result ) { + if ($reporterrors) { + $this->sql_error($query, $values, $result); + } + } + + return $result; + } + // Queries the database, *returning* an error if one occurs, rather + // than exiting while printing the error. + // -rlpowell + function queryError( $query, &$error, $values = null, + $numrows = -1, $offset = -1 ) { + + $result = $this->_query($query,$values, $nunrows, $offset); + if (!$result ) { + $error = $this->sql_error_msg ; + return false; + } + + return $result; + } + + /** + * Sets the SQL query string for later execution. + * + * @param string The SQL query + * @param string The common table prefix + */ + function setQuery( $sql ) { + $this->_sql = $sql; + } + + // Gets one column for the database. + function getOne($query, $values = null, $reporterrors = true, $offset = 0) { + + error_reporting(E_ALL); + $result = $this->query($query, $values, 1, $offset); + $res = $result->fetchRow(); + list($key, $value) = each($res); + return $value; + + if (!$res) { + if ($reporterrors) { + $this->sql_error($query, $values, $result); + } + return (NULL); //simulate pears behaviour + } + } + + // Reports SQL error from PEAR::db object. + function sql_error($query, $values, $result) { + global $smarty, $prefs, $ajaxlib; + + trigger_error($this->driver . " error: " . htmlspecialchars($this->sql_error_msg). " in query:<br /><pre>\n" . htmlspecialchars($query) . "\n</pre><br />", E_USER_WARNING); + // only for debugging. + $outp = "<div class='simplebox'><b>".htmlspecialchars(tra("An error occured in a database query!"))."</b></div>"; + $outp.= "<br /><table class='form'>"; + $outp.= "<tr class='heading'><td colspan='2'>Context:</td></tr>"; + $outp.= "<tr class='formcolor'><td>File</td><td>".htmlspecialchars(basename($_SERVER['SCRIPT_NAME']))."</td></tr>"; + $outp.= "<tr class='formcolor'><td>Url</td><td>".htmlspecialchars(basename($_SERVER['REQUEST_URI']))."</td></tr>"; + $outp.= "<tr class='heading'><td colspan='2'>Query:</td></tr>"; + $outp.= "<tr class='formcolor'><td colspan='2'><tt>".htmlspecialchars($query)."</tt></td></tr>"; + $outp.= "<tr class='heading'><td colspan='2'>Values:</td></tr>"; + foreach ($values as $k=>$v) { + if (is_null($v)) $v='<i>NULL</i>'; + else $v=htmlspecialchars($v); + $outp.= "<tr class='formcolor'><td>".htmlspecialchars($k)."</td><td>$v</td></tr>"; + } + $outp.= "<tr class='heading'><td colspan='2'>Message:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($this->sql_error_msg)."</td></tr>\n"; + + $q=$query; + foreach($values as $v) { + if (is_null($v)) $v='NULL'; + else $v="'".addslashes($v)."'"; + $pos=strpos($q, '?'); + if ($pos !== FALSE) + $q=substr($q, 0, $pos)."$v".substr($q, $pos+1); + } + + $outp.= "<tr class='heading'><td colspan='2'>Built query was probably:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($q)."</td></tr>\n"; + + if (function_exists('xdebug_get_function_stack')) { + function mydumpstack($stack) { + $o=''; + foreach($stack as $line) { + $o.='* '.$line['file']." : ".$line['line']." -> ".$line['function']."(".var_export($line['params'], true).")<br />"; + } + return $o; + } + $outp.= "<tr class='heading'><th>Stack Trace</th><td>".mydumpstack(xdebug_get_function_stack())."</td></tr>"; + } + + $outp.= "</table>"; + //if($result===false) echo "<br>\$result is false"; + //if($result===null) echo "<br>\$result is null"; + //if(empty($result)) echo "<br>\$result is empty"; + + $showviaajax=false; + if ($prefs['feature_ajax'] == 'y') { + global $ajaxlib; + include_once('lib/ajax/xajax.inc.php'); + if ($ajaxlib && $ajaxlib->canProcessRequests()) { + // this was a xajax request -> return a xajax answer + $objResponse = new xajaxResponse(); + $page ="<html><head>"; + $page.=" <title>Tiki SQL Error (xajax)</title>"; + $page.=" <link rel='stylesheet' href='styles/tikineat.css' type='text/css' />"; + $page.="</head><body>$outp</body></html>"; + $page=addslashes(str_replace(array("\n", "\r"), array(' ', ' '), $page)); + $objResponse->addScript("bugwin=window.open('', 'tikierror', 'width=760,height=500,scrollbars=1,resizable=1');". + "bugwin.document.write('$page');"); + echo $objResponse->getOutput(); + die(); + } + } + + if ( ! isset($_SESSION['fatal_error']) ) { + // Do not show the error if an error has already occured during the same script execution (error.tpl already called), + // because tiki should have died before another error. + // This happens when error.tpl is called by tiki.sql... and tiki.sql is also called again in error.tpl, entering in an infinite loop. + require_once('tiki-setup.php'); + if ( $smarty ) { + $smarty->assign('msg', $outp); + $_SESSION['fatal_error'] = 'y'; + $smarty->display('error.tpl'); + unset($_SESSION['fatal_error']); + } else { + echo $outp; + } + die; + } + } + + // functions to support DB abstraction + // unsused (Sept) + function convert_query(&$query) { + + switch ($this->driver) { + case "oci8": + $query = preg_replace("/`/", "\"", $query); + + // convert bind variables - adodb does not do that + $qe = explode("?", $query); + $query = ''; + + $temp_max = sizeof($qe) - 1; + for ($i = 0; $i < $temp_max; $i++) { + $query .= $qe[$i] . ":" . $i; + } + + $query .= $qe[$i]; + break; + + case "postgres7": + case "postgres8": + case "sybase": + $query = preg_replace("/`/", "\"", $query); + break; + + case "mssql": + $query = preg_replace("/`/","",$query); + $query = preg_replace("/\?/","'?'",$query); + break; + + case "sqlite": + $query = preg_replace("/`/", "", $query); + break; + } + } + + function convert_query_table_prefixes(&$query) { + + $db_table_prefix = isset($GLOBALS["db_table_prefix"])?$GLOBALS["db_table_prefix"]:'' ; + $common_tiki_users = isset($GLOBALS["common_tiki_users"])?$GLOBALS["common_tiki_users"]:''; + $common_users_table_prefix = isset($GLOBALS["common_users_table_prefix"])?$GLOBALS["common_users_table_prefix"]:''; + + if ( isset($db_table_prefix) && !is_null($db_table_prefix) && !empty($db_table_prefix) ) { + + //printf("convert_query_table_prefixes():\$db_table_prefix = %s<br />\n", $db_table_prefix ); + + if( isset($common_users_table_prefix) && !is_null($common_users_table_prefix) && !empty($common_users_table_prefix) ) { + $query = str_replace("`users_", "`".$common_users_table_prefix."users_", $query); + } else { + $query = str_replace("`users_", "`".$db_table_prefix."users_", $query); + } + + $query = str_replace("`tiki_", "`".$db_table_prefix."tiki_", $query); + $query = str_replace("`messu_", "`".$db_table_prefix."messu_", $query); + $query = str_replace("`sessions", "`".$db_table_prefix."sessions", $query); + $query = str_replace("`galaxia_", "`".$db_table_prefix."galaxia_", $query); + + //printf("convert_query_table_prefixes():\$query = %s<br />\n", $query ); + } + } + + function blob_encode(&$blob) { + //FIXME + return; + switch($this->db->blobEncodeType) { + case 'I': + $blob=$this->db->BlobEncode($blob); + break; + case 'C': + $blob=$this->db->qstr($this->db->BlobEncode($blob)); + break; + case 'false': + default: + } + } + + function convert_sortmode($sort_mode) { + + if ( !$sort_mode ) { + return ''; + } + // parse $sort_mode for evil stuff + $sort_mode = str_replace('pref:','',$sort_mode); + $sort_mode = preg_replace('/[^A-Za-z_,.]/', '', $sort_mode); + + if ($sort_mode == 'random') { + $map = array("postgres7" => "RANDOM()", + "postgres8" => "RANDOM()", + "mysql3" => "RAND()", + "mysql" => "RAND()", + "mysqli" => "RAND()", + "mssql" => "NEWID()", + "firebird" => "1", // does this exist in tiki? + + // below is still needed, return 1 just for not breaking query + "oci8" => "1", + "sqlite" => "1", + "sybase" => "1"); + + return $map[$this->driver]; + } + + $sorts=explode(',', $sort_mode); + foreach($sorts as $k => $sort) { + + // force ending to either _asc or _desc unless it's "random" + $sep = strrpos($sort, '_'); + $dir = substr($sort, $sep); + if (($dir !== '_asc') && ($dir !== '_desc')) { + if ( $sep != (strlen($sort) - 1) ) { + $sort .= '_'; + } + $sort .= 'asc'; + } + + switch ($this->driver) { + case "postgres7": + case "postgres8": + case "oci8": + case "sybase": + case "mssql": + $sort = preg_replace('/_asc$/', '" asc', $sort); + $sort = preg_replace('/_desc$/', '" desc', $sort); + $sort = '"' . $sort; + break; + + case "sqlite": + $sort = preg_replace('/_asc$/', ' asc', $sort); + $sort = preg_replace('/_desc$/', ' desc', $sort); + break; + + case "mysql3": + case "mysql": case "mysqli": + default: + $sort = preg_replace('/_asc$/', '` asc', $sort); + $sort = preg_replace('/_desc$/', '` desc', $sort); + $sort = '`' . $sort; + $sort = str_replace('.', '`.`', $sort); + break; + } + $sorts[$k]=$sort; + } + + $sort_mode=implode(',', $sorts); + return $sort_mode; + } + + function convert_binary() { + + switch ($this->driver) { + case "oci8": + case "postgres7": + case "postgres8": + case "sqlite": + return; + break; + + case "mysql3": + case "mysql": + case "mysqli": + return "binary"; + break; + } + } + + function sql_cast($var,$type) { + + switch ($this->driver) { + case "sybase": + switch ($type) { + case "int": + return " CONVERT(numeric(14,0),$var) "; + break; + case "string": + return " CONVERT(varchar(255),$var) "; + break; + case "float": + return " CONVERT(numeric(10,5),$var) "; + break; + } + break; + + default: + return($var); + break; + } + } + + function debugger_log($query, $values) + { + // Will spam only if debug parameter present in URL + // \todo DON'T FORGET TO REMOVE THIS BEFORE 1.8 RELEASE + if (!isset($_REQUEST["debug"])) return; + // spam to debugger log + include_once ('lib/debug/debugger.php'); + global $debugger; + if (is_array($values) && strpos($query, '?')) + foreach ($values as $v) + { + $q = strpos($query, '?'); + if ($q) + { + $tmp = substr($query, 0, $q)."'".$v."'".substr($query, $q + 1); + $query = $tmp; + } + } + + $debugger->msg($this->num_queries.': '.$query); + } +} + +?> Modified: trunk/lib/tikidblib.php =================================================================== --- trunk/lib/tikidblib.php 2008-08-08 13:41:23 UTC (rev 14128) +++ trunk/lib/tikidblib.php 2008-08-08 15:22:04 UTC (rev 14129) @@ -1,462 +1,21 @@ <?php -// -// $Id: /cvsroot/tikiwiki/tiki/lib/tikidblib.php,v 1.41.2.2 2007-12-01 19:52:53 nyloth Exp $ -// -// $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; +} $local_php = 'db/local.php'; if (is_file($local_php)) { - require_once($local_php); - + require_once($local_php); if( $dbversion_tiki == '1.10' ) { $dbversion_tiki = '2.0'; } } -class TikiDB { -// Database access functions - -var $db; // The ADODB db object used to access the database -var $_sql; // Internal variable to store the query string - -function TikiDB($db) -{ - if (!$db) { - die ("Invalid db object passed to TikiDB constructor"); - } - - $this->db=$db; +if (extension_loaded("pdo") and $api_tiki == 'pdo' ) { + require_once('tikidblib-pdo.php'); +} else { + require_once('tikidblib-adodb.php'); } - -function startTimer() { - list($micro, $sec) = explode(' ', microtime()); - return $micro + $sec; -} - -function stopTimer($starttime) { - global $elapsed_in_db; - list($micro, $sec) = explode(' ', microtime()); - $now=$micro + $sec; - $elapsed_in_db+=$now - $starttime; -} - -// Use ADOdb->qstr() for 1.8 -function qstr($str) { - if (function_exists('mysql_real_escape_string')) { - return "'" . mysql_real_escape_string($str). "'"; - } else { - return "'" . mysql_escape_string($str). "'"; - } -} - -// Queries the database, *returning* an error if one occurs, rather -// than exiting while printing the error. -// -rlpowell -function queryError( $query, &$error, $values = null, $numrows = -1, - $offset = -1 ) -{ - $numrows = intval($numrows); - $offset = intval($offset); - $this->convert_query($query); - $this->convert_query_table_prefixes($query); - - $starttime=$this->startTimer(); - if ($numrows == -1 && $offset == -1) - $result = $this->db->Execute($query, $values); - else - $result = $this->db->SelectLimit($query, $numrows, $offset, $values); - - $this->stopTimer($starttime); - - if (!$result ) { - $error = $this->db->ErrorMsg(); - $result=false; - } - - //count the number of queries made - global $num_queries; - $num_queries++; - //$this->debugger_log($query, $values); - return $result; -} - -// Queries the database reporting an error if detected -// -function query($query = null, $values = null, $numrows = -1, - $offset = -1, $reporterrors = true ) -{ - if ( $query == null ) { - $query = $this->_sql; - } - $numrows = intval($numrows); - $offset = intval($offset); - $this->convert_query($query); - $this->convert_query_table_prefixes($query); - - $starttime=$this->startTimer(); - if ($numrows == -1 && $offset == -1) - $result = $this->db->Execute($query, $values); - else - $result = $this->db->SelectLimit($query, $numrows, $offset, $values); - - $this->stopTimer($starttime); - - if (!$result ) { - if ($reporterrors) { - $this->sql_error($query, $values, $result); - } - } - - //count the number of queries made - global $num_queries; - $num_queries++; - //$this->debugger_log($query, $values); - $this->_sql = null; - return $result; -} - -/** - * Sets the SQL query string for later execution. - * - * @param string The SQL query - * @param string The common table prefix - */ -function setQuery( $sql ) { - $this->_sql = $sql; -} - -// Gets one column for the database. -function getOne($query, $values = null, $reporterrors = true, $offset = 0) { - $this->convert_query($query); - $this->convert_query_table_prefixes($query); - - $starttime=$this->startTimer(); - $result = $this->db->SelectLimit($query, 1, $offset, $values); - - if (!$result) { - if ($reporterrors) { - $this->sql_error($query, $values, $result); - $res = false; - } - } else { - $res = $result->fetchRow(); - } - - $this->stopTimer($starttime); - - //count the number of queries made - global $num_queries; - $num_queries++; - //$this->debugger_log($query, $values); - - if ($res == false) - return (NULL); //simulate pears behaviour - - list($key, $value) = each($res); - return $value; -} - - -// Reports SQL error from PEAR::db object. -function sql_error($query, $values, $result) { - global $ADODB_LASTDB, $smarty, $prefs, $ajaxlib; - - trigger_error($ADODB_LASTDB . " error: " . htmlspecialchars($this->db->ErrorMsg()). " in query:<br /><pre>\n" . htmlspecialchars($query) . "\n</pre><br />", E_USER_WARNING); - // only for debugging. - //trigger_error($ADODB_LASTDB . " error: " . $this->db->ErrorMsg(). " in query:<br />" . $query . "<br />", E_USER_WARNING); - $outp = "<div class='simplebox'><b>".htmlspecialchars(tra("An error occured in a database query!"))."</b></div>"; - $outp.= "<br /><table class='form'>"; - $outp.= "<tr class='heading'><td colspan='2'>Context:</td></tr>"; - $outp.= "<tr class='formcolor'><td>File</td><td>".htmlspecialchars(basename($_SERVER['SCRIPT_NAME']))."</td></tr>"; - $outp.= "<tr class='formcolor'><td>Url</td><td>".htmlspecialchars(basename($_SERVER['REQUEST_URI']))."</td></tr>"; - $outp.= "<tr class='heading'><td colspan='2'>Query:</td></tr>"; - $outp.= "<tr class='formcolor'><td colspan='2'><tt>".htmlspecialchars($query)."</tt></td></tr>"; - $outp.= "<tr class='heading'><td colspan='2'>Values:</td></tr>"; - foreach ($values as $k=>$v) { - if (is_null($v)) $v='<i>NULL</i>'; - else $v=htmlspecialchars($v); - $outp.= "<tr class='formcolor'><td>".htmlspecialchars($k)."</td><td>$v</td></tr>"; - } - $outp.= "<tr class='heading'><td colspan='2'>Message:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($this->db->ErrorMsg())."</td></tr>\n"; - - $q=$query; - foreach($values as $v) { - if (is_null($v)) $v='NULL'; - else $v="'".addslashes($v)."'"; - $pos=strpos($q, '?'); - if ($pos !== FALSE) - $q=substr($q, 0, $pos)."$v".substr($q, $pos+1); - } - - $outp.= "<tr class='heading'><td colspan='2'>Built query was probably:</td></tr><tr class='formcolor'><td colspan='2'>".htmlspecialchars($q)."</td></tr>\n"; - - if (function_exists('xdebug_get_function_stack')) { - function mydumpstack($stack) { - $o=''; - foreach($stack as $line) { - $o.='* '.$line['file']." : ".$line['line']." -> ".$line['function']."(".var_export($line['params'], true).")<br />"; - } - return $o; - } - $outp.= "<tr class='heading'><th>Stack Trace</th><td>".mydumpstack(xdebug_get_function_stack())."</td></tr>"; - } - - $outp.= "</table>"; - //if($result===false) echo "<br>\$result is false"; - //if($result===null) echo "<br>\$result is null"; - //if(empty($result)) echo "<br>\$result is empty"; - - $showviaajax=false; - if ($prefs['feature_ajax'] == 'y') { - global $ajaxlib; - include_once('lib/ajax/xajax.inc.php'); - if ($ajaxlib && $ajaxlib->canProcessRequests()) { - // this was a xajax request -> return a xajax answer - $objResponse = new xajaxResponse(); - $page ="<html><head>"; - $page.=" <title>Tiki SQL Error (xajax)</title>"; - $page.=" <link rel='stylesheet' href='styles/tikineat.css' type='text/css' />"; - $page.="</head><body>$outp</body></html>"; - $page=addslashes(str_replace(array("\n", "\r"), array(' ', ' '), $page)); - $objResponse->addScript("bugwin=window.open('', 'tikierror', 'width=760,height=500,scrollbars=1,resizable=1');". - "bugwin.document.write('$page');"); - echo $objResponse->getOutput(); - die(); - } - } - - if ( ! isset($_SESSION['fatal_error']) ) { - // Do not show the error if an error has already occured during the same script execution (error.tpl already called), - // because tiki should have died before another error. - // This happens when error.tpl is called by tiki.sql... and tiki.sql is also called again in error.tpl, entering in an infinite loop. - require_once('tiki-setup.php'); - if ( $smarty ) { - $smarty->assign('msg', $outp); - $_SESSION['fatal_error'] = 'y'; - $smarty->display('error.tpl'); - unset($_SESSION['fatal_error']); - } else { - echo $outp; - } - die; - } -} - -function ifNull($narg1,$narg2) { - return $this->db->ifNull($narg1,$narg2); -} - -// functions to support DB abstraction -function convert_query(&$query) { - global $ADODB_LASTDB; - - switch ($ADODB_LASTDB) { - case "oci8": - $query = preg_replace("/`/", "\"", $query); - - // convert bind variables - adodb does not do that - $qe = explode("?", $query); - $query = ''; - - $temp_max = sizeof($qe) - 1; - for ($i = 0; $i < $temp_max; $i++) { - $query .= $qe[$i] . ":" . $i; - } - - $query .= $qe[$i]; - break; - - case "p... [truncated message content] |
From: <lph...@us...> - 2008-08-10 00:53:57
|
Revision: 14137 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14137&view=rev Author: lphuberdeau Date: 2008-08-10 00:54:06 +0000 (Sun, 10 Aug 2008) Log Message: ----------- [FIX] WYSIWYG load timing issue, adding cache in wikiplugin js to solve it Modified Paths: -------------- trunk/tiki-jsplugin.php Property Changed: ---------------- trunk/temp/cache/ Property changes on: trunk/temp/cache ___________________________________________________________________ Modified: svn:ignore - ???????????????????????????????? + ???????????????????????????????? wikiplugin_* profile???????????????????????????????? Modified: trunk/tiki-jsplugin.php =================================================================== --- trunk/tiki-jsplugin.php 2008-08-09 20:48:41 UTC (rev 14136) +++ trunk/tiki-jsplugin.php 2008-08-10 00:54:06 UTC (rev 14137) @@ -1,5 +1,4 @@ <?php -include 'tiki-setup.php'; if( !isset( $_GET['plugin'] ) ) exit; @@ -8,14 +7,23 @@ $file = 'lib/wiki-plugins/wikiplugin_' . $plugin . '.php'; $info = "wikiplugin_{$plugin}_info"; +if( file_exists( "temp/cache/wikiplugin_$plugin" ) ) +{ + readfile( "temp/cache/wikiplugin_$plugin" ); + exit; +} + if( ! file_exists( $file ) ) exit; +include 'tiki-setup.php'; include $file; if( ! function_exists( $info ) ) exit; +ob_start(); + ?> if( ! tiki_plugins ) @@ -23,3 +31,10 @@ tiki_plugins[<?php echo json_encode( $plugin ) ?>] = <?php echo json_encode( $info() ) ?>; +<?php + +$content = ob_get_contents(); +file_put_contents( "temp/cache/wikiplugin_$plugin", $content ); +ob_end_flush(); + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2008-08-10 19:53:27
|
Revision: 14154 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14154&view=rev Author: lphuberdeau Date: 2008-08-10 19:53:32 +0000 (Sun, 10 Aug 2008) Log Message: ----------- [MRG] Automatic merge, branches/2.0 14133 to 14152 Modified Paths: -------------- trunk/changelog.txt trunk/copyright.txt trunk/db/tiki-secdb_2.0_mysql.sql trunk/lib/search/refresh-functions.php trunk/lib/setup/sanitization.php trunk/lib/setup/twversion.class.php trunk/templates/browse_file_gallery.tpl trunk/templates/fgal_context_menu.tpl trunk/templates/list_file_gallery_content.tpl trunk/tiki-minichat_ajax.php trunk/tiki-upload_file.php Added Paths: ----------- trunk/lib/filegals/max_upload_size.php Modified: trunk/changelog.txt =================================================================== --- trunk/changelog.txt 2008-08-10 19:42:15 UTC (rev 14153) +++ trunk/changelog.txt 2008-08-10 19:53:32 UTC (rev 14154) @@ -23,7 +23,1252 @@ <http://tikiwiki.org/ReleaseProcess20> ------------------ +------------------------------------------------------------------------ +r14148 | lphuberdeau | 2008-08-10 17:46:42 +0200 (dim, 10 aoû 2008) | 1 line +[FIX] Missing feature check +------------------------------------------------------------------------ +r14146 | nyloth | 2008-08-10 14:53:16 +0200 (dim, 10 aoû 2008) | 1 line + +[FIX] installer: test on 16MB of memory (as announced), not 8MB. +------------------------------------------------------------------------ +r14144 | nyloth | 2008-08-10 14:28:08 +0200 (dim, 10 aoû 2008) | 1 line + +[FIX] filegals: fix title from 'Upload New Version' to 'Replace', when no archives for the gallery (instead users are confused and can definitely delete files) +------------------------------------------------------------------------ +r14142 | nyloth | 2008-08-10 13:37:20 +0200 (dim, 10 aoû 2008) | 1 line + +[SEC] XSS sanitization: also handle 'lowsrc', 'codebase' and 'xmlns' html attributes + simplify one of the original regexp patterns +------------------------------------------------------------------------ +r14141 | nyloth | 2008-08-10 13:35:39 +0200 (dim, 10 aoû 2008) | 1 line + +[FIX] filegals: quickfix to not index all files with fulltext (depending on their mimetypes) since it make filegals nearly unusable with binary/images files and tiki (non-mysql) fulltext search. +------------------------------------------------------------------------ +r14140 | nyloth | 2008-08-10 13:33:32 +0200 (dim, 10 aoû 2008) | 3 lines + +[FIX] filegals: show a more correct max upload size info for file upload (follows commit revision 14096 from ricks), especially when using DB storage + fix most important uses of kbsize (units were wrong). + + +------------------------------------------------------------------------ +r14133 | nyloth | 2008-08-09 16:54:33 +0200 (sam, 09 aoû 2008) | 5 lines + +[SEC] XSS sanitization fixes + tuning to be less aggressive for inline CSS styles: + * don't disable 'style' HTML attribute because it was considered as too aggressive. Now it is only catched as HTML tag but alert() and url() are catched, + * move straight replacements handling into the while loop, + * fix XSS vulnerabilities using html comments, CDATA, link tags, ?xml tags, ?import tags, spaces in javascript functions names + +------------------------------------------------------------------------ +r14126 | ricks99 | 2008-08-08 14:03:45 +0200 (ven, 08 aoû 2008) | 1 line + +[FIX]fixed typo "maintenance" +------------------------------------------------------------------------ +r14111 | sylvieg | 2008-08-07 15:20:36 +0200 (jeu, 07 aoû 2008) | 1 line + +[FIX] to have dev.tw.o working with user selector with option email +------------------------------------------------------------------------ +r14110 | sylvieg | 2008-08-07 15:19:26 +0200 (jeu, 07 aoû 2008) | 1 line + +rollback partially 13491(security check) test against the pref user_pref + reinclude the lib to have the avatar back +------------------------------------------------------------------------ +r14099 | marclaporte | 2008-08-06 17:21:50 +0200 (mer, 06 aoû 2008) | 1 line + +[FIX] Remove extra line which is not necessary and causes SQL error message on install. No need to merge up since this will be deprecated in 3.0 +------------------------------------------------------------------------ +r14096 | ricks99 | 2008-08-06 16:15:23 +0200 (mer, 06 aoû 2008) | 1 line + +[FIX] show max file upload size when adding files to gallery. we already show for image uploads +------------------------------------------------------------------------ +r14092 | sylvieg | 2008-08-06 14:35:24 +0200 (mer, 06 aoû 2008) | 1 line + +regression: in dev.tw.org, the user modifier tracker field was no more updated +------------------------------------------------------------------------ +r14085 | sept_7 | 2008-08-06 10:03:22 +0200 (mer, 06 aoû 2008) | 5 lines + +[SEC] Fix creation and edition problems on blogs + * First problemn was with sanatization of style attribute, now style is replace by style_dangerous. + * Second there was a problem with the test of tiki_p_edit_templates :( + * Third there was a problem when editing the blog :( + +------------------------------------------------------------------------ +r14076 | sylvieg | 2008-08-05 22:31:58 +0200 (mar, 05 aoû 2008) | 1 line + +add a message only queries using more than seconds: 0.05 - as since the last adodb upgrade it logs only these queries - bad adodb +------------------------------------------------------------------------ +r14059 | nyloth | 2008-08-05 09:35:31 +0200 (mar, 05 aoû 2008) | 1 line + +[MOD] wiki: support 'lnk' param for img wiki tag to do the same than 'link' but that is not affected by sanitization. +------------------------------------------------------------------------ +r14056 | nyloth | 2008-08-05 00:15:51 +0200 (mar, 05 aoû 2008) | 1 line + +[FIX] sanitization: tune a bit more to avoid some false positive like 'linked' instead of 'link' (for all content keywords). +------------------------------------------------------------------------ +r14054 | sylvieg | 2008-08-04 23:12:07 +0200 (lun, 04 aoû 2008) | 1 line + +backport because missing up fresh install +------------------------------------------------------------------------ +r14053 | nyloth | 2008-08-04 22:47:17 +0200 (lun, 04 aoû 2008) | 1 line + +[FIX] sanitization: fix false positive in sanitization for wiki syntax {img link=} +------------------------------------------------------------------------ +r14049 | lphuberdeau | 2008-08-04 21:21:09 +0200 (lun, 04 aoû 2008) | 1 line + +[MOD] Re-adding installer disable to prevent brute force attacks +------------------------------------------------------------------------ +r14048 | lphuberdeau | 2008-08-04 21:07:15 +0200 (lun, 04 aoû 2008) | 1 line + +[FIX] Simplify installer authentication to request DB credentials +------------------------------------------------------------------------ +r14046 | sylvieg | 2008-08-04 19:58:27 +0200 (lun, 04 aoû 2008) | 1 line + +[FIX]email_due is renamed just after, adn pass_due too +------------------------------------------------------------------------ +r14039 | nyloth | 2008-08-04 12:04:39 +0200 (lun, 04 aoû 2008) | 1 line + +[SEC] security fix on an input var (reported by securfrog) +------------------------------------------------------------------------ +r14038 | Jyhem | 2008-08-04 11:43:05 +0200 (lun, 04 aoû 2008) | 1 line + +[FIX] Security fix: This page should not be displayed without permission check +------------------------------------------------------------------------ +r14030 | nyloth | 2008-08-03 17:35:16 +0200 (dim, 03 aoû 2008) | 1 line + +[FIX] wiki: authors style can't be null in database, so initialize it to the empty string +------------------------------------------------------------------------ +r14022 | sampaioprimo | 2008-08-03 02:08:23 +0200 (dim, 03 aoû 2008) | 2 lines + +translation typo + +------------------------------------------------------------------------ +r14021 | sampaioprimo | 2008-08-03 01:55:39 +0200 (dim, 03 aoû 2008) | 2 lines + +pt-br translation + +------------------------------------------------------------------------ +r14020 | luciash | 2008-08-02 00:47:03 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX] respect nocache parameter at second position too (as before adding rel for shadowbox) +------------------------------------------------------------------------ +r14019 | nyloth | 2008-08-02 00:44:16 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX] wiki: make optionnal the 'Wiki authors style by page settings' tfeature that was not in previous stable version, as asked by many people. +------------------------------------------------------------------------ +r14018 | marclaporte | 2008-08-02 00:32:17 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX] Fix link to the documentation +------------------------------------------------------------------------ +r14017 | marclaporte | 2008-08-02 00:29:21 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX] Missing link to the documentation +------------------------------------------------------------------------ +r14016 | sylvieg | 2008-08-02 00:22:18 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX]history : side by side diff was generating an extra </table> (fix asked in 2.0 by marc) +------------------------------------------------------------------------ +r14015 | marclaporte | 2008-08-02 00:08:54 +0200 (sam, 02 aoû 2008) | 1 line + +[FIX] Missing link to the documentation +------------------------------------------------------------------------ +r14013 | marclaporte | 2008-08-01 23:47:19 +0200 (ven, 01 aoû 2008) | 1 line + +[FIX] Missing link to the documentation +------------------------------------------------------------------------ +r14011 | princessxine | 2008-08-01 23:04:45 +0200 (ven, 01 aoû 2008) | 1 line + +[FIX/MOD] Moving some of the options around on the feature page / textarea page. +------------------------------------------------------------------------ +r14010 | marclaporte | 2008-08-01 23:02:27 +0200 (ven, 01 aoû 2008) | 1 line + +[FIX/MOD] No feature addition or removal, just re-ordering the admin panel to be more intuitive. Newer panels have historically been placed at the end. The first panels are now the ones which are always active, then, it's roughly in the same order as in tiki-admin.php?page=features This is in conjunction with princessechristine (SVN) / NefariousC's (IRC) work on tiki-admin.php?page=features and tiki-admin.php?page=textarea +------------------------------------------------------------------------ +r14008 | sylvieg | 2008-08-01 22:35:07 +0200 (ven, 01 aoû 2008) | 1 line + +[FIX]login: some system do not have crypt-md5. In this case go back to tikihash (very conservative) . Perhaps anther method must be choosen? +------------------------------------------------------------------------ +r14007 | marclaporte | 2008-08-01 21:47:56 +0200 (ven, 01 aoû 2008) | 1 line + +[DEL] Remove some old unused jukebox stuff +------------------------------------------------------------------------ +r14006 | marclaporte | 2008-08-01 21:35:59 +0200 (ven, 01 aoû 2008) | 1 line + +[DEL] Remove useless file +------------------------------------------------------------------------ +r13999 | sept_7 | 2008-08-01 09:42:53 +0200 (ven, 01 aoû 2008) | 2 lines + +[FIX] : bug fix reported by amette, TikiTest unusable without this fix. + +------------------------------------------------------------------------ +r13995 | marclaporte | 2008-07-31 22:52:05 +0200 (jeu, 31 jui 2008) | 1 line + +[FIX] Remove the possibility of hiding the extra admin links as they are very useful, even if not very pretty. +------------------------------------------------------------------------ +r13993 | ricks99 | 2008-07-31 22:15:14 +0200 (jeu, 31 jui 2008) | 1 line + +[FIX] dont prompt to change admin pw on upgrade -- only for new install. +------------------------------------------------------------------------ +r13989 | marclaporte | 2008-07-31 21:40:30 +0200 (jeu, 31 jui 2008) | 1 line + +[DOC] Adding a link to security bug about this feature to warn people not to activate if they are concerned about this aspect +------------------------------------------------------------------------ +r13983 | tombombadilom | 2008-07-31 16:56:42 +0200 (jeu, 31 jui 2008) | 2 lines + +[Mootools] upgraded to version 1.2 shadow box-mootools.js has been patched to avoid better display + +------------------------------------------------------------------------ +r13972 | lphuberdeau | 2008-07-30 18:41:52 +0200 (mer, 30 jui 2008) | 1 line + +[REL] SecDB for 2.0RC4 +------------------------------------------------------------------------ +r13969 | nyloth | 2008-07-30 17:59:13 +0200 (mer, 30 jui 2008) | 1 line + +[FIX] sanitization: Convert back sanitization tags into real tags to avoid them to be displayed (instead of removing tag). +------------------------------------------------------------------------ +r13966 | lphuberdeau | 2008-07-30 17:01:00 +0200 (mer, 30 jui 2008) | 1 line + +[REL] Changing version numbers +------------------------------------------------------------------------ +r13965 | nyloth | 2008-07-30 16:41:25 +0200 (mer, 30 jui 2008) | 1 line + +[FIX] sanitization: Remove useless sanitization when the whole string will be converted into HTML entities, to be more transparent for the user. +------------------------------------------------------------------------ +r13963 | sept_7 | 2008-07-30 15:56:56 +0200 (mer, 30 jui 2008) | 2 lines + +[UPDATE] : Update HTMLPurifier from 2.1.3 to 2.1.5 + +------------------------------------------------------------------------ +r13962 | nyloth | 2008-07-30 15:42:13 +0200 (mer, 30 jui 2008) | 1 line + +[FIX] sanitization: be less aggressive on 'javascript' keyword +------------------------------------------------------------------------ +r13961 | sept_7 | 2008-07-30 14:54:29 +0200 (mer, 30 jui 2008) | 3 lines + +[ENH] : minimize the call to preg_replace and calculate search pattern only + once where applicable. + +------------------------------------------------------------------------ +r13960 | sept_7 | 2008-07-30 11:46:18 +0200 (mer, 30 jui 2008) | 2 lines + +[FIX] fix the coma bug in sanatization.php... BPB for Nyloth :D + +------------------------------------------------------------------------ +r13957 | lphuberdeau | 2008-07-30 01:50:51 +0200 (mer, 30 jui 2008) | 1 line + +[REL] SecDB for 2.0RC3 +------------------------------------------------------------------------ +r13956 | lphuberdeau | 2008-07-30 01:49:37 +0200 (mer, 30 jui 2008) | 1 line + +[REL] Change version numbers +------------------------------------------------------------------------ +r13955 | lphuberdeau | 2008-07-30 01:46:32 +0200 (mer, 30 jui 2008) | 1 line + +[REL] SecDB for 2.0RC3 +------------------------------------------------------------------------ +r13953 | lphuberdeau | 2008-07-30 01:42:23 +0200 (mer, 30 jui 2008) | 1 line + +[REL] Change version numbers +------------------------------------------------------------------------ +r13952 | lphuberdeau | 2008-07-30 01:26:05 +0200 (mer, 30 jui 2008) | 1 line + +[REL] SecDB for 2.0RC3 +------------------------------------------------------------------------ +r13950 | nyloth | 2008-07-30 01:14:44 +0200 (mer, 30 jui 2008) | 1 line + +[FIX] sanitization: remove sanitization from tiki-admin.php since users that use those panels are trusted users and they may need to use style tags (or other dangerous tags) in some places like 'Custom Site Header'. Thanx to SEWilco for the report and lphuberdeau for the fix idea) +------------------------------------------------------------------------ +r13946 | nyloth | 2008-07-29 20:36:15 +0200 (mar, 29 jui 2008) | 1 line + +[FIX] sanitization: be less aggressive on 'style' keyword (now only search as a tag or as something that looks like an HTML attribute) +------------------------------------------------------------------------ +r13944 | nyloth | 2008-07-29 19:42:39 +0200 (mar, 29 jui 2008) | 1 line + +[MOD] wiki parsing: small hack to avoid displaying things like 'st<x>yle' for wiki text that has been XSS sanitized. +------------------------------------------------------------------------ +r13938 | nyloth | 2008-07-29 17:35:41 +0200 (mar, 29 jui 2008) | 1 line + +[FIX] sanitization: do everything in the same loop to be sure +------------------------------------------------------------------------ +r13937 | sampaioprimo | 2008-07-29 16:16:11 +0200 (mar, 29 jui 2008) | 2 lines + +pt-br translation + +------------------------------------------------------------------------ +r13935 | lphuberdeau | 2008-07-29 15:44:02 +0200 (mar, 29 jui 2008) | 1 line + +[FIX] Translation sync got broken along the way +------------------------------------------------------------------------ +r13934 | sampaioprimo | 2008-07-29 15:00:45 +0200 (mar, 29 jui 2008) | 2 lines + +[FIX] smarty var names conflicting + +------------------------------------------------------------------------ +r13929 | franck | 2008-07-29 06:51:31 +0200 (mar, 29 jui 2008) | 1 line + +[FIX] smarty long datetime ref missing in calendar rss code +------------------------------------------------------------------------ +r13928 | franck | 2008-07-29 05:58:27 +0200 (mar, 29 jui 2008) | 1 line + +[ENH]display the Timezone in the calendar +------------------------------------------------------------------------ +r13927 | nyloth | 2008-07-29 01:47:16 +0200 (mar, 29 jui 2008) | 1 line + +[FIX] explode modifier: fix call to php function when no limit +------------------------------------------------------------------------ +r13926 | nyloth | 2008-07-29 01:35:25 +0200 (mar, 29 jui 2008) | 1 line + +[SEC] improve XSS filter to protect against more attacks (thx to 'Joshua Morin' who reported some vulnerabilities. New code is mainly based on 'RemoveXSS' initially developped by kallahar from quickwired.com and modified for TikiWiki to be less aggressive. When a value may be dangerous, it inserts a fake '<x>' tag inside it to disable it. Please test. +------------------------------------------------------------------------ +r13919 | nyloth | 2008-07-28 19:51:09 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] installer: typo +------------------------------------------------------------------------ +r13914 | nyloth | 2008-07-28 16:43:34 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] installer: replace the user_is_admin function by simply testing if the user is 'admin', since the installer should only be accessible for this user (the function was buggy, because it was accepting any user that was in a group + admin may not be in a group). + fix the cookie name that was not working if it was set with an underscore (it has to be cleaned as in tiki-setup_base). +------------------------------------------------------------------------ +r13913 | marclaporte | 2008-07-28 13:14:33 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] Remove unnecessary line in install instructions (Thanks Nyloth) +------------------------------------------------------------------------ +r13911 | marclaporte | 2008-07-28 03:59:17 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] Improve admin tip (but it's still not great) +------------------------------------------------------------------------ +r13910 | marclaporte | 2008-07-28 02:31:48 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] Like in 1.9.x, on external links: changing the alt from 'external link' to ' (external link)' because it causes a nuisance when copy/pasting from a wiki page (with Firefox but not IE6) to somewhere else and also when using the Tiki newsletter. +------------------------------------------------------------------------ +r13909 | marclaporte | 2008-07-28 02:09:29 +0200 (lun, 28 jui 2008) | 1 line + +[FIX] Changing instructions to use sh setup.sh instead of ./setup.sh +------------------------------------------------------------------------ +r13907 | nyloth | 2008-07-27 21:52:48 +0200 (dim, 27 jui 2008) | 1 line + +[FIX] filegal manager: fix images in wiki pages with height or width set in percentages. +------------------------------------------------------------------------ +r13903 | nyloth | 2008-07-27 20:09:41 +0200 (dim, 27 jui 2008) | 1 line + +[FIX] file galleries: initialisation of explorer and path was broken for a new gallery. It now uses global prefs as other options. +------------------------------------------------------------------------ +r13901 | nyloth | 2008-07-27 17:09:40 +0200 (dim, 27 jui 2008) | 1 line + +[FIX] file galleries: explorer tree was broken in php mode (i.e. not in javascript through phplayers). +------------------------------------------------------------------------ +r13897 | nyloth | 2008-07-27 12:10:49 +0200 (dim, 27 jui 2008) | 1 line + +[FIX] some comments from 1.10 to 2.0 +------------------------------------------------------------------------ +r13895 | chibaguy | 2008-07-26 16:42:26 +0200 (sam, 26 jui 2008) | 1 line + +[FIX] Div widths in forum posts (min-width needed for IE7 and FF3, etc.); other forum post fixes. Darkroom also needed text/bg contrast properties when transition CSS is used. +------------------------------------------------------------------------ +r13894 | chibaguy | 2008-07-26 06:21:57 +0200 (sam, 26 jui 2008) | 1 line + +[FIX] Clear needed to keep post form in place on preview page in *litecss themes. +------------------------------------------------------------------------ +r13887 | lphuberdeau | 2008-07-25 17:52:36 +0200 (ven, 25 jui 2008) | 1 line + +[FIX] No longer read the version number from db/local.php +------------------------------------------------------------------------ +r13877 | chibaguy | 2008-07-25 09:55:01 +0200 (ven, 25 jui 2008) | 1 line + +[FIX] Improved forum and admin pages, module ol and ul, font sizes, etc. +------------------------------------------------------------------------ +r13864 | nyloth | 2008-07-24 17:12:52 +0200 (jeu, 24 jui 2008) | 1 line + +[FIX] filegals: shadowbox was conflicting with filegals_manager in browse view. +------------------------------------------------------------------------ +r13863 | sylvieg | 2008-07-24 16:37:09 +0200 (jeu, 24 jui 2008) | 1 line + +[FIX]tracker: the checkbox in TRACKER has on/n values - in tracker-view_tracker has y/n - making impossible to test in TRACKERITEMFIELD => now normalize to y/n and accept both test value in TRACKERITEMFIELD +------------------------------------------------------------------------ +r13862 | ricks99 | 2008-07-24 16:18:17 +0200 (jeu, 24 jui 2008) | 1 line + +[MOD]make text clearer for initial admin login for new install. +------------------------------------------------------------------------ +r13861 | chibaguy | 2008-07-24 08:48:46 +0200 (jeu, 24 jui 2008) | 1 line + +[FIX] Extra /div tag removed that was causing column problem in *litecss themes. +------------------------------------------------------------------------ +r13860 | chibaguy | 2008-07-24 04:07:50 +0200 (jeu, 24 jui 2008) | 1 line + +[FIX] "Powered by" font size set to match theme. +------------------------------------------------------------------------ +r13859 | chibaguy | 2008-07-24 03:49:26 +0200 (jeu, 24 jui 2008) | 1 line + +[FIX] #siteloginbar styling added (font size, etc.) for consistent look. +------------------------------------------------------------------------ +r13855 | nyloth | 2008-07-23 22:33:58 +0200 (mer, 23 jui 2008) | 1 line + +[SEC] galaxia : avoid using the base script directly. +------------------------------------------------------------------------ +r13854 | nyloth | 2008-07-23 22:11:18 +0200 (mer, 23 jui 2008) | 1 line + +[SEC] backport 'smarty security' fixes from trunk to avoid this feature to break tiki. +------------------------------------------------------------------------ +r13853 | nyloth | 2008-07-23 21:02:35 +0200 (mer, 23 jui 2008) | 1 line + +[SEC] change default password encryption from tikihash (old) to crypt-md5. +------------------------------------------------------------------------ +r13852 | nyloth | 2008-07-23 20:53:15 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] backport commit 13688 +------------------------------------------------------------------------ +r13840 | sylvieg | 2008-07-23 17:22:53 +0200 (mer, 23 jui 2008) | 1 line + +[FIX]tracker: For user tracker to work in regsitration +------------------------------------------------------------------------ +r13839 | nyloth | 2008-07-23 15:59:08 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] installer: for upgrades, show a login box instead of a link to the current tiki login box, because there is a huge risk that the current tiki is broken due to new code that is not compatible with the current database schema (which will be updated by the installer, after this login). This avoids admins to be locked into something broken if they forget to login before replacing tikiwiki files by new versions. +------------------------------------------------------------------------ +r13838 | nyloth | 2008-07-23 15:54:57 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] handle dbversion 1.10 that needs to be changed into 2.0. +------------------------------------------------------------------------ +r13837 | nyloth | 2008-07-23 15:52:58 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] use include_once instead of include for adodb-session.php since it can't be included again. +------------------------------------------------------------------------ +r13836 | nyloth | 2008-07-23 15:51:00 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] rename 1.10 to 2.0 in comments +------------------------------------------------------------------------ +r13835 | nyloth | 2008-07-23 15:49:45 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] handle dbversion 1.10 that needs to be changed into 2.0. +------------------------------------------------------------------------ +r13833 | nyloth | 2008-07-23 15:47:03 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] remove wrong comment +------------------------------------------------------------------------ +r13831 | sylvieg | 2008-07-23 15:19:43 +0200 (mer, 23 jui 2008) | 1 line + +backport as TRACKER for user tracker was broken +------------------------------------------------------------------------ +r13830 | nyloth | 2008-07-23 15:17:22 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] remove useless script for 2.0 +------------------------------------------------------------------------ +r13829 | nyloth | 2008-07-23 15:16:41 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] move some scripts from 1.10 to 2.0 +------------------------------------------------------------------------ +r13828 | nyloth | 2008-07-23 15:15:12 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] move some scripts from 1.10 to 2.0 +------------------------------------------------------------------------ +r13827 | nyloth | 2008-07-23 15:12:02 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] use include instead of include_once for local.php since it can be included later again + handle dbversion 1.10 that needs to be changed into 2.0. +------------------------------------------------------------------------ +r13825 | marclaporte | 2008-07-23 14:57:19 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] More fixes of links to doc.tikiwiki.org +------------------------------------------------------------------------ +r13824 | xavidp | 2008-07-23 14:56:31 +0200 (mer, 23 jui 2008) | 1 line + +[FIX]merged changes in 1.9cvs originally by Pablo from precarios.org (pmorenogarcia) to branch2.0 +------------------------------------------------------------------------ +r13823 | marclaporte | 2008-07-23 14:43:55 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] Fix many links to the documentation. Need to all be checked. +------------------------------------------------------------------------ +r13822 | xavidp | 2008-07-23 13:38:39 +0200 (mer, 23 jui 2008) | 1 line + +[FIX]changed plana for pàgina everywhere in the language file +------------------------------------------------------------------------ +r13821 | xavidp | 2008-07-23 13:25:49 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] translated some strings by anna from intercanvis.net +------------------------------------------------------------------------ +r13817 | nyloth | 2008-07-23 12:08:41 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] calendar: fix first day of week, which is a pref +------------------------------------------------------------------------ +r13816 | nyloth | 2008-07-23 12:07:44 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] my pages: remove link to tiki-mypages.php since this file has been removed. +------------------------------------------------------------------------ +r13815 | nyloth | 2008-07-23 10:57:47 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] fr translation: try to have something that can be understood in the tikiwiki assistant. +------------------------------------------------------------------------ +r13814 | ohertel | 2008-07-23 09:59:03 +0200 (mer, 23 jui 2008) | 1 line + +fix: frameset was enclosed in <head> +------------------------------------------------------------------------ +r13813 | ohertel | 2008-07-23 09:55:48 +0200 (mer, 23 jui 2008) | 1 line + +de translations +------------------------------------------------------------------------ +r13812 | chibaguy | 2008-07-23 06:36:20 +0200 (mer, 23 jui 2008) | 1 line + +[ENH] A little padding added in table.admin td and .cbox-data (pointed out by Marc). +------------------------------------------------------------------------ +r13811 | nyloth | 2008-07-23 02:14:33 +0200 (mer, 23 jui 2008) | 1 line + +[FIX] tikipath: On some systems, SCRIPT_FILENAME contains the full path to the cgi script that calls the script we are looking for. In this case, we have to fallback to PATH_TRANSLATED. +------------------------------------------------------------------------ +r13786 | sylvieg | 2008-07-21 20:38:05 +0200 (lun, 21 jui 2008) | 1 line + +backport +------------------------------------------------------------------------ +r13781 | ricks99 | 2008-07-21 16:25:36 +0200 (lun, 21 jui 2008) | 1 line + +[MOD] if not logged in as admin, tell user to login (instead of simply showing the homepage). +------------------------------------------------------------------------ +r13772 | marclaporte | 2008-07-20 23:47:01 +0200 (dim, 20 jui 2008) | 1 line + +[MOD] Wiki page draft feature is is broken as of 2.0 RC2: add note about experimental status and need for AJAX. +------------------------------------------------------------------------ +r13771 | marclaporte | 2008-07-20 23:13:30 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Create webhelp preference: setting to no by default, otherwise, since it's blank, it sets itself to no upon first modification of tiki-admin.php?page=wiki, causing surprise to the Tiki admin. +------------------------------------------------------------------------ +r13770 | marclaporte | 2008-07-20 22:56:05 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Remove duplicate preference name and turn on Wiki Section Edit by default, which is a star feature of TikiWiki 2.0 (Possibly the last major wiki feature we were missing). +------------------------------------------------------------------------ +r13768 | pkdille | 2008-07-20 20:01:52 +0200 (dim, 20 jui 2008) | 1 line + +[MOD] bot-bar: decrease "Powered by" font size. +------------------------------------------------------------------------ +r13765 | marclaporte | 2008-07-20 18:18:16 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] typo in login box +------------------------------------------------------------------------ +r13764 | marclaporte | 2008-07-20 18:11:11 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] On new installs, remove ugly/useless top bar. Powered by is now at the bottom, and people don't need us to tell them the date +------------------------------------------------------------------------ +r13760 | marclaporte | 2008-07-20 17:35:19 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Remove incorrect sql query counter. Please see http://dev.tikiwiki.org/bug1317 +------------------------------------------------------------------------ +r13759 | marclaporte | 2008-07-20 17:13:44 +0200 (dim, 20 jui 2008) | 1 line + +[FIX/MOD] Changing default settings so the Inter-User message feature has a real chance to blossom in a community. By default, 1-New users are created with allow messages to y (they can opt out). 2- By default, users receive an email notification of new messages of normal or higher priority (3 or more), which is the common setting for popular Social Networking sites. User can opt out by setting to never. +------------------------------------------------------------------------ +r13758 | marclaporte | 2008-07-20 16:50:28 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Remove irrelevant tip +------------------------------------------------------------------------ +r13757 | marclaporte | 2008-07-20 15:58:19 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Like in 1.9.x, RSS feeds will now be off by default until Tiki admins decide to activate. +------------------------------------------------------------------------ +r13756 | marclaporte | 2008-07-20 15:36:40 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] From now on, the default setting for the internal messaging system is that users accept messages, but as before, they can opt-out. The old setting was an unfortunate choice as it's almost a garantee that the community aspect of inter-user messages was going to fail. Indeed, each user would have to change the setting. The current setup is the more common use case, where when a Tiki Admin turns on the Inter-User message features, it's to facilitate communication. +------------------------------------------------------------------------ +r13754 | marclaporte | 2008-07-20 15:18:54 +0200 (dim, 20 jui 2008) | 1 line + +[FIX] Send to appropriate URL to create gallery. Even better would be permission check about being allowed to create a gallery and an alternate message if current user doesn't have sufficient permissions (Ex.: please ask an admin to create an image gallery) +------------------------------------------------------------------------ +r13752 | marclaporte | 2008-07-20 15:11:05 +0200 (dim, 20 jui 2008) | 1 line + +[MOD] Default setup will now be that users can't change theme, which is the most common use case. +------------------------------------------------------------------------ +r13750 | marclaporte | 2008-07-20 14:49:11 +0200 (dim, 20 jui 2008) | 1 line + +[DEL] tiki-view_irc.php has been deleted so templates/tiki-view_irc.tpl should go as well +------------------------------------------------------------------------ +r13746 | chibaguy | 2008-07-19 12:55:56 +0200 (sam, 19 jui 2008) | 1 line + +[FIX] fullscreen body id interfered with CSS menus. +------------------------------------------------------------------------ +r13741 | m_stef | 2008-07-19 00:56:53 +0200 (sam, 19 jui 2008) | 2 lines + +[FIX] corrected starting time for events, added endtime handling in hcalendar support + +------------------------------------------------------------------------ +r13740 | m_stef | 2008-07-19 00:54:20 +0200 (sam, 19 jui 2008) | 3 lines + +[ENH] added compactisodate function, is used by a similarily called smarty +function in hcalendar support. + +------------------------------------------------------------------------ +r13739 | m_stef | 2008-07-19 00:43:57 +0200 (sam, 19 jui 2008) | 3 lines + +[FIX] changed format to the compact version of isodate, so that the dates can +be automatically used in vcal/ical dates. + +------------------------------------------------------------------------ +r13733 | lphuberdeau | 2008-07-18 22:23:39 +0200 (ven, 18 jui 2008) | 1 line + +[REL] Updating secdb +------------------------------------------------------------------------ +r13721 | nyloth | 2008-07-18 17:40:27 +0200 (ven, 18 jui 2008) | 1 line + +[FIX] htaccess: do not try to enable rewrite rules on servers that does not have the Apache module. +------------------------------------------------------------------------ +r13709 | m_stef | 2008-07-18 13:16:13 +0200 (ven, 18 jui 2008) | 2 lines + +[FIX] tiki file galleries RSS feed did not correctly include the publishdate and author + +------------------------------------------------------------------------ +r13708 | m_stef | 2008-07-18 13:08:53 +0200 (ven, 18 jui 2008) | 2 lines + +[FIX] file galleries RSS feed was empty, list_files did not pass the recursive param + +------------------------------------------------------------------------ +r13704 | nyloth | 2008-07-18 01:27:36 +0200 (ven, 18 jui 2008) | 1 line + +[FIX] new logo for 2.0 release has a white background +------------------------------------------------------------------------ +r13702 | sylvieg | 2008-07-17 22:13:48 +0200 (jeu, 17 jui 2008) | 1 line + +[FIX]tracker: block {php}{/php} in the tpl/wiki of a pretty tracker +------------------------------------------------------------------------ +r13697 | sampaioprimo | 2008-07-17 16:36:19 +0200 (jeu, 17 jui 2008) | 2 lines + +pt-br translation + +------------------------------------------------------------------------ +r13689 | nyloth | 2008-07-16 10:51:03 +0200 (mer, 16 jui 2008) | 1 line + +[FIX] smarty self_link: better fix (was impacting major feature - trackers item saving) +------------------------------------------------------------------------ +r13687 | lphuberdeau | 2008-07-16 10:40:45 +0200 (mer, 16 jui 2008) | 1 line + +[REL] Preparing RC2 +------------------------------------------------------------------------ +r13681 | sampaioprimo | 2008-07-15 19:39:01 +0200 (mar, 15 jui 2008) | 2 lines + +removed new wiki-plugin from 2.0 (sorry for commiting this after branch was frozen) + +------------------------------------------------------------------------ +r13675 | marcoaasilva | 2008-07-15 18:42:13 +0200 (mar, 15 jui 2008) | 3 lines + +pt-br translation + + +------------------------------------------------------------------------ +r13674 | sylvieg | 2008-07-15 18:40:02 +0200 (mar, 15 jui 2008) | 1 line + +[FIX]newsletter: to see a preview that is white on white background as preview is in simplebox wikitext +------------------------------------------------------------------------ +r13673 | pkdille | 2008-07-15 16:12:12 +0200 (mar, 15 jui 2008) | 1 line + +[FIX] tiki_menus: add table column icon as in tiki_1.9to2.0 script (fix bug from dev.tw.org buglist) +------------------------------------------------------------------------ +r13669 | chibaguy | 2008-07-15 09:38:47 +0200 (mar, 15 jui 2008) | 1 line + +[KIL] Removed from branch 1.9 earlier - no known use. +------------------------------------------------------------------------ +r13668 | chibaguy | 2008-07-15 09:37:11 +0200 (mar, 15 jui 2008) | 1 line + +[KIL] vidiki.css was removed already, so its bg images must follow. +------------------------------------------------------------------------ +r13665 | marcoaasilva | 2008-07-15 06:10:13 +0200 (mar, 15 jui 2008) | 2 lines + +fix pt-br translation + +------------------------------------------------------------------------ +r13664 | sampaioprimo | 2008-07-14 20:52:37 +0200 (lun, 14 jui 2008) | 2 lines + +[UI] better place to display link to blog comments on blog listing + +------------------------------------------------------------------------ +r13663 | sampaioprimo | 2008-07-14 20:45:00 +0200 (lun, 14 jui 2008) | 2 lines + +typo (remove underline from blank space) + +------------------------------------------------------------------------ +r13662 | sampaioprimo | 2008-07-14 20:39:42 +0200 (lun, 14 jui 2008) | 2 lines + +fix pt-br translation + +------------------------------------------------------------------------ +r13661 | sampaioprimo | 2008-07-14 20:30:37 +0200 (lun, 14 jui 2008) | 2 lines + +[UI] blog title is link to the blog + +------------------------------------------------------------------------ +r13660 | sylvieg | 2008-07-14 19:50:44 +0200 (lun, 14 jui 2008) | 1 line + +[FIX]{php} do not use {php in tiki menu +------------------------------------------------------------------------ +r13659 | sampaioprimo | 2008-07-14 19:13:07 +0200 (lun, 14 jui 2008) | 2 lines + +[UI] only shows trackbacks if post has some + +------------------------------------------------------------------------ +r13658 | sampaioprimo | 2008-07-14 19:04:18 +0200 (lun, 14 jui 2008) | 3 lines + +[UI] 'your name' at the top of the comment form +[UI] string 'required' in the same line of string 'Title' in the comment form + +------------------------------------------------------------------------ +r13656 | nyloth | 2008-07-14 13:47:53 +0200 (lun, 14 jui 2008) | 1 line + +[SEC] turn on the password brute force protection by allowing only 20 unsuccessful logins by default. +------------------------------------------------------------------------ +r13650 | nyloth | 2008-07-14 10:16:29 +0200 (lun, 14 jui 2008) | 1 line + +[FIX] user watches: delete useless mail events that are not linked to any email before migrating them to new user watches. +------------------------------------------------------------------------ +r13648 | chibaguy | 2008-07-14 03:25:25 +0200 (lun, 14 jui 2008) | 1 line + +[FIX] TikiTests topbar added. +------------------------------------------------------------------------ +r13647 | marclaporte | 2008-07-13 23:46:07 +0200 (dim, 13 jui 2008) | 1 line + +[DEL] This unmaintained profile should have been deleted a long time ago +------------------------------------------------------------------------ +r13639 | nyloth | 2008-07-13 18:26:09 +0200 (dim, 13 jui 2008) | 1 line + +[FIX] AJAX moved to experimental features +------------------------------------------------------------------------ +r13633 | nyloth | 2008-07-13 17:16:02 +0200 (dim, 13 jui 2008) | 1 line + +[FIX] smarty self_link: fix fix +------------------------------------------------------------------------ +r13630 | nyloth | 2008-07-13 17:03:28 +0200 (dim, 13 jui 2008) | 1 line + +[FIX] smarty self_link: fix the case where self_link returns '//tiki-script.php' which is bad when used for Location header (that closes a bug on trackers, when returning to the list after saving an item). +------------------------------------------------------------------------ +r13629 | lphuberdeau | 2008-07-13 17:02:37 +0200 (dim, 13 jui 2008) | 1 line + +[MOD] Preparing installer version +------------------------------------------------------------------------ +r13626 | nyloth | 2008-07-13 16:18:59 +0200 (dim, 13 jui 2008) | 1 line + +[FIX] wysiwyg moved to experimental features +------------------------------------------------------------------------ +r13622 | nyloth | 2008-07-13 15:40:42 +0200 (dim, 13 jui 2008) | 1 line + +[FIX] tikitests: since tikitests does not work in PHP4, disable the checkbox of the feature and explain why. +------------------------------------------------------------------------ +r13621 | lphuberdeau | 2008-07-13 14:43:06 +0200 (dim, 13 jui 2008) | 1 line + +[ROLLBACK] Commit 13612, not a bug fix, see ricks' comments +------------------------------------------------------------------------ +r13620 | nyloth | 2008-07-13 14:40:26 +0200 (dim, 13 jui 2008) | 1 line + +[SVN] add a 'svn:ignore' property for tiki_tests/tests. +------------------------------------------------------------------------ +r13619 | lphuberdeau | 2008-07-13 14:38:57 +0200 (dim, 13 jui 2008) | 1 line + +[ROLLBACK] Commit 13613, behavior change not allowed in RC mode +------------------------------------------------------------------------ +r13617 | jonnybradley | 2008-07-12 21:33:15 +0200 (sam, 12 jui 2008) | 1 line + +[FIX] {remarksbox} layout improvements (part 2) +------------------------------------------------------------------------ +r13616 | jonnybradley | 2008-07-12 21:30:31 +0200 (sam, 12 jui 2008) | 3 lines + +[FIX] XHTML validation fix: removing divs with name attributes - lots of them, apologies for the flood (templates only) +Implemented {remarksbox} entity throughout - replaced by hand. All the ones i could get to have been tested (couldn't find a few of them - fingers crossed) + +------------------------------------------------------------------------ +r13615 | jonnybradley | 2008-07-12 21:13:38 +0200 (sam, 12 jui 2008) | 1 line + +[FIX] {remarksbox} layout improvements +------------------------------------------------------------------------ +r13614 | xavidp | 2008-07-12 19:15:44 +0200 (sam, 12 jui 2008) | 1 line + +[FIX]removed duplication of rating checkbox +------------------------------------------------------------------------ +r13613 | jonnybradley | 2008-07-12 17:40:20 +0200 (sam, 12 jui 2008) | 5 lines + +[FIX] Markup not parsed when switching from normal (wiki) to wysiwyg (html) editors (itemId=1831) + +More extensive ructions than i had hoped in tiki-editpage.php especially (should be a lib?) but tests ok - Fine with "Import HTML" option (mostly - fixed in a couple of places) and now you don't loose edits. +Tested minimally with staging only (seemed ok) but not with translations (as i haven't ever used that) +Some anomalies such as ! getting converted to H2 but that's how the wiki parser seems to work (should be an option imho) and some images fail, but a significant improvement on what happened before (i.e. no parsing) +------------------------------------------------------------------------ +r13612 | jonnybradley | 2008-07-12 16:49:47 +0200 (sam, 12 jui 2008) | 4 lines + +[FIX] Removing document.write() calls for "Select All" checkboxes (because document.write is evil) +This will result in some non-functioning checkboxes appearing now for people with JavaScript disabled where they didn't appear before, but this was only on about half of these type of checkboxes. +If it's important (still?) these should all be surrounded with {if $javascript_enabled} checks but at the moment that var only gets set for people with $prefs['pref_syntax']=='1.9' (for some reason) + +------------------------------------------------------------------------ +r13611 | sylvieg | 2008-07-12 12:52:20 +0200 (sam, 12 jui 2008) | 1 line + +some tr +------------------------------------------------------------------------ +r13610 | marclaporte | 2008-07-12 12:49:04 +0200 (sam, 12 jui 2008) | 1 line + +[FIX] Remove unneeded permissions because tiki_p_admin is sufficient +------------------------------------------------------------------------ +r13609 | marclaporte | 2008-07-12 12:29:34 +0200 (sam, 12 jui 2008) | 1 line + +[FIX] remove redundant value which was causing sql error on clean install +------------------------------------------------------------------------ +r13608 | sylvieg | 2008-07-12 12:26:48 +0200 (sam, 12 jui 2008) | 1 line + +[FIX]freetag: some fixes to have freetags using the same objects that categorization: more to do +------------------------------------------------------------------------ +r13607 | sampaioprimo | 2008-07-11 23:25:43 +0200 (ven, 11 jui 2008) | 2 lines + +translation + +------------------------------------------------------------------------ +r13606 | sylvieg | 2008-07-11 23:18:03 +0200 (ven, 11 jui 2008) | 1 line + +title +------------------------------------------------------------------------ +r13605 | sylvieg | 2008-07-11 23:16:56 +0200 (ven, 11 jui 2008) | 1 line + +[FIX}banners: registered can not see banners +------------------------------------------------------------------------ +r13604 | nyloth | 2008-07-11 22:57:26 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] add an ucfirst modifier to make smarty_security work +------------------------------------------------------------------------ +r13603 | nyloth | 2008-07-11 22:53:26 +0200 (ven, 11 jui 2008) | 2 lines + +[SEC] add a feature smarty_security to be able to forbid {php} tags inside smarty templates. + +------------------------------------------------------------------------ +r13602 | nyloth | 2008-07-11 22:52:07 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] fix changelog instructions +------------------------------------------------------------------------ +r13601 | marclaporte | 2008-07-11 22:47:01 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] typo +------------------------------------------------------------------------ +r13600 | pkdille | 2008-07-11 22:44:40 +0200 (ven, 11 jui 2008) | 1 line + +[UI FIX] objectperms: switch perms and perms descriptions +------------------------------------------------------------------------ +r13599 | sept_7 | 2008-07-11 22:44:39 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : put criptic stuff at the end of the page ;p + +------------------------------------------------------------------------ +r13598 | sept_7 | 2008-07-11 22:43:46 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] fix security check , use old version of twversion.class.php... + +------------------------------------------------------------------------ +r13597 | sampaioprimo | 2008-07-11 22:38:07 +0200 (ven, 11 jui 2008) | 3 lines + +[FIX] removed wikiplugin_calendar from branch 2.0, it doesnt work (anyone planning to finish this on trunk or should we remove from +there also?) + +------------------------------------------------------------------------ +r13595 | lphuberdeau | 2008-07-11 21:56:54 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] Broken build again + +------------------------------------------------------------------------ +r13594 | lphuberdeau | 2008-07-11 21:26:14 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] Build broken + +------------------------------------------------------------------------ +r13592 | lphuberdeau | 2008-07-11 20:47:53 +0200 (ven, 11 jui 2008) | 2 lines + +[REL] SecDB update + +------------------------------------------------------------------------ +r13591 | lphuberdeau | 2008-07-11 20:38:29 +0200 (ven, 11 jui 2008) | 1 line + +[ROLLBACK] no more string changes at this point +------------------------------------------------------------------------ +r13590 | Jyhem | 2008-07-11 20:20:29 +0200 (ven, 11 jui 2008) | 1 line + +[UI] Just make sure that newbie admins are not stuck (even if they did not read the previous page properly) +------------------------------------------------------------------------ +r13589 | sylvieg | 2008-07-11 20:07:58 +0200 (ven, 11 jui 2008) | 1 line + +title +------------------------------------------------------------------------ +r13588 | pkdille | 2008-07-11 19:16:16 +0200 (ven, 11 jui 2008) | 1 line + +[LANG] get_strings on all language files +------------------------------------------------------------------------ +r13587 | lphuberdeau | 2008-07-11 19:02:52 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] Installer didn't work on new installs using old databases +------------------------------------------------------------------------ +r13586 | pkdille | 2008-07-11 18:54:20 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] dynamic content: fix the request which gave an error when adding an item on tiki-list_contents.php +------------------------------------------------------------------------ +r13585 | sept_7 | 2008-07-11 18:52:54 +0200 (ven, 11 jui 2008) | 3 lines + +[FIX] revert to the original (almost) order of include path... +maybe we should investigate include path to fix performance issues + +------------------------------------------------------------------------ +r13584 | nkoth | 2008-07-11 18:40:43 +0200 (ven, 11 jui 2008) | 2 lines + +[MOD] adding tiki_p_view_categorized is ok on upgrade + +------------------------------------------------------------------------ +r13583 | lphuberdeau | 2008-07-11 18:35:20 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] Broken link + +------------------------------------------------------------------------ +r13582 | sept_7 | 2008-07-11 18:29:05 +0200 (ven, 11 jui 2008) | 3 lines + +[FIX] : strange if someone has an idea... + even if lib/pear is in the path we need to prepend it :( + +------------------------------------------------------------------------ +r13581 | nyloth | 2008-07-11 18:29:04 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] better handling of 1.9 to 2.0 for feature_wysiwyg. +------------------------------------------------------------------------ +r13580 | nkoth | 2008-07-11 18:20:31 +0200 (ven, 11 jui 2008) | 3 lines + +[MOD] script to give users tiki_p_edit_categorized may inadvertently give users not intended to have this perm. Better to make admins upgrading to configure perms themselves. + + +------------------------------------------------------------------------ +r13579 | nyloth | 2008-07-11 18:17:24 +0200 (ven, 11 jui 2008) | 1 line + +[SVN] set svn external links for third party libs to the revision of branches 2.0 creationi (to avoid evolution of third party libs that could be only compatible with trunk). +------------------------------------------------------------------------ +r13577 | sylvieg | 2008-07-11 18:02:33 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]search : pagination add words too +------------------------------------------------------------------------ +r13576 | sept_7 | 2008-07-11 17:59:32 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] : roll back : do not translate english (not wanted) + +------------------------------------------------------------------------ +r13575 | lphuberdeau | 2008-07-11 17:57:50 +0200 (ven, 11 jui 2008) | 1 line + +[MOD] Improvements in installer +------------------------------------------------------------------------ +r13574 | sept_7 | 2008-07-11 17:33:54 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : Add TikiWiki cache for preferences when not logged in (from nkoth) + +------------------------------------------------------------------------ +r13573 | jonnybradley | 2008-07-11 17:32:22 +0200 (ven, 11 jui 2008) | 1 line + +[MOD] Only show change editor button when not previewing or editing page section +------------------------------------------------------------------------ +r13572 | lphuberdeau | 2008-07-11 17:29:17 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] Clean-up + +------------------------------------------------------------------------ +r13571 | jonnybradley | 2008-07-11 17:28:44 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] Adding 1 (and fixing 2) no needToConfirms +------------------------------------------------------------------------ +r13570 | jonnybradley | 2008-07-11 17:22:19 +0200 (ven, 11 jui 2008) | 1 line + +[KIL] removal of htmlarea and popups dirs (unused apart from in templates/styles/simple/tiki-blog_post.tpl where it degrades to the normal wiki editor politely - sorry i can't work out how to replace it with FCKEditor safely - no experience with blogs feature) +------------------------------------------------------------------------ +r13569 | Jyhem | 2008-07-11 17:17:26 +0200 (ven, 11 jui 2008) | 1 line + +[ENH] Usability improvement: tell the initial admin password when it's needed. +------------------------------------------------------------------------ +r13568 | sept_7 | 2008-07-11 17:17:12 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : do not translate english (from nkoth) + +------------------------------------------------------------------------ +r13567 | sept_7 | 2008-07-11 17:14:00 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : flip order of include_path so as to reduce disk access (from nktoh) + +------------------------------------------------------------------------ +r13566 | nyloth | 2008-07-11 17:13:19 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] remove svn binary mime-type + use username instead of broken userlink+striptags +------------------------------------------------------------------------ +r13565 | sept_7 | 2008-07-11 17:09:09 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : cache get_object_permissions_for_user results (from nkoth) + +------------------------------------------------------------------------ +r13564 | sept_7 | 2008-07-11 17:06:21 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : cache locale date strings (from nkoth) + +------------------------------------------------------------------------ +r13563 | sylvieg | 2008-07-11 16:57:30 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]Banners: shadow icon ads if feature banners not activated +------------------------------------------------------------------------ +r13561 | ricks99 | 2008-07-11 16:33:02 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]malformed html causes links to not appear. fixed by closing the <A>. bug 1862 +------------------------------------------------------------------------ +r13560 | sylvieg | 2008-07-11 16:28:14 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]new search pagination +------------------------------------------------------------------------ +r13559 | lphuberdeau | 2008-07-11 16:19:24 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] Test folder path depended on PHP configuration + +------------------------------------------------------------------------ +r13558 | sylvieg | 2008-07-11 16:04:50 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]search: pagination was loosing search term +------------------------------------------------------------------------ +r13557 | Jyhem | 2008-07-11 15:53:21 +0200 (ven, 11 jui 2008) | 1 line + +[ENH] Clean-up and improve permissions +------------------------------------------------------------------------ +r13556 | sylvieg | 2008-07-11 15:44:55 +0200 (ven, 11 jui 2008) | 1 line + +notice +------------------------------------------------------------------------ +r13555 | sylvieg | 2008-07-11 15:39:29 +0200 (ven, 11 jui 2008) | 1 line + +[FIX]tracker: fix traker rating+clean code+check perm+avoid security problem by always computing the fieldId +------------------------------------------------------------------------ +r13553 | pkdille | 2008-07-11 14:23:48 +0200 (ven, 11 jui 2008) | 1 line + +[LANG] french translations: some +------------------------------------------------------------------------ +r13552 | pkdille | 2008-07-11 14:16:09 +0200 (ven, 11 jui 2008) | 1 line + +[MOD] tell a friend: putting tag out of a translated string +------------------------------------------------------------------------ +r13551 | pkdille | 2008-07-11 13:50:54 +0200 (ven, 11 jui 2008) | 1 line + +[MOD] typo +------------------------------------------------------------------------ +r13550 | lphuberdeau | 2008-07-11 13:45:28 +0200 (ven, 11 jui 2008) | 2 lines + +[MOD] Installer to use tikiwiki login when database is already created + +------------------------------------------------------------------------ +r13549 | lphuberdeau | 2008-07-11 13:44:57 +0200 (ven, 11 jui 2008) | 2 lines + +[FIX] SQL error when overwriting DB + +------------------------------------------------------------------------ +r13548 | sept_7 | 2008-07-11 13:37:35 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] : remove unused tests + +------------------------------------------------------------------------ +r13547 | sept_7 | 2008-07-11 13:37:11 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] put javascript into CDATA section + +------------------------------------------------------------------------ +r13546 | pkdille | 2008-07-11 13:36:35 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] putting chat functions out of menu 42 +------------------------------------------------------------------------ +r13545 | pkdille | 2008-07-11 11:52:55 +0200 (ven, 11 jui 2008) | 1 line + +[MOD] wikiplugin wantedpages: putting breaks out of the translated strings +------------------------------------------------------------------------ +r13544 | Jyhem | 2008-07-11 11:52:10 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] Ooops +------------------------------------------------------------------------ +r13543 | Jyhem | 2008-07-11 11:22:52 +0200 (ven, 11 jui 2008) | 1 line + +[ENH] Sort permissions by permission type +------------------------------------------------------------------------ +r13542 | luciash | 2008-07-11 10:39:15 +0200 (ven, 11 jui 2008) | 2 lines + +[ENH] dont waste site header space and float the search bar on right top + +------------------------------------------------------------------------ +r13541 | luciash | 2008-07-11 09:56:16 +0200 (ven, 11 jui 2008) | 2 lines + +[MOD] also hide custom code, site logo and ads in print mode and filegals manager + +------------------------------------------------------------------------ +r13538 | marclaporte | 2008-07-11 09:42:30 +0200 (ven, 11 jui 2008) | 1 line + +[FIX] Like in 1.9.x, simplifying the error message if your permissions are not set up right. Instead of showing you several (but not all) options, it now refers you to just run setup.sh and follow the instructions from there. +------------------------------------------------------------------------ +r13537 | lphuberdeau | 2008-07-11 09:29:08 +0200 (ven, 11 jui 2008) | 1 line + +[MRG] branches/1.10 13525 to 13536 +------------------------------------------------------------------------ +r13535 | sylvieg | 2008-07-10 23:14:58 +0200 (jeu, 10 jui 2008) | 1 line + +lost commit between release? +----------------------------------... [truncated message content] |
From: <se...@us...> - 2008-08-11 09:49:29
|
Revision: 14162 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14162&view=rev Author: sept_7 Date: 2008-08-11 09:49:34 +0000 (Mon, 11 Aug 2008) Log Message: ----------- [ENH] : File galleries, upload files with progress indications first try Modified Paths: -------------- trunk/lang/fr/language.php trunk/styles/tikineat.css trunk/templates/tiki-upload_file.tpl trunk/tiki-upload_file.php Modified: trunk/lang/fr/language.php =================================================================== --- trunk/lang/fr/language.php 2008-08-11 09:48:41 UTC (rev 14161) +++ trunk/lang/fr/language.php 2008-08-11 09:49:34 UTC (rev 14162) @@ -656,7 +656,7 @@ // "Resume the recording" => "Resume the recording", // "Stop the recording" => "Stop the recording", // "The following files have been successfully uploaded" => "The following files have been successfully uploaded", -// "Additional Info" => "Additional Info", +"Additional Info" => "Info additionnelles", // "Maximum amount of downloads" => "Maximum amount of downloads", // "0 for no limit" => "0 for no limit", // "No gallery available." => "No gallery available.", @@ -7209,5 +7209,8 @@ "Tiki RSS feed for the wiki pages" => "Canal de syndication RSS Tiki pour les pages Wiki", "Last modifications to the Wiki." => "Dernières pages Wiki modifiées.", "The page is empty" => "La page est vide", +"Uploading file..." => "Envoi du fichier...", +"No File to Upload..."=> "Pas de fichier à envoyer...", +"Add File" => "Ajouter", "###end###"=>"###end###"); ?> Modified: trunk/styles/tikineat.css =================================================================== --- trunk/styles/tikineat.css 2008-08-11 09:48:41 UTC (rev 14161) +++ trunk/styles/tikineat.css 2008-08-11 09:49:34 UTC (rev 14162) @@ -2199,7 +2199,7 @@ * html .clearfix {height: 1%;} /* End hide from IE-mac */ .clear { - clear: both; + clear: both !important; } .sub { Modified: trunk/templates/tiki-upload_file.tpl =================================================================== --- trunk/templates/tiki-upload_file.tpl 2008-08-11 09:48:41 UTC (rev 14161) +++ trunk/templates/tiki-upload_file.tpl 2008-08-11 09:49:34 UTC (rev 14162) @@ -21,6 +21,16 @@ </div> {/if} + + {if $prefs.javascript_enabled eq 'y'} + <div id="upload_progress"> + <iframe id="upload_progress_0" name="upload_progress_0" height="1" width="1" style="border:0px none"></iframe> + </div> + <div id='progress'> + <div id='progress_0'></div> + </div> + {/if} + {if count($uploads) > 0} <h2> {if count($uploads) eq 1} @@ -83,8 +93,6 @@ {/if} <div align="center"> - <form enctype="multipart/form-data" action="tiki-upload_file.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}" method="post"> - {include file=categorize.tpl notable='y'} {capture name=upload_file assign=upload_str} <hr class="clear"/> <div class="clear"> @@ -168,33 +176,35 @@ {/if} </div> </div> + {if $prefs.javascript_enabled eq 'y'} + <input type="hidden" name="upload" /> + {/if} {/capture} + <div id="form"> + {include file=categorize.tpl notable='y'} + <form {if $prefs.javascript_enabled eq 'y'}onsubmit='return false' target='upload_progress_0'{/if} id='file_0' name='file_0' action='tiki-upload_file.php' enctype='multipart/form-data' method='post' style='margin:0px; padding:0px'> + <input type="hidden" name="formId" value="0"> {$upload_str} - {if $prefs.javascript_enabled neq 'y' || ! $editFileId} - <script type="text/javascript"> - <!--//--><![CDATA[//><!-- - {literal} - function add_upload_file(id) { - {/literal} - document.getElementById(id).innerHTML += '{$upload_str|strip}'; - {literal} - } - {/literal} - //--><!]]> - </script> - <div id="multiple_upload"> - </div> + {if $prefs.javascript_enabled neq 'y'} + {$upload_str} + {$upload_str} + <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}"/> {/if} + </form> + <div id="multi_1"> + </div> <hr class="clear"/> - <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" /> - {if $prefs.javascript_enabled neq 'y' || !$editFileId} - <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> + {if $prefs.javascript_enabled eq 'y'} + <input class="submitbutton" type="button" onclick="upload('0', 'loader_0')" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}"/> + {if !$editFileId} + <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> + {/if} {/if} + </div> {if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby} {icon _id="lock" class="" alt=""} <span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span> {/if} - </form> </div> {else} {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} @@ -202,4 +212,54 @@ {tr}You have to create a gallery first!{/tr} <p><a class="linkbut" href="tiki-file_galleries.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}">{tr}Create New Gallery{/tr}</a></p> {/if} + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} + <script type="text/javascript"> + <!--//--><![CDATA[//><!-- + {literal} + var nb_upload = 1; + function add_upload_file() { + tmp = "<form onsubmit='return false' id='file_"+nb_upload+"' name='file_"+nb_upload+"' action='tiki-upload_file.php' target='upload_progress_"+nb_upload+"' enctype='multipart/form-data' method='post' style='margin:0px; padding:0px'>"; + {/literal} + tmp += '<input type="hidden" name="formId" value="'+nb_upload+'">'; + tmp += '{$upload_str|strip}'; + {literal} + tmp += '</form><div id="multi_'+(nb_upload+1)+'"></div>'; + //tmp += '<div id="multi_'+(nb_upload+1)+'"></div>'; + document.getElementById('multi_'+nb_upload).innerHTML = tmp; + document.getElementById('progress').innerHTML += "<div id='progress_"+nb_upload+"'></div>"; + document.getElementById('upload_progress').innerHTML += "<iframe id='upload_progress_"+nb_upload+"' name='upload_progress_"+nb_upload+"' height='1' width='1' style='border:0px none'></iframe>"; + nb_upload += 1; + } + function progress(id,msg) { +// alert ('progress_'+id); + document.getElementById('progress_'+id).innerHTML = msg; + } + + function do_submit(n) { +// alert(document.getElementById('file_'+n).name); + if (document.forms['file_'+n].elements['userfile[]'].value != '') { + {/literal} + progress(n,"<img src='lib/shadowbox/images/loading.gif'>{tr}Uploading file...{/tr}"); + {literal} + document.getElementById('file_'+n).submit(); + document.getElementById('file_'+n).reset(); + } else { + progress(n,"{tr}No File to Upload...{/tr}"); + } + } + + function upload(form, loader){ + //only do this if the form exists + n=0; + while (document.forms['file_'+n]){ + do_submit(n); + n++; + } + hide('form'); + } + {/literal} + //--><!]]> + </script> + {/if} + Modified: trunk/tiki-upload_file.php =================================================================== --- trunk/tiki-upload_file.php 2008-08-11 09:48:41 UTC (rev 14161) +++ trunk/tiki-upload_file.php 2008-08-11 09:49:34 UTC (rev 14162) @@ -18,6 +18,26 @@ include('lib/filegals/max_upload_size.php'); @ini_set('max_execution_time', 0); //will not work in safe_mode is on +function print_progress($msg) { + global $prefs; + + if ($prefs['javascript_enabled'] == 'y') { + echo $msg; + ob_flush(); + } +} + +function print_msg($msg,$id) { + global $prefs; + + if ($prefs['javascript_enabled'] == 'y') { + echo "<script type='text/javascript'><!--//--><![CDATA[//><!--\n"; + echo "parent.progress('$id','".htmlentities($msg,ENT_QUOTES,"UTF-8")."')\n"; + echo "//--><!]]></script>\n"; + ob_flush(); + } +} + if ($prefs['feature_file_galleries'] != 'y') { $smarty->assign('msg', tra("This feature is disabled").": feature_file_galleries"); $smarty->display("error.tpl"); @@ -30,21 +50,21 @@ $smarty->display('error.tpl'); die; } - if (empty($_REQUEST['galleryId'])) { - $_REQUEST['galleryId'] = $fileInfo['galleryId']; - } elseif ($_REQUEST['galleryId'] != $fileInfo['galleryId']) { + if (empty($_REQUEST['galleryId'][0])) { + $_REQUEST['galleryId'][0] = $fileInfo['galleryId']; + } elseif ($_REQUEST['galleryId'][0] != $fileInfo['galleryId']) { $smarty->assign('msg', tra("Could not find the file requested")); $smarty->display('error.tpl'); die; } } -if (isset($_REQUEST['galleryId'])) { - $gal_info = $tikilib->get_file_gallery((int)$_REQUEST['galleryId']); +if (isset($_REQUEST['galleryId'][0])) { + $gal_info = $tikilib->get_file_gallery((int)$_REQUEST['galleryId'][0]); $tikilib->get_perm_object($_REQUEST["galleryId"], 'file gallery', $gal_info, true); } -if (!empty($_REQUEST['galleryId']) && empty($_REQUEST['fileId']) && $tiki_p_upload_files != 'y' && $tiki_p_admin_file_galleries != 'y') { +if (!empty($_REQUEST['galleryId'][0]) && empty($_REQUEST['fileId']) && $tiki_p_upload_files != 'y' && $tiki_p_admin_file_galleries != 'y') { $smarty->assign('errortype', 401); $smarty->assign('msg', tra("Permission denied you can upload files but not to this file gallery")); $smarty->display('error.tpl'); @@ -116,16 +136,18 @@ $editFile = true; } -if (!empty($_REQUEST['galleryId'])) { - $gal_info = $tikilib->get_file_gallery((int)$_REQUEST["galleryId"]); +if (!empty($_REQUEST['galleryId'][0])) { + //$gal_info = $tikilib->get_file_gallery((int)$_REQUEST["galleryId"]); $smarty->assign_by_ref('gal_info', $gal_info); - $podCastGallery = $filegallib->isPodCastGallery((int)$_REQUEST["galleryId"], $gal_info); + $podCastGallery = $filegallib->isPodCastGallery((int)$_REQUEST["galleryId"][0], $gal_info); } // Process an upload here if (isset($_REQUEST["upload"])) { check_ticket('upload-file'); + //print_progress('<script type="text/javascript" src="lib/tiki-js.js"></script>'); + $error_msg = ''; $errors = array(); $uploads = array(); @@ -133,6 +155,11 @@ $didFileReplace = false; foreach($_FILES["userfile"]["error"] as $key => $error) { + if ($prefs['javascript_enabled'] == 'y') { + print_progress('<?xml version="1.0" encoding="UTF-8"?>'); + } + $formId = $_REQUEST['formId']; + $smarty->assign("FormId",$_REQUEST['formId']); if (empty($_REQUEST['galleryId'][$key])) continue; if (!isset($_REQUEST['comment'][$key])) $_REQUEST['comment'][$key] = ''; @@ -165,9 +192,11 @@ $filegallib->process_batch_file_upload($_REQUEST["galleryId"][$key], $_FILES["userfile"]['tmp_name'][$key], $user, $_REQUEST["description"][$key]); $batch_job = true; $batch_job_galleryId = $_REQUEST["galleryId"][$key]; + print_msg(tra('Batch file processed')." $name <br/>",$formId); continue; } else { $errors[] = tra('No permission to upload zipped file packages'); + print_msg(tra('No permission to upload zipped file packages')."<br/>",$formId); continue; } } @@ -177,6 +206,7 @@ $tmp_dest = $prefs['tmpDir'] . "/" . $file_name.".tmp"; if (!move_uploaded_file($file_tmp_name, $tmp_dest)) { $errors[] = tra('Errors detected'); + print_msg(tra('Errors detected'),$formId); continue; } @@ -184,6 +214,7 @@ if (!$fp) { $errors[] = tra('Cannot read file:').' '.$tmp_dest; + print_msg(tra('Cannot read file:').' '.$tmp_dest,$formId); } $data = ''; @@ -207,6 +238,7 @@ @$fw = fopen($savedir . $fhash, "wb"); if (!$fw) { $errors[] = tra('Cannot write to this file:').$savedir.$fhash; + print_msg(tra('Cannot write to this file:').$savedir.$fhash,$formId); } } @@ -216,6 +248,7 @@ } else { if (($data = fread($fp, 8192 * 16)) === false) { $errors[] = tra('Cannot read the file:').' '.$tmp_dest; + print_msg(tra('Cannot read the file:').' '.$tmp_dest,$formId); } fwrite($fw, $data); } @@ -243,10 +276,12 @@ if (!$size) { $errors[] = tra('Warning: Empty file:').' '.$name.'. '.tra('Please re-upload your file'); + print_msg(tra('Warning: Empty file:').' '.$name.'. '.tra('Please re-upload your file'),$formId); } if (($prefs['fgal_use_db'] == 'y') && (!$podCastGallery)) { if (!isset($data) || strlen($data) < 1) { $errors[] = tra('Warning: Empty file:'). ' ' . $name.'. '.tra('Please re-upload your file'); + print_msg(tra('Warning: Empty file:'). ' ' . $name.'. '.tra('Please re-upload your file'),$formId); } } @@ -270,6 +305,7 @@ if (!$fileId) { $errors[] = tra('Upload was not successful. Duplicate file content'). ': ' . $name; + print_msg(tra('Upload was not successful. Duplicate file content'). ': ' . $name,$formId); if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { @unlink($savedir . $fhash); } @@ -295,6 +331,15 @@ $cat_name = empty($_REQUEST['name'][$key])? $name: $_REQUEST['name'][$key]; $cat_href = $aux['dllink']; include_once ('categorize.php'); + // Print progress + if ($prefs['javascript_enabled'] == 'y') { + $smarty->assign("name",$aux['name']); + $smarty->assign("size",$aux['size']); + $smarty->assign("fileId",$aux['fileId']); + $smarty->assign("dllink",$aux['dllink']); + $smarty->assign("nextFormId",$_REQUEST['formId']+1); + print_progress($smarty->fetch("tiki-upload_file_progress.tpl")); + } } } } @@ -325,8 +370,8 @@ } // Get the list of galleries to display the select box in the template -if (isset($_REQUEST["galleryId"])) { - $smarty->assign_by_ref('galleryId', $_REQUEST["galleryId"]); +if (isset($_REQUEST["galleryId"][0])) { + $smarty->assign('galleryId', $_REQUEST["galleryId"][0]); } else { $smarty->assign('galleryId', ''); } @@ -377,12 +422,13 @@ $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); // Display the template -$smarty->assign('mid','tiki-upload_file.tpl'); -if ( isset($_REQUEST['filegals_manager']) && $_REQUEST['filegals_manager'] != '' ) { - $smarty->assign('filegals_manager', $_REQUEST['filegals_manager']); - $smarty->display("tiki-print.tpl"); -} else { - $smarty->display("tiki.tpl"); +if ($prefs['javascript_enabled'] != 'y' or !isset($_REQUEST["upload"])) { + $smarty->assign('mid','tiki-upload_file.tpl'); + if ( isset($_REQUEST['filegals_manager']) && $_REQUEST['filegals_manager'] != '' ) { + $smarty->assign('filegals_manager', $_REQUEST['filegals_manager']); + $smarty->display("tiki-print.tpl"); + } else { + $smarty->display("tiki.tpl"); + } } - ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Sylvie G. <sgr...@gm...> - 2008-11-04 19:47:18
|
Since the upload file progress goody. When we have an error in the database in replace_file, the progress feature is not stopped and we did not see the error. Has somebody a good idea how to implement that. Thanks On Mon, 2008-08-11 at 09:49 +0000, se...@us... wrote: > Revision: 14162 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14162&view=rev > Author: sept_7 > Date: 2008-08-11 09:49:34 +0000 (Mon, 11 Aug 2008) > > Log Message: > ----------- > [ENH] : File galleries, upload files with progress indications first try > > Modified Paths: > -------------- > trunk/lang/fr/language.php > trunk/styles/tikineat.css > trunk/templates/tiki-upload_file.tpl > trunk/tiki-upload_file.php > > Modified: trunk/lang/fr/language.php > =================================================================== > --- trunk/lang/fr/language.php 2008-08-11 09:48:41 UTC (rev 14161) > +++ trunk/lang/fr/language.php 2008-08-11 09:49:34 UTC (rev 14162) > @@ -656,7 +656,7 @@ > // "Resume the recording" => "Resume the recording", > // "Stop the recording" => "Stop the recording", > // "The following files have been successfully uploaded" => "The following files have been successfully uploaded", > -// "Additional Info" => "Additional Info", > +"Additional Info" => "Info additionnelles", > // "Maximum amount of downloads" => "Maximum amount of downloads", > // "0 for no limit" => "0 for no limit", > // "No gallery available." => "No gallery available.", > @@ -7209,5 +7209,8 @@ > "Tiki RSS feed for the wiki pages" => "Canal de syndication RSS Tiki pour les pages Wiki", > "Last modifications to the Wiki." => "Dernières pages Wiki modifiées.", > "The page is empty" => "La page est vide", > +"Uploading file..." => "Envoi du fichier...", > +"No File to Upload..."=> "Pas de fichier à envoyer...", > +"Add File" => "Ajouter", > "###end###"=>"###end###"); > ?> > > Modified: trunk/styles/tikineat.css > =================================================================== > --- trunk/styles/tikineat.css 2008-08-11 09:48:41 UTC (rev 14161) > +++ trunk/styles/tikineat.css 2008-08-11 09:49:34 UTC (rev 14162) > @@ -2199,7 +2199,7 @@ > * html .clearfix {height: 1%;} > /* End hide from IE-mac */ > .clear { > - clear: both; > + clear: both !important; > } > > .sub { > > Modified: trunk/templates/tiki-upload_file.tpl > =================================================================== > --- trunk/templates/tiki-upload_file.tpl 2008-08-11 09:48:41 UTC (rev 14161) > +++ trunk/templates/tiki-upload_file.tpl 2008-08-11 09:49:34 UTC (rev 14162) > @@ -21,6 +21,16 @@ > </div> > {/if} > > + > + {if $prefs.javascript_enabled eq 'y'} > + <div id="upload_progress"> > + <iframe id="upload_progress_0" name="upload_progress_0" height="1" width="1" style="border:0px none"></iframe> > + </div> > + <div id='progress'> > + <div id='progress_0'></div> > + </div> > + {/if} > + > {if count($uploads) > 0} > <h2> > {if count($uploads) eq 1} > @@ -83,8 +93,6 @@ > {/if} > > <div align="center"> > - <form enctype="multipart/form-data" action="tiki-upload_file.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}" method="post"> > - {include file=categorize.tpl notable='y'} > {capture name=upload_file assign=upload_str} > <hr class="clear"/> > <div class="clear"> > @@ -168,33 +176,35 @@ > {/if} > </div> > </div> > + {if $prefs.javascript_enabled eq 'y'} > + <input type="hidden" name="upload" /> > + {/if} > {/capture} > + <div id="form"> > + {include file=categorize.tpl notable='y'} > + <form {if $prefs.javascript_enabled eq 'y'}onsubmit='return false' target='upload_progress_0'{/if} id='file_0' name='file_0' action='tiki-upload_file.php' enctype='multipart/form-data' method='post' style='margin:0px; padding:0px'> > + <input type="hidden" name="formId" value="0"> > {$upload_str} > - {if $prefs.javascript_enabled neq 'y' || ! $editFileId} > - <script type="text/javascript"> > - <!--//--><![CDATA[//><!-- > - {literal} > - function add_upload_file(id) { > - {/literal} > - document.getElementById(id).innerHTML += '{$upload_str|strip}'; > - {literal} > - } > - {/literal} > - //--><!]]> > - </script> > - <div id="multiple_upload"> > - </div> > + {if $prefs.javascript_enabled neq 'y'} > + {$upload_str} > + {$upload_str} > + <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}"/> > {/if} > + </form> > + <div id="multi_1"> > + </div> > <hr class="clear"/> > - <input type="submit" name="upload" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}" /> > - {if $prefs.javascript_enabled neq 'y' || !$editFileId} > - <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> > + {if $prefs.javascript_enabled eq 'y'} > + <input class="submitbutton" type="button" onclick="upload('0', 'loader_0')" value="{if $editFileId}{tr}Save{/tr}{else}{tr}Upload{/tr}{/if}"/> > + {if !$editFileId} > + <input class="submitbutton" type="button" onclick="javascript:add_upload_file('multiple_upload')" value="{tr lang=$lang}Add File{/tr}"/> > + {/if} > {/if} > + </div> > {if !empty($fileInfo.lockedby) and $user ne $fileInfo.lockedby} > {icon _id="lock" class="" alt=""} > <span class="attention">{tr}The file is locked by {$fileInfo.lockedby}{/tr}</span> > {/if} > - </form> > </div> > {else} > {icon _id=exclamation alt="{tr}Error{/tr}" style="vertical-align:middle;"} > @@ -202,4 +212,54 @@ > {tr}You have to create a gallery first!{/tr} > <p><a class="linkbut" href="tiki-file_galleries.php{if $filegals_manager neq ''}?filegals_manager={$filegals_manager|escape}{/if}">{tr}Create New Gallery{/tr}</a></p> > {/if} > + {if $prefs.javascript_enabled neq 'y' || ! $editFileId} > + <script type="text/javascript"> > + <!--//--><![CDATA[//><!-- > + {literal} > + var nb_upload = 1; > + function add_upload_file() { > + tmp = "<form onsubmit='return false' id='file_"+nb_upload+"' name='file_"+nb_upload+"' action='tiki-upload_file.php' target='upload_progress_"+nb_upload+"' enctype='multipart/form-data' method='post' style='margin:0px; padding:0px'>"; > + {/literal} > + tmp += '<input type="hidden" name="formId" value="'+nb_upload+'">'; > + tmp += '{$upload_str|strip}'; > + {literal} > + tmp += '</form><div id="multi_'+(nb_upload+1)+'"></div>'; > + //tmp += '<div id="multi_'+(nb_upload+1)+'"></div>'; > + document.getElementById('multi_'+nb_upload).innerHTML = tmp; > + document.getElementById('progress').innerHTML += "<div id='progress_"+nb_upload+"'></div>"; > + document.getElementById('upload_progress').innerHTML += "<iframe id='upload_progress_"+nb_upload+"' name='upload_progress_"+nb_upload+"' height='1' width='1' style='border:0px none'></iframe>"; > + nb_upload += 1; > + } > > + function progress(id,msg) { > +// alert ('progress_'+id); > + document.getElementById('progress_'+id).innerHTML = msg; > + } > + > + function do_submit(n) { > +// alert(document.getElementById('file_'+n).name); > + if (document.forms['file_'+n].elements['userfile[]'].value != '') { > + {/literal} > + progress(n,"<img src='lib/shadowbox/images/loading.gif'>{tr}Uploading file...{/tr}"); > + {literal} > + document.getElementById('file_'+n).submit(); > + document.getElementById('file_'+n).reset(); > + } else { > + progress(n,"{tr}No File to Upload...{/tr}"); > + } > + } > + > + function upload(form, loader){ > + //only do this if the form exists > + n=0; > + while (document.forms['file_'+n]){ > + do_submit(n); > + n++; > + } > + hide('form'); > + } > + {/literal} > + //--><!]]> > + </script> > + {/if} > + > > Modified: trunk/tiki-upload_file.php > =================================================================== > --- trunk/tiki-upload_file.php 2008-08-11 09:48:41 UTC (rev 14161) > +++ trunk/tiki-upload_file.php 2008-08-11 09:49:34 UTC (rev 14162) > @@ -18,6 +18,26 @@ > include('lib/filegals/max_upload_size.php'); > @ini_set('max_execution_time', 0); //will not work in safe_mode is on > > +function print_progress($msg) { > + global $prefs; > + > + if ($prefs['javascript_enabled'] == 'y') { > + echo $msg; > + ob_flush(); > + } > +} > + > +function print_msg($msg,$id) { > + global $prefs; > + > + if ($prefs['javascript_enabled'] == 'y') { > + echo "<script type='text/javascript'><!--//--><![CDATA[//><!--\n"; > + echo "parent.progress('$id','".htmlentities($msg,ENT_QUOTES,"UTF-8")."')\n"; > + echo "//--><!]]></script>\n"; > + ob_flush(); > + } > +} > + > if ($prefs['feature_file_galleries'] != 'y') { > $smarty->assign('msg', tra("This feature is disabled").": feature_file_galleries"); > $smarty->display("error.tpl"); > @@ -30,21 +50,21 @@ > $smarty->display('error.tpl'); > die; > } > - if (empty($_REQUEST['galleryId'])) { > - $_REQUEST['galleryId'] = $fileInfo['galleryId']; > - } elseif ($_REQUEST['galleryId'] != $fileInfo['galleryId']) { > + if (empty($_REQUEST['galleryId'][0])) { > + $_REQUEST['galleryId'][0] = $fileInfo['galleryId']; > + } elseif ($_REQUEST['galleryId'][0] != $fileInfo['galleryId']) { > $smarty->assign('msg', tra("Could not find the file requested")); > $smarty->display('error.tpl'); > die; > } > } > > -if (isset($_REQUEST['galleryId'])) { > - $gal_info = $tikilib->get_file_gallery((int)$_REQUEST['galleryId']); > +if (isset($_REQUEST['galleryId'][0])) { > + $gal_info = $tikilib->get_file_gallery((int)$_REQUEST['galleryId'][0]); > $tikilib->get_perm_object($_REQUEST["galleryId"], 'file gallery', $gal_info, true); > } > > -if (!empty($_REQUEST['galleryId']) && empty($_REQUEST['fileId']) && $tiki_p_upload_files != 'y' && $tiki_p_admin_file_galleries != 'y') { > +if (!empty($_REQUEST['galleryId'][0]) && empty($_REQUEST['fileId']) && $tiki_p_upload_files != 'y' && $tiki_p_admin_file_galleries != 'y') { > $smarty->assign('errortype', 401); > $smarty->assign('msg', tra("Permission denied you can upload files but not to this file gallery")); > $smarty->display('error.tpl'); > @@ -116,16 +136,18 @@ > $editFile = true; > } > > -if (!empty($_REQUEST['galleryId'])) { > - $gal_info = $tikilib->get_file_gallery((int)$_REQUEST["galleryId"]); > +if (!empty($_REQUEST['galleryId'][0])) { > + //$gal_info = $tikilib->get_file_gallery((int)$_REQUEST["galleryId"]); > $smarty->assign_by_ref('gal_info', $gal_info); > - $podCastGallery = $filegallib->isPodCastGallery((int)$_REQUEST["galleryId"], $gal_info); > + $podCastGallery = $filegallib->isPodCastGallery((int)$_REQUEST["galleryId"][0], $gal_info); > } > > // Process an upload here > if (isset($_REQUEST["upload"])) { > check_ticket('upload-file'); > > + //print_progress('<script type="text/javascript" src="lib/tiki-js.js"></script>'); > + > $error_msg = ''; > $errors = array(); > $uploads = array(); > @@ -133,6 +155,11 @@ > > $didFileReplace = false; > foreach($_FILES["userfile"]["error"] as $key => $error) { > + if ($prefs['javascript_enabled'] == 'y') { > + print_progress('<?xml version="1.0" encoding="UTF-8"?>'); > + } > + $formId = $_REQUEST['formId']; > + $smarty->assign("FormId",$_REQUEST['formId']); > if (empty($_REQUEST['galleryId'][$key])) continue; > if (!isset($_REQUEST['comment'][$key])) > $_REQUEST['comment'][$key] = ''; > @@ -165,9 +192,11 @@ > $filegallib->process_batch_file_upload($_REQUEST["galleryId"][$key], $_FILES["userfile"]['tmp_name'][$key], $user, $_REQUEST["description"][$key]); > $batch_job = true; > $batch_job_galleryId = $_REQUEST["galleryId"][$key]; > + print_msg(tra('Batch file processed')." $name <br/>",$formId); > continue; > } else { > $errors[] = tra('No permission to upload zipped file packages'); > + print_msg(tra('No permission to upload zipped file packages')."<br/>",$formId); > continue; > } > } > @@ -177,6 +206,7 @@ > $tmp_dest = $prefs['tmpDir'] . "/" . $file_name.".tmp"; > if (!move_uploaded_file($file_tmp_name, $tmp_dest)) { > $errors[] = tra('Errors detected'); > + print_msg(tra('Errors detected'),$formId); > continue; > } > > @@ -184,6 +214,7 @@ > > if (!$fp) { > $errors[] = tra('Cannot read file:').' '.$tmp_dest; > + print_msg(tra('Cannot read file:').' '.$tmp_dest,$formId); > } > > $data = ''; > @@ -207,6 +238,7 @@ > @$fw = fopen($savedir . $fhash, "wb"); > if (!$fw) { > $errors[] = tra('Cannot write to this file:').$savedir.$fhash; > + print_msg(tra('Cannot write to this file:').$savedir.$fhash,$formId); > } > } > > @@ -216,6 +248,7 @@ > } else { > if (($data = fread($fp, 8192 * 16)) === false) { > $errors[] = tra('Cannot read the file:').' '.$tmp_dest; > + print_msg(tra('Cannot read the file:').' '.$tmp_dest,$formId); > } > fwrite($fw, $data); > } > @@ -243,10 +276,12 @@ > > if (!$size) { > $errors[] = tra('Warning: Empty file:').' '.$name.'. '.tra('Please re-upload your file'); > + print_msg(tra('Warning: Empty file:').' '.$name.'. '.tra('Please re-upload your file'),$formId); > } > if (($prefs['fgal_use_db'] == 'y') && (!$podCastGallery)) { > if (!isset($data) || strlen($data) < 1) { > $errors[] = tra('Warning: Empty file:'). ' ' . $name.'. '.tra('Please re-upload your file'); > + print_msg(tra('Warning: Empty file:'). ' ' . $name.'. '.tra('Please re-upload your file'),$formId); > } > } > > @@ -270,6 +305,7 @@ > > if (!$fileId) { > $errors[] = tra('Upload was not successful. Duplicate file content'). ': ' . $name; > + print_msg(tra('Upload was not successful. Duplicate file content'). ': ' . $name,$formId); > if (($prefs['fgal_use_db'] == 'n') || ($podCastGallery)) { > @unlink($savedir . $fhash); > } > @@ -295,6 +331,15 @@ > $cat_name = empty($_REQUEST['name'][$key])? $name: $_REQUEST['name'][$key]; > $cat_href = $aux['dllink']; > include_once ('categorize.php'); > + // Print progress > + if ($prefs['javascript_enabled'] == 'y') { > + $smarty->assign("name",$aux['name']); > + $smarty->assign("size",$aux['size']); > + $smarty->assign("fileId",$aux['fileId']); > + $smarty->assign("dllink",$aux['dllink']); > + $smarty->assign("nextFormId",$_REQUEST['formId']+1); > + print_progress($smarty->fetch("tiki-upload_file_progress.tpl")); > + } > } > } > } > @@ -325,8 +370,8 @@ > } > > // Get the list of galleries to display the select box in the template > -if (isset($_REQUEST["galleryId"])) { > - $smarty->assign_by_ref('galleryId', $_REQUEST["galleryId"]); > +if (isset($_REQUEST["galleryId"][0])) { > + $smarty->assign('galleryId', $_REQUEST["galleryId"][0]); > } else { > $smarty->assign('galleryId', ''); > } > @@ -377,12 +422,13 @@ > $smarty->assign('metatag_robots', 'NOINDEX, NOFOLLOW'); > > // Display the template > -$smarty->assign('mid','tiki-upload_file.tpl'); > -if ( isset($_REQUEST['filegals_manager']) && $_REQUEST['filegals_manager'] != '' ) { > - $smarty->assign('filegals_manager', $_REQUEST['filegals_manager']); > - $smarty->display("tiki-print.tpl"); > -} else { > - $smarty->display("tiki.tpl"); > +if ($prefs['javascript_enabled'] != 'y' or !isset($_REQUEST["upload"])) { > + $smarty->assign('mid','tiki-upload_file.tpl'); > + if ( isset($_REQUEST['filegals_manager']) && $_REQUEST['filegals_manager'] != '' ) { > + $smarty->assign('filegals_manager', $_REQUEST['filegals_manager']); > + $smarty->display("tiki-print.tpl"); > + } else { > + $smarty->display("tiki.tpl"); > + } > } > - > ?> > > > This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs |
From: Stephane C. <se...@lo...> - 2008-11-05 09:33:12
|
Le Tue, Nov 04, 2008 at 02:47:11PM -0500, Sylvie Greverend écrivait : > Since the upload file progress goody. > When we have an error in the database in replace_file, the progress > feature is not stopped and we did not see the error. > Has somebody a good idea how to implement that. Well maybe we should change the way if was implemented ! ;p The message is displayed ok in the good iframe... with a 0x0 size :( So maybe we should juste use ajax to the the job... This way you can get ride of the progress function and use the ajax response to rewrite the content of the progress_n div... It should not be too difficult to modify... but I don't have the time right now :( So go ahead ! ;p A+ -- Stéphane Casset LOGIDÉE sàrl Se faire plaisir d'apprendre 1a, rue Pasteur Tel : +33 388 23 69 77 ca...@lo... F-67540 OSTWALD Fax : +33 388 23 69 77 http://logidee.com |
From: <lph...@us...> - 2008-08-11 23:48:40
|
Revision: 14172 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14172&view=rev Author: lphuberdeau Date: 2008-08-11 23:48:49 +0000 (Mon, 11 Aug 2008) Log Message: ----------- [MRG] Automatic merge, branches/2.0 14152 to 14157 Modified Paths: -------------- trunk/INSTALL trunk/README trunk/lib/imagegals/imagegallib.php Modified: trunk/INSTALL =================================================================== --- trunk/INSTALL 2008-08-11 23:46:44 UTC (rev 14171) +++ trunk/INSTALL 2008-08-11 23:48:49 UTC (rev 14172) @@ -5,32 +5,6 @@ It exists and improves by the participation of people just like YOU. - -IMPORTANT LINKS ---------------- -* General information & overview - http://info.tikiwiki.org - -* Official TikiWiki documentation website - http://doc.tikiwiki.org - -* Forums & community - http://tikiwiki.org/tiki-forums.php - -* Developers - http://dev.tikiwiki.org - -* Themes & styling - http://themes.tikiwiki.org - -* Security - http://security.tikiwiki.org - -* IRC chat channel: #tikiwiki on irc.freenode.net - http://irc.tikiwiki.org/ - - - INSTALLATION ------------ The rest of this document includes parts of the online documentation that @@ -44,9 +18,10 @@ * Your Apache user and group ID (e.g. www-user and www-data) -If you are using the RPM that is available you can skip down to browser-based -installation. +If you are using the RPM that is available you can skip down to step three. +If you are installing on windows with XAMPP, you can also skip down to step three. + These are notes on how to setup and configure TikiWiki. @@ -64,49 +39,34 @@ ----------------------------------------- Step two: run setup.sh to set permissions ----------------------------------------- -CHMOD the file setup.sh to 755. -# chmod 755 setup.sh - - Run .setup and follow the instructions -# ./setup.sh +# sh ./setup.sh -------------------------------------------------------------------- -Step three: run htaccess.sh to make tiki more secure (OPTIONAL STEP) +Step three: create the database -------------------------------------------------------------------- -NOTE: you only should do this if the settings of your servers allow the usage -of .htaccess files. But you can try it out, if it doesn't work for you, you -can revert the changes with one step. +* create a database for TikiWiki + - either using PhpMyAdmin and MySQL + - or on the command line "mysqladmin create dbname" + the database name is usually called "tikiwiki" -CHMOD the file htaccess.sh to 755. "chmod 755 htaccess.sh" +Be sure to record the following items: + - The database name + - The user name and password that has admin authority in the database. -Usage ./htaccess.sh [off] -If you call the script without parameters, it renames all the files named -_htaccess to .htaccess, making them functional. If you get problems with -active .htaccess files, just call the script with the parameter off to rename -the .htaccess files back to _htaccess. That's it! - - - ------------------------------ Step four: browser-based setup ------------------------------ -* create a database for TikiWiki - - often using PhpMyAdmin and MySQL - - or on the command line "mysqladmin create dbname" - the database name is usually called "tikiwiki" * Point your browser to the web address that corresponds to the file tiki-install.php (e.g. http://localhost/tiki/tiki-install.php) * Follow the instructions there you'll need the password and user name for your database * use a profile to populate your database. - default values are very minimal, and basicEnabled maybe suits more - immediate use * To log into TikiWiki for the first time: - user: admin - password: admin @@ -126,7 +86,33 @@ Good luck and have fun with TikiWiki CMS/Groupware! +-------------------------------------------------------------------------------- +IMPORTANT LINKS +--------------- +* General information & overview + http://info.tikiwiki.org + +* Official TikiWiki documentation website + http://doc.tikiwiki.org + +* Forums & community + http://tikiwiki.org/tiki-forums.php + +* Developers + http://dev.tikiwiki.org + +* Themes & styling + http://themes.tikiwiki.org + +* Security + http://security.tikiwiki.org + +* IRC chat channel: #tikiwiki on irc.freenode.net + http://irc.tikiwiki.org/ + + + ps: -Now you may want to come to http://tikiwiki.org and join the community! +Now you may want to come to http://www.tikiwiki.org and join the community! Modified: trunk/README =================================================================== --- trunk/README 2008-08-11 23:46:44 UTC (rev 14171) +++ trunk/README 2008-08-11 23:48:49 UTC (rev 14172) @@ -4,19 +4,14 @@ DOCUMENTATION -* It is highly recommended that you refer to the online documentation: -* http://tikiwiki.org/InstallTiki for a setup guide -* http://tikiwiki.org/InstallTikiHelp for what to do in case of problems -* It might also be helpful to look into the official Manual. Last released - documentation, in pdf format (350 pages) is outdated at the time of this - writing (version 1.6 but with many valuable help). But you can get a - reasonably current PDF-snapshot of doc.tikiwiki.org: - http://sourceforge.net/project/showfiles.php?group_id=64258&package_id=68737 - * The documentation for 2.0 version is under construction on http://doc.tikiwiki.org. You're encouraged to contribute. Current 1.9 documentation still is useful on many points. +* It is highly recommended that you refer to the online documentation: +* http://doc.tikiwiki.org/Installation for a setup guide +* http://doc.tikiwiki.org/Install+Problems for what to do in case of problems + * Notes about the releases are accessible from http://tikiwiki.org/TikiReleases * Tikiwiki has an active IRC channel, #tikiwiki on irc.freenode.net @@ -24,12 +19,12 @@ INSTALLATION * There is a file INSTALL in this directory with notes on how to setup and - configure Tiki. Again, see http://tikiwiki.org/InstallTiki for the latest install help. + configure Tiki. Again, see http://doc.tikiwiki.org/InstallTiki for the latest install help. COPYRIGHT -Copyright (c) 2002-2007, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. All +Copyright (c) 2002-2008, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. All Rights Reserved. See copyright.txt for details and a complete list of authors. Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. Modified: trunk/lib/imagegals/imagegallib.php =================================================================== --- trunk/lib/imagegals/imagegallib.php 2008-08-11 23:46:44 UTC (rev 14171) +++ trunk/lib/imagegals/imagegallib.php 2008-08-11 23:48:49 UTC (rev 14172) @@ -1640,6 +1640,10 @@ if ($newsize = $this->rebuild_image($id, $itype, $xsize, $ysize)) { // removed because this causes endless recursion //return $this->get_image($id, $itype, $newsize["xsize"], $newsize["ysize"]); + + // Since the rescaled image is the one we want, we have to switch to its path and data + $res['path'] = $this->path; + $res['data'] = $this->image; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chi...@us...> - 2008-08-12 04:43:40
|
Revision: 14173 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14173&view=rev Author: chibaguy Date: 2008-08-12 04:43:48 +0000 (Tue, 12 Aug 2008) Log Message: ----------- [ENH] Eliminate redundant "powered by" info display; put pref check around version number and star name (only). Modified Paths: -------------- trunk/styles/darkroom.css trunk/styles/feb12.css trunk/styles/thenews.css trunk/styles/tikinewt.css trunk/templates/credits.tpl trunk/templates/styles/darkroom/credits.tpl trunk/templates/styles/feb12/credits.tpl trunk/templates/styles/thenews/credits.tpl trunk/templates/styles/tikinewt/credits.tpl trunk/templates/tiki-bot_bar.tpl Modified: trunk/styles/darkroom.css =================================================================== --- trunk/styles/darkroom.css 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/styles/darkroom.css 2008-08-12 04:43:48 UTC (rev 14173) @@ -267,7 +267,8 @@ #footer a:visited {font-weight: bold} #footer a:hover {} -#credits {margin-top: .5em} +#power {margin-top: .5em} +#credits {display: inline} .footerbgtrap {} /* end Type 1 layout */ Modified: trunk/styles/feb12.css =================================================================== --- trunk/styles/feb12.css 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/styles/feb12.css 2008-08-12 04:43:48 UTC (rev 14173) @@ -407,7 +407,8 @@ * html #tiki-center {font-size: 1em} #rss {padding: 1em 1em 0} -#credits {} +#power {font-size: 90%} +#credits {display: inline} /** Border boxes (if any) **/ Modified: trunk/styles/thenews.css =================================================================== --- trunk/styles/thenews.css 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/styles/thenews.css 2008-08-12 04:43:48 UTC (rev 14173) @@ -453,9 +453,8 @@ } -#credits { - font-size: .9em; text-align: center; -} +#power {font-size: 90%} +#credits {display: inline} .footerbgtrap {} Modified: trunk/styles/tikinewt.css =================================================================== --- trunk/styles/tikinewt.css 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/styles/tikinewt.css 2008-08-12 04:43:48 UTC (rev 14173) @@ -424,7 +424,8 @@ } -div#credits {font-size: .9em; text-align: center} +#power {font-size: .9em; text-align: center} +div#credits {display: inline} /* this is needed as a little workaround because MSIE tends to display the footer partly without the background specified */ .footerbgtrap { Modified: trunk/templates/credits.tpl =================================================================== --- trunk/templates/credits.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/credits.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -1,4 +1,3 @@ {* $Id$ *} -{if $prefs.feature_topbar_version eq 'y'} -{tr}This is{/tr} Tikiwiki v{$tiki_version} {if $tiki_uses_cvs eq 'y'} (CVS){/if} -{$tiki_star}- © 2002–2008 {tr}by the{/tr} <a href="http://tikiwiki.org" title="tikiwiki.org">{tr}Tiki community{/tr}</a> -{/if} +{* placeholder *} + Modified: trunk/templates/styles/darkroom/credits.tpl =================================================================== --- trunk/templates/styles/darkroom/credits.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/styles/darkroom/credits.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -1 +1 @@ -<a href="http://zukakakina.com" title="Theme design by Gary Cunningham-Lee aka chibaguy">Darkroom</a> {tr}For{/tr} <a href="http://tikiwiki.org" title="{tr}Powered by{/tr} TikiWiki - © 2002–{$smarty.now|date_format:"%Y"} by the Tiki community">TikiWiki CMS/Groupware</a> | + | {tr}Theme{/tr}: <a href="http://zukakakina.com" title="Design by Gary Cunningham-Lee aka chibaguy">Darkroom</a> \ No newline at end of file Modified: trunk/templates/styles/feb12/credits.tpl =================================================================== --- trunk/templates/styles/feb12/credits.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/styles/feb12/credits.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -1 +1 @@ -<a href="http://zukakakina.com" title="Theme design by Gary Cunningham-Lee aka chibaguy">Feb12</a> {tr}For{/tr} <a href="http://tikiwiki.org" title="{tr}Powered by{/tr} TikiWiki - © 2002–{$smarty.now|date_format:"%Y"} by the Tiki community">TikiWiki CMS/Groupware</a> | + | {tr}Theme{/tr}: <a href="http://zukakakina.com" title="Design by Gary Cunningham-Lee aka chibaguy">Feb12</a> Modified: trunk/templates/styles/thenews/credits.tpl =================================================================== --- trunk/templates/styles/thenews/credits.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/styles/thenews/credits.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -1 +1 @@ -<a href="http://zukakakina.com" title="Theme design by Gary Cunningham-Lee aka chibaguy">The News</a> {tr}For{/tr} <a href="http://tikiwiki.org" title="{tr}Powered by{/tr} TikiWiki - © 2002–{$smarty.now|date_format:"%Y"} by the Tiki community">TikiWiki CMS/Groupware</a> | \ No newline at end of file + | {tr}Theme{/tr}: <a href="http://zukakakina.com" title="Design by Gary Cunningham-Lee aka chibaguy">The News</a> \ No newline at end of file Modified: trunk/templates/styles/tikinewt/credits.tpl =================================================================== --- trunk/templates/styles/tikinewt/credits.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/styles/tikinewt/credits.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -1 +1 @@ -<a href="http://zukakakina.com" title="{tr}Design by{/tr} Gary Cunningham-Lee aka chibaguy">Tikinewt</a> {tr}For{/tr} <a href="http://tikiwiki.org" title="TikiWiki - © 2002–{$smarty.now|date_format:"%Y"} by the Tiki community">TikiWiki CMS/Groupware</a> | + | {tr}Theme{/tr}: <a href="http://zukakakina.com" title="Design by Gary Cunningham-Lee aka chibaguy">Tikinewt</a> \ No newline at end of file Modified: trunk/templates/tiki-bot_bar.tpl =================================================================== --- trunk/templates/tiki-bot_bar.tpl 2008-08-11 23:48:49 UTC (rev 14172) +++ trunk/templates/tiki-bot_bar.tpl 2008-08-12 04:43:48 UTC (rev 14173) @@ -60,21 +60,14 @@ {/if} </div> {/if} -<div id="credits"> -{include file="credits.tpl"} -{if $prefs.feature_topbar_date eq 'y'} - {if $prefs.feature_calendar eq 'y' and $tiki_p_view_calendar eq 'y'} - <a href="tiki-calendar.php">{$smarty.now|tiki_short_datetime}</a> - {else} - {$smarty.now|tiki_short_datetime} - {/if} -{/if} -</div> {if $prefs.feature_babelfish eq 'y' or $prefs.feature_babelfish_logo eq 'y'} {include file="babelfish.tpl"} {/if} <div id="power"> - {tr}Powered by{/tr} <a target="_blank" href="http://info.tikiwiki.org" title="{tr}This is{/tr} TikiWiki CMS/Groupware © 2002–2008, {tr}The TikiWiki community{/tr}">{tr}TikiWiki CMS/Groupware{/tr}</a> + {tr}Powered by{/tr} <a href="http://info.tikiwiki.org" title="© 2002–{$smarty.now|date_format:"%Y"} {tr}The TikiWiki Community{/tr}">{tr}TikiWiki CMS/Groupware{/tr}</a> {if $prefs.feature_topbar_version eq 'y'} v{$tiki_version} {if $tiki_uses_cvs eq 'y'} (CVS){/if} -{$tiki_star}- {/if} + <div id="credits"> + {include file="credits.tpl"} + </div> </div> {if $prefs.feature_bot_bar_debug eq 'y'} <div id="loadstats" style="text-align: center"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-12 08:10:33
|
Revision: 14176 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14176&view=rev Author: sept_7 Date: 2008-08-12 08:10:43 +0000 (Tue, 12 Aug 2008) Log Message: ----------- [ENH] : suppress useless SQL queries Modified Paths: -------------- trunk/lib/tikilib.php trunk/tiki-index.php Modified: trunk/lib/tikilib.php =================================================================== --- trunk/lib/tikilib.php 2008-08-12 06:51:34 UTC (rev 14175) +++ trunk/lib/tikilib.php 2008-08-12 08:10:43 UTC (rev 14176) @@ -3153,9 +3153,11 @@ $this->query($query, $bindvars, -1, -1, false); $query = "insert into `tiki_sessions`(`sessionId`,`timestamp`,`user`,`tikihost`) values(?,?,?,?)"; $result = $this->query($query, array($sessionId, (int)$this->now, $user,$_SERVER['HTTP_HOST']), -1, -1, false ); - // clean up adodb sessions as well in case adodb session garbage collection not working - $query = "delete from `sessions` where `expiry`<?"; - $this->query($query, array($oldy)); + if ($prefs['session_db'] == 'y') { + // clean up adodb sessions as well in case adodb session garbage collection not working + $query = "delete from `sessions` where `expiry`<?"; + $this->query($query, array($oldy)); + } return true; } Modified: trunk/tiki-index.php =================================================================== --- trunk/tiki-index.php 2008-08-12 06:51:34 UTC (rev 14175) +++ trunk/tiki-index.php 2008-08-12 08:10:43 UTC (rev 14176) @@ -264,7 +264,11 @@ $smarty->assign('contributors',$contributors); } -$creator = $wikilib->get_creator($page); +if (isset($info['creator'])) { + $creator = $info['creator']; +} else { + $creator = $wikilib->get_creator($page); +} $smarty->assign('creator',$creator); require_once('tiki-pagesetup.php'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-12 17:57:13
|
Revision: 14188 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14188&view=rev Author: sept_7 Date: 2008-08-12 17:57:22 +0000 (Tue, 12 Aug 2008) Log Message: ----------- [FIX] don't include cssmenu if they are not enabled Modified Paths: -------------- trunk/lib/smarty_tiki/function.menu.php trunk/templates/header.tpl Modified: trunk/lib/smarty_tiki/function.menu.php =================================================================== --- trunk/lib/smarty_tiki/function.menu.php 2008-08-12 17:38:32 UTC (rev 14187) +++ trunk/lib/smarty_tiki/function.menu.php 2008-08-12 17:57:22 UTC (rev 14188) @@ -17,7 +17,7 @@ } else { $smarty->assign('link_on_section', 'n'); } - if (isset($css)) { + if (isset($css) and $prefs['feature_cssmenus'] == 'y') { static $idCssmenu; if (isset($type) && ($type == 'vert' || $type == 'horiz')) { $css = "cssmenu_$type.css"; Modified: trunk/templates/header.tpl =================================================================== --- trunk/templates/header.tpl 2008-08-12 17:38:32 UTC (rev 14187) +++ trunk/templates/header.tpl 2008-08-12 17:57:22 UTC (rev 14188) @@ -58,8 +58,10 @@ {if isset($phplayers_headers)}{$phplayers_headers}{/if} {*-- css menus block --*} +{if $prefs.feature_cssmenus eq 'y'} <link rel="StyleSheet" href="css/cssmenu_vert.css" type="text/css"></link> <link rel="StyleSheet" href="css/cssmenu_horiz.css" type="text/css"></link> +{/if} {* --- universaleditbutton.org --- *} {if ($editable and ($tiki_p_edit eq 'y' or $page|lower eq 'sandbox')) or $tiki_p_admin_wiki eq 'y' or $canEditStaging eq 'y'} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-08-13 14:01:12
|
Revision: 14207 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=14207&view=rev Author: sept_7 Date: 2008-08-13 14:01:22 +0000 (Wed, 13 Aug 2008) Log Message: ----------- [FIX] fix problematic cases in tiki-upload_file... Modified Paths: -------------- trunk/lib/freetag/freetaglib.php trunk/lib/setup/freetags.php trunk/tiki-upload_file.php Modified: trunk/lib/freetag/freetaglib.php =================================================================== --- trunk/lib/freetag/freetaglib.php 2008-08-13 13:57:07 UTC (rev 14206) +++ trunk/lib/freetag/freetaglib.php 2008-08-13 14:01:22 UTC (rev 14207) @@ -392,7 +392,7 @@ * - 'user' => The unique ID of the person who tagged the object with this tag. */ function get_tags_on_object($itemId, $type, $offset = 0, $maxRecords = -1, $user = NULL) { - if (!isset($itemId) || !isset($type) || empty($itemId) || empty($type)) { + if (!isset($itemId) || !isset($type) || empty($itemId) || empty($type) || !is_int($itemId) || !is_string($type)) { return false; } Modified: trunk/lib/setup/freetags.php =================================================================== --- trunk/lib/setup/freetags.php 2008-08-13 13:57:07 UTC (rev 14206) +++ trunk/lib/setup/freetags.php 2008-08-13 14:01:22 UTC (rev 14207) @@ -36,9 +36,9 @@ header("Location: $url"); die; } - if (isset($here['itemkey']) and isset($_REQUEST[$here['itemkey']])) { + if (isset($here['itemkey']) and isset($_REQUEST[$here['itemkey']]) and is_int($_REQUEST[$here['itemkey']])) { $tags = $freetaglib->get_tags_on_object($_REQUEST[$here['itemkey']], sprintf($here['itemObjectType'], $_REQUEST[$here['key']])); - } elseif (isset($here['key']) and isset($_REQUEST[$here['key']])) { + } elseif (isset($here['key']) and isset($_REQUEST[$here['key']]) and is_int($_REQUEST[$here['key']])) { $tags = $freetaglib->get_tags_on_object($_REQUEST[$here['key']], $here['objectType']); } else { $tags = array(); Modified: trunk/tiki-upload_file.php =================================================================== --- trunk/tiki-upload_file.php 2008-08-13 13:57:07 UTC (rev 14206) +++ trunk/tiki-upload_file.php 2008-08-13 14:01:22 UTC (rev 14207) @@ -370,7 +370,9 @@ } // Get the list of galleries to display the select box in the template -if (isset($_REQUEST["galleryId"][0])) { +if (isset($_REQUEST["galleryId"]) and is_int($_REQUEST["galleryId"])) { + $smarty->assign('galleryId', $_REQUEST["galleryId"]); +} elseif (isset($_REQUEST["galleryId"][0])) { $smarty->assign('galleryId', $_REQUEST["galleryId"][0]); } else { $smarty->assign('galleryId', ''); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |