From: Reini U. <ru...@us...> - 2004-03-12 21:19:37
|
Update of /cvsroot/phpwiki/phpwiki/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18230 Modified Files: Request.php WikiUserNew.php editpage.php Log Message: important cookie fix by Konstantin Zadorozhny new editpage feature: JS_SEARCHREPLACE Index: Request.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/Request.php,v retrieving revision 1.42 retrieving revision 1.43 diff -u -2 -b -p -d -r1.42 -r1.43 --- Request.php 10 Mar 2004 15:38:48 -0000 1.42 +++ Request.php 12 Mar 2004 20:59:17 -0000 1.43 @@ -457,5 +457,5 @@ class Request_CookieVars { $vars = &$GLOBALS['HTTP_COOKIE_VARS']; if (isset($vars[$key])) { - @$val = unserialize($vars[$key]); + @$val = unserialize(base64_decode($vars[$key])); if (!empty($val)) return $val; @@ -474,5 +474,5 @@ class Request_CookieVars { } - $packedval = serialize($val); + $packedval = base64_encode(serialize($val)); $vars[$key] = $packedval; setcookie($key, $packedval, $expires, '/'); @@ -909,4 +909,8 @@ class HTTP_ValidatorSet { // $Log$ +// Revision 1.43 2004/03/12 20:59:17 rurban +// important cookie fix by Konstantin Zadorozhny +// new editpage feature: JS_SEARCHREPLACE +// // Revision 1.42 2004/03/10 15:38:48 rurban // store current user->page and ->action in session for WhoIsOnline Index: WikiUserNew.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiUserNew.php,v retrieving revision 1.29 retrieving revision 1.30 diff -u -2 -b -p -d -r1.29 -r1.30 --- WikiUserNew.php 11 Mar 2004 13:30:47 -0000 1.29 +++ WikiUserNew.php 12 Mar 2004 20:59:17 -0000 1.30 @@ -543,4 +543,5 @@ extends _WikiUser */ function setPreferences($prefs, $id_only=false) { + global $request; // Allow for multiple wikis in same domain. Encode only the // _prefs array of the UserPreference object. Ideally the @@ -556,5 +557,5 @@ extends _WikiUser if ($updated) { if ($id_only) { - setcookie(WIKI_NAME, serialize(array('userid' => $prefs->get('userid'))), + $request->setCookieVar(WIKI_NAME, serialize(array('userid' => $prefs->get('userid'))), COOKIE_EXPIRATION_DAYS, COOKIE_DOMAIN); } @@ -2195,4 +2196,5 @@ class UserPreferences if (!$packed) return false; + //$packed = base64_decode($packed); if (substr($packed, 0, 2) == "O:") { // Looks like a serialized object @@ -2273,4 +2275,8 @@ extends UserPreferences // $Log$ +// Revision 1.30 2004/03/12 20:59:17 rurban +// important cookie fix by Konstantin Zadorozhny +// new editpage feature: JS_SEARCHREPLACE +// // Revision 1.29 2004/03/11 13:30:47 rurban // fixed File Auth for user and group Index: editpage.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/editpage.php,v retrieving revision 1.60 retrieving revision 1.61 diff -u -2 -b -p -d -r1.60 -r1.61 --- editpage.php 15 Feb 2004 21:34:37 -0000 1.60 +++ editpage.php 12 Mar 2004 20:59:17 -0000 1.61 @@ -5,5 +5,6 @@ require_once('lib/Template.php'); // Not yet enabled, since we cannot convert HTML to Wiki Markup yet. -//Todo: change from constant to user preference variable. (or checkbox setting) +// We might use a HTML PageType, which is contra wiki, but some people might prefer HTML markup. +// Todo: change from constant to user preference variable. (or checkbox setting) if (!defined('USE_HTMLAREA')) define('USE_HTMLAREA',false); if (USE_HTMLAREA) require_once('lib/htmlarea.php'); @@ -97,4 +98,73 @@ class PageEditor $tokens = array_merge($tokens, $this->getFormElements()); + if (defined('JS_SEARCHREPLACE') and JS_SEARCHREPLACE) { + $tokens['JS_SEARCHREPLACE'] = 1; + $GLOBALS['Theme']->addMoreHeaders(Javascript(" +var wart=0, d, f, x='', replacewin, pretxt=new Array(), pretxt_anzahl=0; +var fag='<font face=\"arial,helvetica,sans-serif\" size=\"-1\">', fr='<font color=\"#cc0000\">', spn='<span class=\"grey\">'; + +function define_f() { + f=document.getElementById('editpage'); + f.editarea=document.getElementById('edit[content]'); + if(f.rck.style) f.rck.style.color='#ececec'; +} + +function replace() { + replacewin=window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height=90,width=450'); + replacewin.window.document.write('<html><head><title>"._("Search & Replace")."</title><style type=\"text/css\"><'+'!'+'-- input.btt {font-family:Tahoma,Verdana,Geneva,sans-serif;font-size:10pt} --'+'></style></head><body bgcolor=\"#dddddd\" onload=\"if(document.forms[0].ein.focus) document.forms[0].ein.focus()\"><form><center><table><tr><td align=\"right\">'+fag+'"._("Search").":</font></td><td align=\"left\"><input type=\"text\" name=\"ein\" size=\"50\" maxlength=\"500\"></td></tr><tr><td align=\"right\">'+fag+' "._("Replace with").":</font></td><td align=\"left\"><input type=\"text\" name=\"aus\" size=\"50\" maxlength=\"500\"></td></tr><tr><td colspan=\"2\" align=\"center\"><input class=\"btt\" type=\"button\" value=\" "._("OK")." \" onclick=\"self.opener.do_replace()\"> <input class=\"btt\" type=\"button\" value=\""._("Close")."\" onclick=\"self.close()\"></td></tr></table></center></form></body></html>'); + replacewin.window.document.close(); +} + +function do_replace() { + var txt=pretxt[pretxt_anzahl]=f.editarea.value, ein=new RegExp(replacewin.document.forms[0].ein.value,'g'), aus=replacewin.document.forms[0].aus.value; + if(ein==''||ein==null) { + replacewin.window.document.forms[0].ein.focus(); + return; + } + var z_repl=txt.match(ein)? txt.match(ein).length : 0; + txt=txt.replace(ein,aus); + ein=ein.toString().substring(1,ein.toString().length-2); + result(z_repl, 'Substring \"'+ein+'\" found '+z_repl+' times. Replace with \"'+aus+'\"?', txt, 'String \"'+ein+'\" not found.'); + replacewin.window.focus(); + replacewin.window.document.forms[0].ein.focus(); +} +function result(zahl,frage,txt,alert_txt) { + if(wart!=0&&wart.window) { + wart.window.close(); + wart=0; + } + if(zahl>0) { + if(window.confirm(frage)==true) { + f.editarea.value=txt; + pretxt_anzahl++; + if(f.rck.style) f.rck.style.color='#000000'; + f.rck.value='"._("Undo")."'; + } + } else alert(alert_txt); +} +function rueck() { + if(pretxt_anzahl==0) return; + else if(pretxt_anzahl>0) { + f.editarea.value=pretxt[pretxt_anzahl-1]; + pretxt[pretxt_anzahl]=null; + pretxt_anzahl--; + if(pretxt_anzahl==0) { + alert('Operation undone.'); + if(f.rck.style) f.rck.style.color='#ececec'; + f.rck.value='("._("Undo").")'; + if(f.rck.blur) f.rck.blur(); + } + } +} +function speich() { + pretxt[pretxt_anzahl]=f.editarea.value; + pretxt_anzahl++; + if(f.rck.style) f.rck.style.color='#000000'; + f.rck.value='"._("Undo")."'; +} +")); + $GLOBALS['Theme']->addMoreAttr('body'," onload='define_f()'"); + } + return $this->output('editpage', _("Edit: %s")); } @@ -543,4 +613,8 @@ extends PageEditor /** $Log$ + Revision 1.61 2004/03/12 20:59:17 rurban + important cookie fix by Konstantin Zadorozhny + new editpage feature: JS_SEARCHREPLACE + Revision 1.60 2004/02/15 21:34:37 rurban PageList enhanced and improved. |