From: Sylvie G. <sgr...@gm...> - 2009-01-31 13:25:26
|
Johannes, I know it is 2 months ago but polls are not very used and your commit was full of indentation change that makes control harder. I think I will rollback more or less your commit if you do not give me some good reasons 1) it is not preserving the existing. You created a table tiki_poll_votes to put the votes. But what about the previous votes that were in tiki_user_votings. You did not do a query to move the vote or a insert both search in the code 2) Why do you create a new table. You can have put the time in tiki_user_votings, it can be interesting for any vote to know when it has been done 3) why implementing the authenticity at a poll level. It is a general rating feature and it must be managed at the rating level. To have a feature on cookie (I do not believe IP is a good choose) protection to control anonymous voting is good . It is true that the control that was done only on a session level can be improved with a cookie. So I propose to add a time column in tiki_user_votings and to add a cookie control in user_has_voted I do think it is worst to vote the poll form tiki_poll_votes to tiki_user_votings because he may be the only one to use the poll in trunk - Otherwise we would have people complains thanks sylvie On Thu, 2008-11-20 at 22:58 +0000, joh...@us... wrote: > Revision: 15709 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=15709&view=rev > Author: johannesmoser > Date: 2008-11-20 22:58:29 +0000 (Thu, 20 Nov 2008) > > Log Message: > ----------- > Added additional functionality to the tikiwiki polls > * better usability > * settings for vote authenticy > * better layout for polls in wiki pages > > database > * new table for votes > * new column in tiki_polls > > minor changes > * load data -> update database race condition > * shows titles of polloptions > > Modified Paths: > -------------- > trunk/db/tiki.sql > trunk/lib/polls/polllib_shared.php > trunk/lib/setup/polls.php > trunk/lib/tiki-js.js > trunk/poll_categorize.php > trunk/styles/tikineat.css > trunk/templates/tiki-admin_polls.tpl > trunk/templates/tiki-plugin_poll.tpl > trunk/templates/tiki-poll_results.tpl > trunk/tiki-admin_polls.php > trunk/tiki-poll_results.php > > Added Paths: > ----------- > trunk/installer/schema/20081120_tiki_poll_structures_update.sql > > Modified: trunk/db/tiki.sql > =================================================================== > --- trunk/db/tiki.sql 2008-11-20 22:40:12 UTC (rev 15708) > +++ trunk/db/tiki.sql 2008-11-20 22:58:29 UTC (rev 15709) > @@ -1768,9 +1768,20 @@ > votes int(8) default NULL, > active char(1) default NULL, > publishDate int(14) default NULL, > + anonym enum( 'a', 'u', 'i', 'c' ) NOT NULL DEFAULT 'u', > PRIMARY KEY (pollId) > ) ENGINE=MyISAM AUTO_INCREMENT=1 ; > > +DROP TABLE IF EXISTS `tiki_poll_votes`; > +CREATE TABLE IF NOT EXISTS `tiki_poll_votes` ( > + `pollId` int(11) NOT NULL, > + `optionId` int(11) NOT NULL, > + `voteId` int(11) NOT NULL auto_increment, > + `identification` varchar(300) NOT NULL, > + `time` int(11) NOT NULL, > + PRIMARY KEY (`voteId`) > +) ENGINE=MyISAM AUTO_INCREMENT=1 ; > + > DROP TABLE IF EXISTS tiki_preferences; > CREATE TABLE tiki_preferences ( > name varchar(40) NOT NULL default '', > > Added: trunk/installer/schema/20081120_tiki_poll_structures_update.sql > =================================================================== > --- trunk/installer/schema/20081120_tiki_poll_structures_update.sql (rev 0) > +++ trunk/installer/schema/20081120_tiki_poll_structures_update.sql 2008-11-20 22:58:29 UTC (rev 15709) > @@ -0,0 +1,10 @@ > +#2008-11-20 JohannesMoser > +ALTER TABLE `tiki_polls` ADD `anonym` ENUM( 'a', 'u', 'i', 'c' ) NOT NULL DEFAULT 'u'; > +CREATE TABLE IF NOT EXISTS `tiki_poll_votes` ( > + `pollId` int(11) NOT NULL, > + `optionId` int(11) NOT NULL, > + `voteId` int(11) NOT NULL auto_increment, > + `identification` varchar(300) NOT NULL, > + `time` int(11) NOT NULL, > + PRIMARY KEY (`voteId`) > +) ENGINE=MyISAM AUTO_INCREMENT=1 ; > \ No newline at end of file > > Modified: trunk/lib/polls/polllib_shared.php > =================================================================== > --- trunk/lib/polls/polllib_shared.php 2008-11-20 22:40:12 UTC (rev 15708) > +++ trunk/lib/polls/polllib_shared.php 2008-11-20 22:58:29 UTC (rev 15709) > @@ -106,7 +106,7 @@ > } > } > } > - > + > function get_rating($cat_type,$cat_objid) { > $catObjectId = $this->getOne("select `objectId` from `tiki_objects` where `type`=? and `itemId`=?",array($cat_type,$cat_objid)); > if ($catObjectId and $catObjectId > 0) { > @@ -119,7 +119,7 @@ > } > return false; > } > - > + > function remove_poll($pollId) { > $query = "delete from `tiki_poll_objects` where `pollId`=?"; > $result = $this->query($query,array((int) $pollId)); > @@ -143,15 +143,16 @@ > $query = "select count(*) from `tiki_poll_objects` where `catObjectId`=?"; > return $this->getOne($query,array((int)$catObjectId)); > } > - > + > function remove_object_poll($cat_type,$cat_objid) { > $catObjectId = $this->get_catObjectId($cat_type,$cat_objid); > $this->query("delete from `tiki_poll_objects` where `catObjectId`=?",array((int)$catObjectId)); > return true; > } > - > + > function create_poll($template_id,$title) { > - $pollid = $this->replace_poll(0,$title,"o",date('U')); > + $anonym = $this->getOne( "SELECT `anonym` FROM `tiki_polls` WHERE `pollId`=?", array((int)$template_id) ); > + $pollid = $this->replace_poll(0,$title,"o",date('U'),$anonym); > $options = $this->list_poll_options($template_id); > foreach ($options as $op) { > $this->replace_poll_option($pollid,0,$op['title'],$op['position']); > @@ -170,18 +171,18 @@ > return true; > } > > - function replace_poll($pollId, $title, $active, $publishDate) { > + function replace_poll($pollId, $title, $active, $publishDate,$anonym) { > if ($pollId) { > - $query = "update `tiki_polls` set `title`=?,`active`=?,`publishDate`=? where `pollId`=?"; > - $result = $this->query($query,array($title,$active,$publishDate,$pollId)); > + $query = "update `tiki_polls` set `title`=?,`active`=?,`publishDate`=?,`anonym`=? where `pollId`=?"; > + $result = $this->query($query,array($title,$active,$publishDate,$anonym,$pollId)); > } else { > - $query = "insert into tiki_polls(`title`,`active`,`publishDate`,`votes`) values(?,?,?,?)"; > - $result = $this->query($query,array($title,$active,$publishDate,0)); > + $query = "insert into tiki_polls(`title`,`active`,`publishDate`,`votes`,`anonym`) values(?,?,?,?,?)"; > + $result = $this->query($query,array($title,$active,$publishDate,0,$anonym)); > $pollId = $this->getOne("select max(`pollId`) from `tiki_polls` where `title`=? and `publishDate`=?",array($title,$publishDate)); > } > return $pollId; > } > - > + > function poll_categorize($catObjectId,$pollId,$title='') { > $query = "delete from `tiki_poll_objects` where `catObjectId`=? and `pollId`=?"; > $result = $this->query($query,array((int) $catObjectId,(int) $pollId),-1,-1,false); > @@ -205,7 +206,7 @@ > while ($res = $result->fetchRow()) { > $ret[] = $res; > } > - return $ret; > + return $ret; > } > > > @@ -227,6 +228,45 @@ > return $pollId_new; > } > > + function id_has_voted($pollId,$identification) > + { > + $qry = 'SELECT count(*) FROM `tiki_poll_votes` WHERE `pollId`=? AND `identification`=?'; > + return (int)$this->getOne($qry, array((int)$pollId, $identification))>0; > + } > + > + function register_id_vote($pollId,$optionId,$identification) > + { > + $this->query( 'INSERT INTO `tiki_poll_votes` (`pollId`,`optionId`,`identification`,`time`) VALUES(?,?,?,?)' > + ,array((int)$pollId,(int)$optionId,$identification,time())); > + } > + > + function list_votes($id, $offset=0, $maxRecords=-1, $sort_mode='user_asc', $find='') > + { > + $mid = 'where `pollId`=?'; > + $bindvars[] = $id; > + if (!empty($find)) { > + $mid .= " and `identification` like ?"; > + $bindvars[] = '%'.$find.'%'; > + } > + $query = "select * from `tiki_poll_votes` $mid order by ".$this->convert_sortmode($sort_mode); > + $query_cant = "select count(*) from `tiki_poll_votes` $mid"; > + $result = $this->query($query, $bindvars, $maxRecords, $offset); > + $cant = $this->getOne($query_cant, $bindvars); > + $ret = array(); > + $options = array(); > + while ($res = $result->fetchRow()) { > + $ret[] = $res; > + $optionRes = $this->query( "SELECT `title` FROM `tiki_poll_options` WHERE `optionId`=?;", array( (int)$res[ 'optionId' ] ) ); > + $optionRes = $optionRes->fetchRow(); > + $options[] = $optionRes[ 'title' ]; > + } > + $retval = array(); > + $retval["data"] = $ret; > + $retval["cant"] = $cant; > + $retval["options"] = $options; > + return $retval; > + } > + > } > global $dbTiki; > $polllib = new PollLibShared($dbTiki); > > Modified: trunk/lib/setup/polls.php > =================================================================== > --- trunk/lib/setup/polls.php 2008-11-20 22:40:12 UTC (rev 15708) > +++ trunk/lib/setup/polls.php 2008-11-20 22:58:29 UTC (rev 15709) > @@ -15,10 +15,17 @@ > if ( ! isset($polllib) or ! is_object($polllib) ) { > include_once('lib/polls/polllib_shared.php'); > } > - if ($prefs['feature_poll_revote'] == 'y' || !$tikilib->user_has_voted($user, 'poll'.$_REQUEST['polls_pollId'])) { > + $identification = $user; > + $pollinfo = $polllib->get_poll($_REQUEST['polls_pollId']); > + $anonym=$pollinfo['anonym']; > + if($anonym=='i') $identification=$_SERVER['REMOTE_ADDR']; > + if($anonym=='c') $identification = ( isset($_COOKIE['tiki_wiki_poll_'.$_REQUEST['polls_pollId']]) > + ? $_COOKIE['tiki_wiki_poll_'.$_REQUEST['polls_pollId']] : MD5(time().'_'.rand(0,1000)) ); > + if($anonym=='a'||!$polllib->id_has_voted($_REQUEST['polls_pollId'],$identification)) { > $polllib->poll_vote($user, $_REQUEST['polls_pollId'], $_REQUEST['polls_optionId']); > // Poll vote must go first, or the new vote will be seen as the previous one. > - $tikilib->register_user_vote($user, 'poll' . $_REQUEST['polls_pollId'], $_REQUEST['polls_optionId']); > + if($anonym!='a') $polllib->register_id_vote($_REQUEST['polls_pollId'], $_REQUEST['polls_optionId'],$identification); > + if($anonym=='c') setcookie('tiki_wiki_poll_'.$_REQUEST['polls_pollId'],$identification,time()+60*60*24*300); > } > } > } > > Modified: trunk/lib/tiki-js.js > =================================================================== > --- trunk/lib/tiki-js.js 2008-11-20 22:40:12 UTC (rev 15708) > +++ trunk/lib/tiki-js.js 2008-11-20 22:58:29 UTC (rev 15709) > @@ -23,287 +23,287 @@ > > function getElementById(id) { > if (document.all) { > - return document.getElementById(id); > + return document.getElementById(id); > } > for (i=0;i<document.forms.length;i++) { > - if (document.forms[i].elements[id]) {return document.forms[i].elements[id]; } > + if (document.forms[i].elements[id]) {return document.forms[i].elements[id]; } > } > } > > /* toggle CSS (tableless) layout columns */ > function toggleCols(id,zeromargin,maincol) { > - var showit = 'show_' + escape(id); > - if (!zeromargin) var zeromargin = ''; > - if (!id) var id = ''; > - if (!maincol) var maincol = 'col1'; > - if (document.getElementById(id).style.display == "none") { > - document.getElementById(id).style.display = "block"; > - if (zeromargin == 'left') { > - document.getElementById(maincol).style.marginLeft = ''; > - setSessionVar(showit,'y'); > - } else { > - document.getElementById(maincol).style.marginRight = ''; > - setSessionVar(showit,'y'); > - } > - } else { > - document.getElementById(id).style.display = "none"; > - if (zeromargin == 'left') { > - document.getElementById(maincol).style.marginLeft = '0'; > - setSessionVar(showit,'n'); > - } else { > - document.getElementById(maincol).style.marginRight = '0'; > - setSessionVar(showit,'n'); > - } > - } > + var showit = 'show_' + escape(id); > + if (!zeromargin) var zeromargin = ''; > + if (!id) var id = ''; > + if (!maincol) var maincol = 'col1'; > + if (document.getElementById(id).style.display == "none") { > + document.getElementById(id).style.display = "block"; > + if (zeromargin == 'left') { > + document.getElementById(maincol).style.marginLeft = ''; > + setSessionVar(showit,'y'); > + } else { > + document.getElementById(maincol).style.marginRight = ''; > + setSessionVar(showit,'y'); > + } > + } else { > + document.getElementById(id).style.display = "none"; > + if (zeromargin == 'left') { > + document.getElementById(maincol).style.marginLeft = '0'; > + setSessionVar(showit,'n'); > + } else { > + document.getElementById(maincol).style.marginRight = '0'; > + setSessionVar(showit,'n'); > + } > + } > } > > function toggle_dynamic_var(name) { > - name1 = 'dyn_'+name+'_display'; > - name2 = 'dyn_'+name+'_edit'; > - if(document.getElementById(name1).style.display == "none") { > - document.getElementById(name2).style.display = "none"; > - document.getElementById(name1).style.display = "inline"; > - } else { > - document.getElementById(name1).style.display = "none"; > - document.getElementById(name2).style.display = "inline"; > - > - } > - > + name1 = 'dyn_'+name+'_display'; > + name2 = 'dyn_'+name+'_edit'; > + if(document.getElementById(name1).style.display == "none") { > + document.getElementById(name2).style.display = "none"; > + document.getElementById(name1).style.display = "inline"; > + } else { > + document.getElementById(name1).style.display = "none"; > + document.getElementById(name2).style.display = "inline"; > + > + } > + > } > > function chgArtType() { > articleType = document.getElementById('articletype').value; > typeProperties = articleTypes[articleType]; > > - propertyList = new Array('show_topline','y', > - 'show_subtitle','y', > - 'show_linkto','y', > - 'show_lang','y', > - 'show_author','y', > - 'use_ratings','y', > - 'heading_only','n', > - 'show_image_caption','y', > - 'show_pre_publ','y', > - 'show_post_expire','y', > - 'show_image','y' > - ); > + propertyList = new Array('show_topline','y', > + 'show_subtitle','y', > + 'show_linkto','y', > + 'show_lang','y', > + 'show_author','y', > + 'use_ratings','y', > + 'heading_only','n', > + 'show_image_caption','y', > + 'show_pre_publ','y', > + 'show_post_expire','y', > + 'show_image','y' > + ); > > - var l = propertyList.length; > - for (var i=0; i<l; i++) { > - property = propertyList[i++]; > - value = propertyList[i]; > - > - if (typeProperties[property] == value) { > - display = ""; > - } else { > - display = "none"; > - } > - > - if (document.getElementById(property)) { > - document.getElementById(property).style.display = display; > - } else { > - j = 1; > - while (document.getElementById(property+'_'+j)) { > - document.getElementById(property+'_'+j).style.display=display; > - j++; > - } > - } > + var l = propertyList.length; > + for (var i=0; i<l; i++) { > + property = propertyList[i++]; > + value = propertyList[i]; > > - } > + if (typeProperties[property] == value) { > + display = ""; > + } else { > + display = "none"; > + } > + > + if (document.getElementById(property)) { > + document.getElementById(property).style.display = display; > + } else { > + j = 1; > + while (document.getElementById(property+'_'+j)) { > + document.getElementById(property+'_'+j).style.display=display; > + j++; > + } > + } > + > + } > } > > function chgMailinType() { > - if (document.getElementById('mailin_type').value != 'article-put') { > - document.getElementById('article_topic').style.display = "none"; > - document.getElementById('article_type').style.display = "none"; > - } else { > - document.getElementById('article_topic').style.display = ""; > - document.getElementById('article_type').style.display = ""; > - } > + if (document.getElementById('mailin_type').value != 'article-put') { > + document.getElementById('article_topic').style.display = "none"; > + document.getElementById('article_type').style.display = "none"; > + } else { > + document.getElementById('article_topic').style.display = ""; > + document.getElementById('article_type').style.display = ""; > + } > } > > function toggleSpan(id) { > - if (document.getElementById(id).style.display == "inline") { > - document.getElementById(id).style.display = "none"; > - } else { > - document.getElementById(id).style.display = "inline"; > - } > + if (document.getElementById(id).style.display == "inline") { > + document.getElementById(id).style.display = "none"; > + } else { > + document.getElementById(id).style.display = "inline"; > + } > } > > function toggleBlock(id) { > - if (document.getElementById(id).style.display == "none") { > - document.getElementById(id).style.display = "block"; > - } else { > - document.getElementById(id).style.display = "none"; > - } > + if (document.getElementById(id).style.display == "none") { > + document.getElementById(id).style.display = "block"; > + } else { > + document.getElementById(id).style.display = "none"; > + } > } > > function toggleTrTd(id) { > - if (document.getElementById(id).style.display == "none") { > - document.getElementById(id).style.display = ""; > - } else { > - document.getElementById(id).style.display = "none"; > - } > + if (document.getElementById(id).style.display == "none") { > + document.getElementById(id).style.display = ""; > + } else { > + document.getElementById(id).style.display = "none"; > + } > } > > function showTocToggle() { > - if (document.createTextNode) { > - // Uses DOM calls to avoid document.write + XHTML issues > + if (document.createTextNode) { > + // Uses DOM calls to avoid document.write + XHTML issues > > - var linkHolder = document.getElementById('toctitle') > - if (!linkHolder) return; > + var linkHolder = document.getElementById('toctitle') > + if (!linkHolder) return; > > - var outerSpan = document.createElement('span'); > - outerSpan.className = 'toctoggle'; > + var outerSpan = document.createElement('span'); > + outerSpan.className = 'toctoggle'; > > - var toggleLink = document.createElement('a'); > - toggleLink.id = 'togglelink'; > - toggleLink.className = 'internal'; > - toggleLink.href = 'javascript:toggleToc()'; > - toggleLink.appendChild(document.createTextNode(tocHideText)); > + var toggleLink = document.createElement('a'); > + toggleLink.id = 'togglelink'; > + toggleLink.className = 'internal'; > + toggleLink.href = 'javascript:toggleToc()'; > + toggleLink.appendChild(document.createTextNode(tocHideText)); > > - outerSpan.appendChild(document.createTextNode('[')); > - outerSpan.appendChild(toggleLink); > - outerSpan.appendChild(document.createTextNode(']')); > + outerSpan.appendChild(document.createTextNode('[')); > + outerSpan.appendChild(toggleLink); > + outerSpan.appendChild(document.createTextNode(']')); > > - linkHolder.appendChild(document.createTextNode(' ')); > - linkHolder.appendChild(outerSpan); > - if (getCookie("hidetoc") == "1" ) toggleToc(); > - } > + linkHolder.appendChild(document.createTextNode(' ')); > + linkHolder.appendChild(outerSpan); > + if (getCookie("hidetoc") == "1" ) toggleToc(); > + } > } > > function changeText(el, newText) { > - // Safari work around > - if (el.innerText) > - el.innerText = newText; > - else if (el.firstChild && el.firstChild.nodeValue) > - el.firstChild.nodeValue = newText; > + // Safari work around > + if (el.innerText) > + el.innerText = newText; > + else if (el.firstChild && el.firstChild.nodeValue) > + el.firstChild.nodeValue = newText; > } > > function toggleToc() { > - var toc = document.getElementById('toc').getElementsByTagName('ul')[0]; > - var toggleLink = document.getElementById('togglelink') > + var toc = document.getElementById('toc').getElementsByTagName('ul')[0]; > + var toggleLink = document.getElementById('togglelink') > > - if (toc && toggleLink && toc.style.display == 'none') { > - changeText(toggleLink, tocHideText); > - toc.style.display = 'block'; > - setCookie("hidetoc","0"); > - } else { > - changeText(toggleLink, tocShowText); > - toc.style.display = 'none'; > - setCookie("hidetoc","1"); > - } > + if (toc && toggleLink && toc.style.display == 'none') { > + changeText(toggleLink, tocHideText); > + toc.style.display = 'block'; > + setCookie("hidetoc","0"); > + } else { > + changeText(toggleLink, tocShowText); > + toc.style.display = 'none'; > + setCookie("hidetoc","1"); > + } > } > > function chgTrkFld(f,o) { > - var opt = 0; > - document.getElementById('z').style.display = "none"; > - document.getElementById('zDescription').style.display = ""; > - document.getElementById('zStaticText').style.display = "none"; > - document.getElementById('zStaticTextQuicktags').style.display = "none"; > + var opt = 0; > + document.getElementById('z').style.display = "none"; > + document.getElementById('zDescription').style.display = ""; > + document.getElementById('zStaticText').style.display = "none"; > + document.getElementById('zStaticTextQuicktags').style.display = "none"; > > - for (var i = 0; i < f.length; i++) { > - var c = f.charAt(i); > - if (document.getElementById(c)) { > - var ichoiceParent = document.getElementById('itemChoicesRow'); > - var ichoice = document.getElementById(c + 'itemChoices'); > - if (c == o) { > - document.getElementById(c).style.display = ""; > - document.getElementById('z').style.display = "block"; > - if (c == 'S') { > - document.getElementById('zDescription').style.display = "none"; > - document.getElementById('zStaticText').style.display = ""; > - document.getElementById('zStaticTextQuicktags').style.display = ""; > - } > - if (ichoice) { > - ichoice.style.display = ""; > - ichoiceParent.style.display = ""; > - } else { > - ichoiceParent.style.display = "none"; > - } > - } else { > - document.getElementById(c).style.display = "none"; > - if (ichoice) { > - ichoice.style.display = "none"; > - } > - } > - } > - } > + for (var i = 0; i < f.length; i++) { > + var c = f.charAt(i); > + if (document.getElementById(c)) { > + var ichoiceParent = document.getElementById('itemChoicesRow'); > + var ichoice = document.getElementById(c + 'itemChoices'); > + if (c == o) { > + document.getElementById(c).style.display = ""; > + document.getElementById('z').style.display = "block"; > + if (c == 'S') { > + document.getElementById('zDescription').style.display = "none"; > + document.getElementById('zStaticText').style.display = ""; > + document.getElementById('zStaticTextQuicktags').style.display = ""; > + } > + if (ichoice) { > + ichoice.style.display = ""; > + ichoiceParent.style.display = ""; > + } else { > + ichoiceParent.style.display = "none"; > + } > + } else { > + document.getElementById(c).style.display = "none"; > + if (ichoice) { > + ichoice.style.display = "none"; > + } > + } > + } > + } > } > > function chgTrkLingual(item) { > - document.getElementById("multilabelRow").style.display = ( item == 't' || item == 'a' ) ? '' : 'none'; > + document.getElementById("multilabelRow").style.display = ( item == 't' || item == 'a' ) ? '' : 'none'; > } > > function multitoggle(f,o) { > - for (var i = 0; i < f.length; i++) { > - if (document.getElementById('fid'+f[i])) { > - if (f[i] == o) { > - document.getElementById('fid'+f[i]).style.display = "block"; > - } else { > - document.getElementById('fid'+f[i]).style.display = "none"; > - } > - } > - } > + for (var i = 0; i < f.length; i++) { > + if (document.getElementById('fid'+f[i])) { > + if (f[i] == o) { > + document.getElementById('fid'+f[i]).style.display = "block"; > + } else { > + document.getElementById('fid'+f[i]).style.display = "none"; > + } > + } > + } > } > > function setMenuCon(foo) { > - var it = foo.split(","); > - document.getElementById('menu_url').value = it[0]; > - document.getElementById('menu_name').value = it[1]; > - if (it[2]) { > - document.getElementById('menu_section').value = it[2]; > - } else { > - document.getElementById('menu_section').value = ''; > - } > - if (it[3]) { > - document.getElementById('menu_perm').value = it[3]; > - } else { > - document.getElementById('menu_perm').value = ''; > - } > + var it = foo.split(","); > + document.getElementById('menu_url').value = it[0]; > + document.getElementById('menu_name').value = it[1]; > + if (it[2]) { > + document.getElementById('menu_section').value = it[2]; > + } else { > + document.getElementById('menu_section').value = ''; > + } > + if (it[3]) { > + document.getElementById('menu_perm').value = it[3]; > + } else { > + document.getElementById('menu_perm').value = ''; > + } > } > > function genPass(w1, w2, w3) { > - vo = "aeiouAEU"; > + vo = "aeiouAEU"; > > - co = "bcdfgjklmnprstvwxzBCDFGHJKMNPQRSTVWXYZ0123456789_$%#"; > - s = Math.round(Math.random()); > - l = 8; > - p = ''; > + co = "bcdfgjklmnprstvwxzBCDFGHJKMNPQRSTVWXYZ0123456789_$%#"; > + s = Math.round(Math.random()); > + l = 8; > + p = ''; > > - for (i = 0; i < l; i++) { > - if (s) { > - letter = vo.charAt(Math.round(Math.random() * (vo.length - 1))); > + for (i = 0; i < l; i++) { > + if (s) { > + letter = vo.charAt(Math.round(Math.random() * (vo.length - 1))); > > - s = 0; > - } else { > - letter = co.charAt(Math.round(Math.random() * (co.length - 1))); > + s = 0; > + } else { > + letter = co.charAt(Math.round(Math.random() * (co.length - 1))); > > - s = 1; > - } > + s = 1; > + } > > - p = p + letter; > - } > + p = p + letter; > + } > > - document.getElementById(w1).value = p; > - document.getElementById(w2).value = p; > - document.getElementById(w3).value = p; > + document.getElementById(w1).value = p; > + document.getElementById(w2).value = p; > + document.getElementById(w3).value = p; > } > > function setUserModule(foo1) { > - document.getElementById('usermoduledata').value = foo1; > + document.getElementById('usermoduledata').value = foo1; > } > > function setSomeElement(fooel, foo1) { > - document.getElementById(fooel).value = document.getElementById(fooel).value + foo1; > + document.getElementById(fooel).value = document.getElementById(fooel).value + foo1; > } > > function replaceSome(fooel, what, repl) { > - document.getElementById(fooel).value = document.getElementById(fooel).value.replace(what, repl); > + document.getElementById(fooel).value = document.getElementById(fooel).value.replace(what, repl); > } > > function replaceLimon(vec) { > - document.getElementById(vec[0]).value = document.getElementById(vec[0]).value.replace(vec[1], vec[2]); > + document.getElementById(vec[0]).value = document.getElementById(vec[0]).value.replace(vec[1], vec[2]); > } > > function replaceImgSrc(imgName,replSrc) { > @@ -327,134 +327,134 @@ > setSelectionRange(textarea, pos, pos); > } > function insertAt(elementId, replaceString) { > - //inserts given text at selection or cursor position > - textarea = getElementById(elementId); > - var toBeReplaced = /text|page|area_name/g; //substrings in replaceString to be replaced by the selection if a selection was done > - if (textarea.setSelectionRange) { > - //Mozilla UserAgent Gecko-1.4 > - var selectionStart = textarea.selectionStart; > - var selectionEnd = textarea.selectionEnd; > - var scrollTop=textarea.scrollTop; > - if (selectionStart != selectionEnd) { // has there been a selection > - var newString = replaceString.replace(toBeReplaced, textarea.value.substring(selectionStart, selectionEnd)); > - textarea.value = textarea.value.substring(0, selectionStart) > - + newString > - + textarea.value.substring(selectionEnd); > - setSelectionRange(textarea, selectionStart, selectionStart + newString.length); > - } > - else {// set caret > - textarea.value = textarea.value.substring(0, selectionStart) > - + replaceString > - + textarea.value.substring(selectionEnd); > - setCaretToPos(textarea, selectionStart + replaceString.length); > - } > - textarea.scrollTop=scrollTop; > - } > - else if (document.selection) { > - //UserAgent IE-6.0 > - textarea.focus(); > - var range = document.selection.createRange(); > - if (range.parentElement() == textarea) { > - var isCollapsed = range.text == ''; > - if (! isCollapsed) { > - range.text = replaceString.replace(toBeReplaced, range.text); > - range.moveStart('character', -range.text.length); > - range.select(); > - } > - else { > - range.text = replaceString; > - } > - } > - } > - else { //UserAgent Gecko-1.0.1 (NN7.0) > - setSomeElement(elementId, replaceString) > - //alert("don't know yet how to handle insert" + document); > - } > + //inserts given text at selection or cursor position > + textarea = getElementById(elementId); > + var toBeReplaced = /text|page|area_name/g; //substrings in replaceString to be replaced by the selection if a selection was done > + if (textarea.setSelectionRange) { > + //Mozilla UserAgent Gecko-1.4 > + var selectionStart = textarea.selectionStart; > + var selectionEnd = textarea.selectionEnd; > + var scrollTop=textarea.scrollTop; > + if (selectionStart != selectionEnd) { // has there been a selection > + var newString = replaceString.replace(toBeReplaced, textarea.value.substring(selectionStart, selectionEnd)); > + textarea.value = textarea.value.substring(0, selectionStart) > + + newString > + + textarea.value.substring(selectionEnd); > + setSelectionRange(textarea, selectionStart, selectionStart + newString.length); > + } > + else {// set caret > + textarea.value = textarea.value.substring(0, selectionStart) > + + replaceString > + + textarea.value.substring(selectionEnd); > + setCaretToPos(textarea, selectionStart + replaceString.length); > + } > + textarea.scrollTop=scrollTop; > + } > + else if (document.selection) { > + //UserAgent IE-6.0 > + textarea.focus(); > + var range = document.selection.createRange(); > + if (range.parentElement() == textarea) { > + var isCollapsed = range.text == ''; > + if (! isCollapsed) { > + range.text = replaceString.replace(toBeReplaced, range.text); > + range.moveStart('character', -range.text.length); > + range.select(); > + } > + else { > + range.text = replaceString; > + } > + } > + } > + else { //UserAgent Gecko-1.0.1 (NN7.0) > + setSomeElement(elementId, replaceString) > + //alert("don't know yet how to handle insert" + document); > + } > } > > function setUserModuleFromCombo(id) { > - document.getElementById('usermoduledata').value = document.getElementById('usermoduledata').value > - + document.getElementById(id).options[document.getElementById(id).selectedIndex].value; > + document.getElementById('usermoduledata').value = document.getElementById('usermoduledata').value > + + document.getElementById(id).options[document.getElementById(id).selectedIndex].value; > //document.getElementById('usermoduledata').value='das'; > } > > > function show(foo,f,section) { > - document.getElementById(foo).style.display = "block"; > - if (f) { setCookie(foo, "o", section); } > + document.getElementById(foo).style.display = "block"; > + if (f) { setCookie(foo, "o", section); } > } > > function hide(foo,f, section) { > - if (document.getElementById(foo)) { > - document.getElementById(foo).style.display = "none"; > - if (f) { > - var wasnot = getCookie(foo, section, 'x') == 'x'; > - setCookie(foo, "c", section); > - if (wasnot) { > - history.go(0); > - } > - } > - } > + if (document.getElementById(foo)) { > + document.getElementById(foo).style.display = "none"; > + if (f) { > + var wasnot = getCookie(foo, section, 'x') == 'x'; > + setCookie(foo, "c", section); > + if (wasnot) { > + history.go(0); > + } > + } > + } > } > > function flip_multi(foo,style) { > - showit = 'show_' + escape(foo); > + showit = 'show_' + escape(foo); > > - if (style == null) style = 'block'; > - if (this.iewin && style == 'table-cell') { > - style = 'block'; > - } > + if (style == null) style = 'block'; > + if (this.iewin && style == 'table-cell') { > + style = 'block'; > + } > > - //FIXME > - elements = document.getElementsByName(foo); > - for (i=0 ; i < elements.length; i++) { > - if (elements[i].style.display == "none") { > - elements[i].style.display = style; > - setSessionVar(showit,'y'); > - } else { > - if (elements[i].style.display == style) { > - elements[i].style.display = "none"; > - setSessionVar(showit, 'n'); > - } else { > - elements[i].style.display = style; > - setSessionVar(showit, 'y'); > - } > - } > - } > + //FIXME > + elements = document.getElementsByName(foo); > + for (i=0 ; i < elements.length; i++) { > + if (elements[i].style.display == "none") { > + elements[i].style.display = style; > + setSessionVar(showit,'y'); > + } else { > + if (elements[i].style.display == style) { > + elements[i].style.display = "none"; > + setSessionVar(showit, 'n'); > + } else { > + elements[i].style.display = style; > + setSessionVar(showit, 'y'); > + } > + } > + } > } > > function flip(foo,style) { > - showit = 'show_' + escape(foo); > + showit = 'show_' + escape(foo); > > - if (style == null) style = 'block'; > - if (this.iewin && style == 'table-cell') { > - style = 'block'; > - } > + if (style == null) style = 'block'; > + if (this.iewin && style == 'table-cell') { > + style = 'block'; > + } > > - if (document.getElementById(foo).style.display == "none") { > - document.getElementById(foo).style.display = style; > - setSessionVar(showit,'y'); > - } else { > - if (document.getElementById(foo).style.display == style) { > - document.getElementById(foo).style.display = "none"; > - setSessionVar(showit, 'n'); > - } else { > - document.getElementById(foo).style.display = style; > - setSessionVar(showit, 'y'); > - } > - } > + if (document.getElementById(foo).style.display == "none") { > + document.getElementById(foo).style.display = style; > + setSessionVar(showit,'y'); > + } else { > + if (document.getElementById(foo).style.display == style) { > + document.getElementById(foo).style.display = "none"; > + setSessionVar(showit, 'n'); > + } else { > + document.getElementById(foo).style.display = style; > + setSessionVar(showit, 'y'); > + } > + } > } > > function toggle(foo) { > - if (document.getElementById(foo).style.display == "none") { > - show(foo, true, "menu"); > - } else { > - if (document.getElementById(foo).style.display == "block") { > - hide(foo, true, "menu"); > - } else { > - show(foo, true, "menu"); > - } > - } > + if (document.getElementById(foo).style.display == "none") { > + show(foo, true, "menu"); > + } else { > + if (document.getElementById(foo).style.display == "block") { > + hide(foo, true, "menu"); > + } else { > + show(foo, true, "menu"); > + } > + } > } > > function setopacity(obj,opac){ > @@ -467,173 +467,173 @@ > } > > function flip_thumbnail_status(id) { > - var elem = document.getElementById(id); > - if ( elem.className == 'thumbnailcontener' ) { > - elem.className += ' thumbnailcontenerchecked'; > - } else { > - elem.className = 'thumbnailcontener'; > - } > + var elem = document.getElementById(id); > + if ( elem.className == 'thumbnailcontener' ) { > + elem.className += ' thumbnailcontenerchecked'; > + } else { > + elem.className = 'thumbnailcontener'; > + } > } > > function tikitabs(focus,max) { > - for (var i = 1; i < max; i++) { > - var tabname = 'tab' + i; > - var content = 'content' + i; > - if (document.getElementById(tabname) && typeof document.getElementById(tabname) != 'undefined') { > - if (i == focus) { > - //show(tabname); > - show(content); > - setCookie('tab',focus); > - document.getElementById(tabname).className = 'tabmark'; > - document.getElementById(tabname).className += ' tabactive'; > - } else { > - //hide(tabname); > - hide(content); > - document.getElementById(tabname).className = 'tabmark'; > - document.getElementById(tabname).className += ' tabinactive'; > - } > - } > - } > + for (var i = 1; i < max; i++) { > + var tabname = 'tab' + i; > + var content = 'content' + i; > + if (document.getElementById(tabname) && typeof document.getElementById(tabname) != 'undefined') { > + if (i == focus) { > + //show(tabname); > + show(content); > + setCookie('tab',focus); > + document.getElementById(tabname).className = 'tabmark'; > + document.getElementById(tabname).className += ' tabactive'; > + } else { > + //hide(tabname); > + hide(content); > + document.getElementById(tabname).className = 'tabmark'; > + document.getElementById(tabname).className += ' tabinactive'; > + } > + } > + } > } > > function setfoldericonstate(foo) { > - if (getCookie(foo, "menu", "o") == "o") { > - src = "ofolder.png"; > - } else { > - src = "folder.png"; > - } > - document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > + if (getCookie(foo, "menu", "o") == "o") { > + src = "ofolder.png"; > + } else { > + src = "folder.png"; > + } > + document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > } > /* foo: name of the menu > * def: menu type (e:extended, c:collapsed, f:fixed) > * the menu is collapsed function of its cookie: if no cookie is set, the def is used > */ > function setfolderstate(foo, def, img) { > - var status = getCookie(foo, "menu", "o"); > + var status = getCookie(foo, "menu", "o"); > if (!img) { > - if (document.getElementsByName('icn' + foo)[0].src.search(/[\\\/]/)) > - img = document.getElementsByName('icn' + foo)[0].src.replace(/.*[\\\/]([^\\\/]*)$/, "$1"); > - else > - img = 'folder.png'; > - } > + if (document.getElementsByName('icn' + foo)[0].src.search(/[\\\/]/)) > + img = document.getElementsByName('icn' + foo)[0].src.replace(/.*[\\\/]([^\\\/]*)$/, "$1"); > + else > + img = 'folder.png'; > + } > var src = img; // default > - if (status == "o") { > - show(foo); > - src = "o" + img; > - } else if (status != "c" && def != 'd') { > - show(foo); > - src = "o" + img; > - } > - else { > - hide(foo); > - } > - document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > + if (status == "o") { > + show(foo); > + src = "o" + img; > + } else if (status != "c" && def != 'd') { > + show(foo); > + src = "o" + img; > + } > + else { > + hide(foo); > + } > + document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > } > > function setheadingstate(foo) { > - var status = getCookie(foo, "showhide_headings"); > - if (status == "o") { > - show(foo); > - collapseSign("flipper" + foo); > - } else /*if (status == "c")*/ { > - if (!document.getElementById(foo).style.display == "none") { > - hide(foo); > - expandSign("flipper" + foo); > - } > - } > + var status = getCookie(foo, "showhide_headings"); > + if (status == "o") { > + show(foo); > + collapseSign("flipper" + foo); > + } else /*if (status == "c")*/ { > + if (!document.getElementById(foo).style.display == "none") { > + hide(foo); > + expandSign("flipper" + foo); > + } > + } > } > > function setsectionstate(foo, def, img) { > - var status = getCookie(foo, "menu", "o"); > - if (status == "o") { > - show(foo); > - if (img) src = "o" + img; > - } else if (status != "c" && def != 'd') { > - show(foo); > - if (img) src = "o" + img; > - } else /*if (status == "c")*/ { > - hide(foo); > - if (img) src = img; > - } > - if (img) document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > + var status = getCookie(foo, "menu", "o"); > + if (status == "o") { > + show(foo); > + if (img) src = "o" + img; > + } else if (status != "c" && def != 'd') { > + show(foo); > + if (img) src = "o" + img; > + } else /*if (status == "c")*/ { > + hide(foo); > + if (img) src = img; > + } > + if (img) document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, src); > } > > function icntoggle(foo, img) { > if (!img) { > - if (document.getElementsByName('icn' + foo)[0].src.search(/[\\\/]/)) > - img = document.getElementsByName('icn' + foo)[0].src.replace(/.*[\\\/]([^\\\/]*)$/, "$1"); > - else > - img = 'folder.png'; > - } > - if (document.getElementById(foo).style.display == "none") { > - show(foo, true, "menu"); > - document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, 'o' + img); > - > - } else { > - hide(foo, true, "menu"); > - img = img.replace(/(^|\/|\\)o(.*)$/, '$1$2'); > - document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, img); > - } > + if (document.getElementsByName('icn' + foo)[0].src.search(/[\\\/]/)) > + img = document.getElementsByName('icn' + foo)[0].src.replace(/.*[\\\/]([^\\\/]*)$/, "$1"); > + else > + img = 'folder.png'; > + } > + if (document.getElementById(foo).style.display == "none") { > + show(foo, true, "menu"); > + document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, 'o' + img); > + > + } else { > + hide(foo, true, "menu"); > + img = img.replace(/(^|\/|\\)o(.*)$/, '$1$2'); > + document.getElementsByName('icn' + foo)[0].src = document.getElementsByName('icn' + foo)[0].src.replace(/[^\\\/]*$/, img); > + } > } > > // > // set folder icon state during page load > // > function setFolderIcons() { > - var elements = document.forms[the_form].elements[elements_name]; > + var elements = document.forms[the_form].elements[elements_name]; > > - var elements_cnt = ( typeof (elements.length) != 'undefined') ? elements.length : 0; > + var elements_cnt = ( typeof (elements.length) != 'undefined') ? elements.length : 0; > > - if (elements_cnt) { > - for (var i = 0; i < elements_cnt; i++) { > - elements[i].checked = document.forms[the_form].elements[switcher_name].checked; > - } > - } else { > - elements.checked = document.forms[the_form].elements[switcher_name].checked; > + if (elements_cnt) { > + for (var i = 0; i < elements_cnt; i++) { > + elements[i].checked = document.forms[the_form].elements[switcher_name].checked; > + } > + } else { > + elements.checked = document.forms[the_form].elements[switcher_name].checked; > > - ; > - } // end if... else > + ; > + } // end if... else > > - return true; > + return true; > } // setFolderIcons() > > // Initialize a cross-browser XMLHttpRequest object. > // The object return has to be sent using send(). More parameters can be > // given. > // callback - The function that will be called when the response arrives > -// First parameter will be the status > +// First parameter will be the status > // (HTTP Response Code [200,403, 404, ...]) > // method - GET or POST > // url - The URL to open > function getHttpRequest( method, url, async ) > { > - if( async == null ) > - async = false; > + if( async == null ) > + async = false; > > - var request; > + var request; > > - if( window.XMLHttpRequest ) > - request = new XMLHttpRequest(); > - else if( window.ActiveXObject ) > - { > - try > - { > - request = new ActiveXObject( "Microsoft.XMLHTTP" ); > - } > - catch( ex ) > - { > - request = new ActiveXObject("MSXML2.XMLHTTP"); > - } > - } > - else > - return false; > + if( window.XMLHttpRequest ) > + request = new XMLHttpRequest(); > + else if( window.ActiveXObject ) > + { > + try > + { > + request = new ActiveXObject( "Microsoft.XMLHTTP" ); > + } > + catch( ex ) > + { > + request = new ActiveXObject("MSXML2.XMLHTTP"); > + } > + } > + else > + return false; > > - if( !request ) > - return false; > + if( !request ) > + return false; > > - request.open( method, url, async ); > + request.open( method, url, async ); > > - return request; > + return request; > } > > // name - name of the cookie > @@ -645,9 +645,9 @@ > // * an argument defaults when it is assigned null as a placeholder > // * a null placeholder is not required for trailing omitted arguments > function setSessionVar(name,value) { > - var request = getHttpRequest( "GET", "tiki-cookie-jar.php?" + name + "=" + escape(value)); > - request.send(''); > - tiki_cookie_jar[name] = value; > + var request = getHttpRequest( "GET", "tiki-cookie-jar.php?" + name + "=" + escape(value)); > + request.send(''); > + tiki_cookie_jar[name] = value; > } > > function setCookie(name, value, section, expires, path, domain, secure) { > @@ -655,95 +655,95 @@ > expires = new Date(); > expires.setFullYear(expires.getFullYear() + 1); > } > - if (feature_no_cookie == 'y') { > - var request = getHttpRequest( "GET", "tiki-cookie-jar.php?" + name + "=" + escape( value ) ) > - try { > - request.send(''); > - //alert("XMLHTTP/set"+request.readyState+request.responseText); > - tiki_cookie_jar[name] = value; > - return true; > - } > - catch( ex ) { > - setCookieBrowser(name, value, section, expires, path, domain, secure); > - return false; > - } > - } > - else { > - setCookieBrowser(name, value, section, expires, path, domain, secure); > - return true; > - } > + if (feature_no_cookie == 'y') { > + var request = getHttpRequest( "GET", "tiki-cookie-jar.php?" + name + "=" + escape( value ) ) > + try { > + request.send(''); > + //alert("XMLHTTP/set"+request.readyState+request.responseText); > + tiki_cookie_jar[name] = value; > + return true; > + } > + catch( ex ) { > + setCookieBrowser(name, value, section, expires, path, domain, secure); > + return false; > + } > + } > + else { > + setCookieBrowser(name, value, section, expires, path, domain, secure); > + return true; > + } > } > function setCookieBrowser(name, value, section, expires, path, domain, secure) { > - if (section) { > - valSection = getCookie(section); > - name2 = "@" + name + ":"; > - if (valSection) { > - if (new RegExp(name2).test(valSection)) > - valSection = valSection.replace(new RegExp(name2 + "[^@;]*"), name2 + value); > - else > - valSection = valSection + name2 + value; > - setCookieBrowser(section, valSection, null, expires, path, domain, secure); > - } > - else { > - valSection = name2+value; > - setCookieBrowser(section, valSection, null, expires, path, domain, secure); > - } > - > - } > - else { > - var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") > - + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); > - document.cookie = curCookie; > - } > + if (section) { > + valSection = getCookie(section); > + name2 = "@" + name + ":"; > + if (valSection) { > + if (new RegExp(name2).test(valSection)) > + valSection = valSection.replace(new RegExp(name2 + "[^@;]*"), name2 + value); > + else > + valSection = valSection + name2 + value; > + setCookieBrowser(section, valSection, null, expires, path, domain, secure); > + } > + else { > + valSection = name2+value; > + setCookieBrowser(section, valSection, null, expires, path, domain, secure); > + } > + > + } > + else { > + var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") > + + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); > + document.cookie = curCookie; > + } > } > > // name - name of the desired cookie > // section - name of group of cookies or null > // * return string containing value of specified cookie or null if cookie does not exist > function getCookie(name, section, defval) { > - if( feature_no_cookie == 'y' && (window.XMLHttpRequest || window.ActiveXObject) && typeof tiki_cookie_jar != "undefined" && tiki_cookie_jar.length > 0) { > - if (typeof tiki_cookie_jar[name] == "undefined") > - return defval; > - return tiki_cookie_jar[name]; > - } > - else { > - return getCookieBrowser(name, section, defval); > - } > + if( feature_no_cookie == 'y' && (window.XMLHttpRequest || window.ActiveXObject) && typeof tiki_cookie_jar != "undefined" && tiki_cookie_jar.length > 0) { > + if (typeof tiki_cookie_jar[name] == "undefined") > + return defval; > + return tiki_cookie_jar[name]; > + } > + else { > + return getCookieBrowser(name, section, defval); > + } > } > function getCookieBrowser(name, section, defval) { > - if (section) { > - var valSection = getCookieBrowser(section); > - if (valSection) { > - var name2 = "@"+name+":"; > - var val = valSection.match(new RegExp(name2 + "([^@;]*)")); > - if (val) > - return unescape(val[1]); > - else > - return null; > - } else { > - return defval; > - } > - } else { > - var dc = document.cookie; > + if (section) { > + var valSection = getCookieBrowser(section); > + if (valSection) { > + var name2 = "@"+name+":"; > + var val = valSection.match(new RegExp(name2 + "([^@;]*)")); > + if (val) > + return unescape(val[1]); > + else > + return null; > + } else { > + return defval; > + } > + } else { > + var dc = document.cookie; > > - var prefix = name + "="; > - var begin = dc.indexOf("; " + prefix); > + var prefix = name + "="; > + var begin = dc.indexOf("; " + prefix); > > - if (begin == -1) { > - begin = dc.indexOf(prefix); > + if (begin == -1) { > + begin = dc.indexOf(prefix); > > - if (begin != 0) > - return null; > + if (begin != 0) > + return null; > > - } else begin += 2; > + } else begin += 2; > > - var end = document.cookie.indexOf(";", begin); > + var end = document.cookie.indexOf(";", begin); > > - if (end == -1) > - end = dc.length; > + if (end == -1) > + end = dc.length; > > - return unescape(dc.substring(begin + prefix.length, end)); > - } > + return unescape(dc.substring(begin + prefix.length, end)); > + } > } > > // name - name of the cookie > @@ -751,84 +751,84 @@ > // [domain] - domain of the cookie (must be same as domain used to create cookie) > // * path and domain default if assigned null or omitted if no explicit argument proceeds > function deleteCookie(name, section, expires, path, domain, secure) { > - if (section) { > - valSection = getCookieBrowser(section); > - name2 = "@" + name + ":"; > - if (valSection) { > - if (new RegExp(name2).test(valSection)) { > - valSection = valSection.replace(new RegExp(name2 + "[^@;]*"), ""); > - setCookieBrowser(section, valSection, null, expires, path, domain, secure); > - } > - } > - } > - else { > + if (section) { > + valSection = getCookieBrowser(section); > + name2 = "@" + name + ":"; > + if (valSection) { > + if (new RegExp(name2).test(valSection)) { > + valSection = valSection.replace(new RegExp(name2 + "[^@;]*"), ""); > + setCookieBrowser(section, valSection, null, expires, path, domain, secure); > + } > + } > + } > + else { > > // if( !setCookie( name, '', 0, path, domain ) ) { > // if (getCookie(name)) { > - document.cookie = name + "=" > - + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; > + document.cookie = name + "=" > + + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; > // } > - } > + } > } > > // date - any instance of the Date object > // * hand all instances of the Date object to this function for "repairs" > function fixDate(date) { > - var base = new Date(0); > + var base = new Date(0); > > - var skew = base.getTime(); > + var skew = base.getTime(); > > - if (skew > 0) > - date.setTime(date.getTime() - skew); > + if (skew > 0) > + date.setTime(date.getTime() - skew); > } > > // > // Expand/collapse lists > // > function flipWithSign(foo) { > - if (document.getElementById(foo).style.display == "none") { > - show(foo, true, "showhide_headings"); > - collapseSign("flipper" + foo); > - } else { > - hide(foo, true, "showhide_headings"); > - expandSign("flipper" + foo); > - } > + if (document.getElementById(foo).style.display == "none") { > + show(foo, true, "showhide_headings"); > + collapseSign("flipper" + foo); > + } else { > + hide(foo, true, "showhide_headings"); > + expandSign("flipper" + foo); > + } > } > > // set the state of a flipped entry after page reload > function setFlipWithSign(foo) { > - if (getCookie(foo) == "o") { > - collapseSign("flipper" + foo); > + if (getCookie(foo) == "o") { > + collapseSign("flipper" + foo); > > - show(foo); > - } else { > - expandSign("flipper" + foo); > + show(foo); > + } else { > + expandSign("flipper" + foo); > > - hide(foo); > - } > + hide(foo); > + } > } > > function expandSign(foo) { > - document.getElementById(foo).firstChild.nodeValue = "[+]"; > + document.getElementById(foo).firstChild.nodeValue = "[+]"; > } > > function collapseSign(foo) { > - document.getElementById(foo).firstChild.nodeValue = "[-]"; > + document.getElementById(foo).firstChild.nodeValue = "[-]"; > } // flipWithSign() > > // > // Check / Uncheck all Checkboxes > // > function switchCheckboxes(tform, elements_name, state) { > - // checkboxes need to have the same name elements_name > - // e.g. <input type="checkbox" name="my_ename[]">, will arrive as Array in php. > - for (var i = 0; i < tform.length; i++) { > - if (tform.elements[i].name == elements_name) { > - tform.elements[i].checked = state > - } > - } > - return true; > -} > + // checkboxes need to have the same name elements_name > + // e.g. <input type="checkbox" name="my_ename[]">, will arrive as Array in php. > + for (var i = 0; i < tform.length; i++) { > + if (tform.elements[i].name == elements_name) { > + tform.elements[i].checked = state > + } > + } > + return true; > +} > > // > // Set client timezone > @@ -848,13 +848,13 @@ > // <option value="http://tikiwiki.org">tikiwiki.org</option> > // </select> > function go(o) { > - if (o.options[o.selectedIndex].value != "") { > - location = o.options[o.selectedIndex].value; > + if (o.options[o.selectedIndex].value != "") { > + location = o.options[o.selectedIndex].value; > > - o.options[o.selectedIndex] = 1; > - } > + o.options[o.selectedIndex] = 1; > + } > > - return false; > + return false; > } > > > @@ -894,14 +894,14 @@ > if (typeof(window.opera) != 'undefined') { > return true; > } > - > + > var is_confirmed = confirm(theMsg); > //if (is_confirmed) { > // theLink.href += '&is_js_confirmed=1'; > //} > - > + > return is_confirmed; > -} > +} > > /** \brief: modif a textarea dimension > * \elementId = textarea idea > @@ -910,33 +910,33 @@ > * \formid = form id (needs to have 2 input rows and cols > **/ > function textareasize(elementId, height, width, formId) { > - textarea = document.getElementById(elementId); > - form1 = document.getElementById(formId); > - if (textarea && height != 0 && textarea.rows + height > 5) { > - textarea.rows += height; > - if (form1.rows) > - form1.rows.value = textarea.rows; > - } > - if (textarea && width != 0 && textarea.cols + width > 10) { > - textarea.cols += width; > - if (form1.cols) > - form1.cols.value = textarea.cols; > - } > + textarea = document.getElementById(elementId); > + form1 = document.getElementById(formId); > + if (textarea && height != 0 && textarea.rows + height > 5) { > + textarea.rows += height; > + if (form1.rows) > + form1.rows.value = textarea.rows; > + } > + if (textarea && width != 0 && textarea.cols + width > 10) { > + textarea.cols += width; > + if (form1.cols) > + form1.cols.value = textarea.cols; > + } > } > > > /** \brief: insert img tag in textarea > - * > - */ > + * > + */ > function insertImgFile(elementId, fileId, oldfileId,type,page,attach_comment) { > textarea = getElementById(elementId); > - fileup = getElementById(fileId); > - oldfile = getElementById(oldfileId); > - prefixEl = getElementById("prefix"); > + fileup = getElementById(fileId); > + oldfile = getElementById(oldfileId); > + prefixEl = getElementById("prefix"); > prefix = "img/wiki_up/"; > > - if (!textarea || ! fileup) > - return; > + if (!textarea || ! fileup) > + return; > > if ( prefixEl) { prefix= prefixEl.value; } > > @@ -944,25 +944,25 @@ > oldfilename = oldfile.value; > > if (filename == oldfilename || > - filename == "" ) { // insert only if name really changed > - return; > + filename == "" ) { // insert only if name really changed > + return; > } > oldfile.value = filename; > > if (filename.indexOf("/")>=0) { // unix > - dirs = filename.split("/"); > - filename = dirs[dirs.length-1]; > + dirs = filename.split("/"); > + filename = dirs[dirs.length-1]; > } > if (filename.indexOf("\\")>=0) { // dos > - dirs = filename.split("\\"); > - filename = dirs[dirs.length-1]; > + dirs = filename.split("\\"); > + filename = dirs[dirs.length-1]; > } > if (filename.indexOf(":")>=0) { // mac > - dirs = filename.split(":"); > - filename = dirs[dirs.length-1]; > + dirs = filename.split(":"); > + filename = dirs[dirs.length-1]; > } > - // @todo - here's a hack: we know its ending up in img/wiki_up. > - // replace with dyn. variable once in a while to respect the tikidomain > + // @todo - here's a hack: we know its ending up in img/wiki_up. > + // replace with dyn. variable once in a while to respect the tikidomain > if (type == "file") { > str = "{file name=\""+filename + "\""; > if (desc = getElementById(attach_comment).value) > @@ -977,12 +977,12 @@ > /* add new upload image form in page edition */ > var img_form_count = 2; > function addImgForm() { > - var new_text = document.createElement('span'); > - new_text.setAttribute('id','picfile' + img_form_count); > - new_text.innerHTML = '<input name=\'picfile' + img_form_count + '\' type=\'file\' onchange=\'javascript:insertImgFile("editwiki","picfile' + img_form_count + '","hasAlreadyInserted","img")\'/><br />'; > - document.getElementById('new_img_form').appendChild(new_text); > - needToConfirm = true; > - img_form_count ++; > + var new_text = document.createElement('span'); > + new_text.setAttribute('id','picfile' + img_form_count); > + new_text.innerHTML = '<input name=\'picfile' + img_form_count + '\' type=\'file\' onchange=\'javascript:insertImgFile("editwiki","picfile' + im... [truncated message content] |