Commit 23abf895 authored by sylvieg's avatar sylvieg

[MRG] Automatic merge, branches/7.x 35708 to 35940

parent c1b6bf92
......@@ -1520,6 +1520,7 @@ installer/schema/20110727_tracker_multilingual_convert_tiki.php -text
installer/schema/20110727_tracker_multilingual_convert_tiki.sql -text
installer/schema/20110803_objectpermissions_tiki.sql -text
installer/schema/20110808_default_perm_name_tiki.sql -text
installer/schema/20110808_tracker_tiki.sql -text
installer/schema/99999999_image_plugins_kill_tiki.php -text
installer/schema/index.php -text
installer/shell.php -text
......
Tiki! The wiki with a lot of features!
Version 7.1RC1
Version 7.1
DOCUMENTATION
......
This diff is collapsed.
......@@ -12,8 +12,8 @@ This is how we implement the Tiki Social Contract.
http://tiki.org/Social+Contract
List of members of the Community
As of 2011-07-15, the community has:
* 515 members on SourceForge.net,
As of 2011-07-31, the community has:
* 514 members on SourceForge.net,
* 256 of those people who made at least one code commit
This list is automatically generated and alphabetically sorted
......@@ -394,15 +394,15 @@ SF Role: Developer
Nickname: changi67
Name: Jean-François B.
First Commit: 2009-04-23
Last Commit: 2011-07-15
Number of Commits: 593
Last Commit: 2011-07-31
Number of Commits: 623
SF Role: Packager (.rpm, .deb etc)
Nickname: chealer
Name: Philippe Cloutier
First Commit: 2003-09-27
Last Commit: 2011-07-15
Number of Commits: 1186
Last Commit: 2011-07-29
Number of Commits: 1206
SF Role: Developer
Nickname: chessy
......@@ -412,8 +412,8 @@ SF Role: Developer
Nickname: chibaguy
Name: Gary Cunningham-Lee
First Commit: 2006-02-04
Last Commit: 2011-06-29
Number of Commits: 1638
Last Commit: 2011-07-31
Number of Commits: 1644
SF Role: Web Designer
Nickname: chris_holman
......@@ -827,9 +827,10 @@ Name: Gert Dewit
SF Role: Developer
Nickname: gezzzan
Name: gezza
First Commit: 2009-05-02
Last Commit: 2009-05-10
Number of Commits: 4
Last Commit: 2011-07-20
Number of Commits: 8
SF Role: Translator (I18N/L10N)
Nickname: ggeller
......@@ -910,11 +911,11 @@ SF Role: Developer
Nickname: gta74
First Commit: 2011-01-29
Last Commit: 2011-07-10
Number of Commits: 51
Last Commit: 2011-07-29
Number of Commits: 69
Nickname: guideweb
Name: Samuel Denis D'Ortun
Name: Samuel Denis D'Ortun
First Commit: 2003-08-24
Last Commit: 2003-08-25
Number of Commits: 2
......@@ -1100,8 +1101,8 @@ SF Role: Developer
Nickname: jean-lucnavarro
Name: Jean-Luc NAVARRO
First Commit: 2011-06-12
Last Commit: 2011-07-08
Number of Commits: 9
Last Commit: 2011-07-28
Number of Commits: 10
SF Role: Translator (I18N/L10N)
Nickname: jeanhabib
......@@ -1178,16 +1179,11 @@ Last Commit: 2008-11-20
Number of Commits: 1
SF Role: Developer
Nickname: jonny
First Commit: 2011-07-15
Last Commit: 2011-07-15
Number of Commits: 5
Nickname: jonnybradley
Name: jonny Bradley
First Commit: 2007-08-15
Last Commit: 2011-07-15
Number of Commits: 3603
Last Commit: 2011-07-29
Number of Commits: 3653
SF Role: Developer
Nickname: jorgercosta
......@@ -1249,8 +1245,8 @@ Name: Jyes Beat
Nickname: jyhem
Name: Jean-Marc Libs
First Commit: 2006-12-11
Last Commit: 2011-05-30
Number of Commits: 503
Last Commit: 2011-07-23
Number of Commits: 514
SF Role: Developer
Nickname: k2s
......@@ -1315,8 +1311,8 @@ SF Role: Developer
Nickname: kstingel
Name: Karen Stingel
First Commit: 2011-07-15
Last Commit: 2011-07-15
Number of Commits: 1
Last Commit: 2011-07-22
Number of Commits: 3
Nickname: ksumacgyver
Name: Scott Harmon
......@@ -1384,8 +1380,8 @@ SF Role: Developer
Nickname: lindonb
First Commit: 2009-05-10
Last Commit: 2011-07-01
Number of Commits: 430
Last Commit: 2011-07-31
Number of Commits: 436
Nickname: llunax
Name: Lluna
......@@ -1414,8 +1410,8 @@ Name: Louis-Martin Richard
Nickname: lphuberdeau
Name: Louis-Philippe Huberdeau
First Commit: 2004-04-10
Last Commit: 2011-07-09
Number of Commits: 2311
Last Commit: 2011-07-28
Number of Commits: 2344
SF Role: Developer
Nickname: lrargerich
......@@ -1440,7 +1436,7 @@ Nickname: lucasemanoel
Name: Lucas Emanoel
Nickname: luciash
Name: luciash d' being
Name: luciash d' being
First Commit: 2003-08-05
Last Commit: 2011-05-26
Number of Commits: 976
......@@ -1495,8 +1491,8 @@ SF Role: Developer
Nickname: marclaporte
Name: Marc Laporte
First Commit: 2003-11-28
Last Commit: 2011-07-12
Number of Commits: 1176
Last Commit: 2011-07-22
Number of Commits: 1179
SF Role: Project Manager
Nickname: marcmont
......@@ -1637,7 +1633,7 @@ Name: Mike Nielsen
SF Role: Developer
Nickname: mikespub
Name: Mike's Pub
Name: Mike's Pub
First Commit: 2003-09-29
Last Commit: 2004-09-23
Number of Commits: 16
......@@ -1683,6 +1679,9 @@ SF Role: Doc Writer
Nickname: mlustenberg
Name: Mauriz
First Commit: 2011-07-27
Last Commit: 2011-07-28
Number of Commits: 2
Nickname: monthorin
Name: Loďc Monthorin
......@@ -1789,8 +1788,8 @@ Number of Commits: 3
Nickname: nkoth
Name: Nelson
First Commit: 2007-05-17
Last Commit: 2011-07-14
Number of Commits: 932
Last Commit: 2011-07-30
Number of Commits: 971
SF Role: Developer
Nickname: normandaoust
......@@ -1960,8 +1959,8 @@ Number of Commits: 1
Nickname: pkdille
First Commit: 2007-03-14
Last Commit: 2011-07-14
Number of Commits: 1679
Last Commit: 2011-07-20
Number of Commits: 1680
SF Role: Developer
Nickname: plillevold
......@@ -2144,8 +2143,8 @@ SF Role: Developer
Nickname: robertplummer
Name: Robert Plummer
First Commit: 2010-06-30
Last Commit: 2011-07-15
Number of Commits: 235
Last Commit: 2011-07-29
Number of Commits: 287
Nickname: robferguson
Name: Rob Ferguson
......@@ -2223,8 +2222,8 @@ Number of Commits: 3
Nickname: sampaioprimo
Name: Rodrigo Sampaio Primo
First Commit: 2005-10-17
Last Commit: 2011-07-13
Number of Commits: 818
Last Commit: 2011-07-25
Number of Commits: 823
SF Role: Developer
Nickname: scarle
......@@ -2248,8 +2247,8 @@ SF Role: Developer
Nickname: sept_7
Name: Stéphane Casset
First Commit: 2007-07-03
Last Commit: 2011-07-15
Number of Commits: 1053
Last Commit: 2011-07-28
Number of Commits: 1070
SF Role: Developer
Nickname: sewilco
......@@ -2370,8 +2369,8 @@ SF Role: Developer
Nickname: sylvieg
Name: Sylvie Greverend
First Commit: 2003-05-28
Last Commit: 2011-07-15
Number of Commits: 6691
Last Commit: 2011-07-29
Number of Commits: 6733
SF Role: Developer
Nickname: syracine
......@@ -2426,8 +2425,8 @@ SF Role: Developer
Nickname: tikii18nbot
Name: Tiki i18n bot
First Commit: 2011-06-27
Last Commit: 2011-07-06
Number of Commits: 3
Last Commit: 2011-07-25
Number of Commits: 5
Nickname: timedout_net
Name: TimeO
......@@ -2572,8 +2571,8 @@ SF Role: Developer
Nickname: xavidp
Name: Xavier de Pedro
First Commit: 2005-07-08
Last Commit: 2011-06-25
Number of Commits: 454
Last Commit: 2011-07-27
Number of Commits: 472
SF Role: All-Hands Person
Nickname: xbtheria
......@@ -2583,8 +2582,8 @@ SF Role: Developer
Nickname: xen216
Name: XEN
First Commit: 2011-05-26
Last Commit: 2011-07-01
Number of Commits: 12
Last Commit: 2011-07-19
Number of Commits: 13
Nickname: xenfasa
Name: Ben
......
This diff is collapsed.
......@@ -2247,7 +2247,7 @@ CREATE TABLE `tiki_tracker_item_field_logs` (
`lang` char(16) default NULL,
INDEX `version` (`version`),
INDEX `itemId` (`itemId`),
INDEX `fieldId` (`itemId`)
INDEX `fieldId` (`fieldId`)
) ENGINE=MyISAM;
DROP TABLE IF EXISTS `tiki_tracker_items`;
......
......@@ -755,26 +755,31 @@ function get_contributors_data($path, &$contributors, $minRevision, $maxRevision
echo "\rRetrieving logs from revision $minByStep to $maxRevision ...\t\t\t";
$logs = get_logs( $path, $minByStep, $maxRevision);
if ( preg_match_all('/^r(\d+) \|\s([^\|]+)\s\|\s(\d+-\d+-\d+)\s.*\n\n(.*)\-+\n/Ums', $logs, $matches, PREG_SET_ORDER) ) {
foreach ( $matches as $logEntry ) {
if ( $lastLogRevision > 0 && $logEntry[1] != $lastLogRevision - 1 && $lastLogRevision != $maxRevision ) {
print "\nProblem with commit ".( $lastLogRevision - 1 )."\n (trying {$logEntry[1]} after $lastLogRevision)";
foreach ( $matches as $logEntry )
$mycommits[$logEntry[1]]= array($logEntry[2],$logEntry[3]);
krsort($mycommits);
foreach ( $mycommits as $commitnum => $commitinfo ) {
if ( $lastLogRevision > 0 && $commitnum != $lastLogRevision - 1 && $lastLogRevision != $maxRevision ) {
print "\nProblem with commit ".( $lastLogRevision - 1 )."\n (trying {$commitnum} after $lastLogRevision)";
die;
}
$lastLogRevision = $logEntry[1];
$author = strtolower($logEntry[2]);
$lastLogRevision = $commitnum;
$author = strtolower($commitinfo[0]);
// Remove empty author or authors like (no author), which may be translated depending on server locales
if ( empty( $author ) || $author{0} == '(' ) continue;
if ( !isset($contributors[$author]) ) $contributors[$author] = array();
$contributors[$author]['Author'] = $logEntry[2];
$contributors[$author]['First Commit'] = $logEntry[3];
$contributors[$author]['Author'] = $commitinfo[0];
$contributors[$author]['First Commit'] = $commitinfo[1];
if ( isset($contributors[$author]['Number of Commits']) ) {
$contributors[$author]['Number of Commits']++;
} else {
$contributors[$author]['Last Commit'] = $logEntry[3];
$contributors[$author]['Last Commit'] = $commitinfo[1];
$nbCommiters++;
$contributors[$author]['Number of Commits'] = 1;
}
......
ALTER TABLE `tiki_tracker_item_field_logs` DROP INDEX `fieldId`, ADD INDEX `fieldId` (`fieldId`);
......@@ -177,6 +177,9 @@ class CreditsLib extends TikiLib
*/
function addCredits( $userId, $creditType, $amount, $expirationDate = null, $validFrom = null ) // {{{
{
if( !$amount )
return false;
if( !empty( $expirationDate ) )
$expirationDate = date( 'Y-m-d H:i:s', $time = strtotime( $expirationDate ) );
......
......@@ -59,7 +59,7 @@ function payment_behavior_cart_exchange_product( $exchangeorderitemid = 0, $exch
$eventStartDate = $trklib->get_item_value($eventsTrackerId, $eventId, $eventStartFieldId);
$eventEndDate = $trklib->get_item_value($eventsTrackerId, $eventId, $eventEndFieldId);
$ins_fields["data"][] = array('type' => 'f', 'fieldId' => $itemeventStartFieldId, 'value' => $eventStartDate);
$ins_fields["data"][] = array('type' => 'f', 'fieldId' => $itemeventEndFieldId, 'value' => $eventEndFieldDate);
$ins_fields["data"][] = array('type' => 'f', 'fieldId' => $itemeventEndFieldId, 'value' => $eventEndDate);
}
}
......
......@@ -78,6 +78,10 @@ class PaymentLib extends TikiDb_Bridge
return $this->get_payments( $conditions, $offset, $max );
}
function uncancel_payment( $id ) {
$this->query( 'UPDATE `tiki_payment_requests` SET `cancel_date` = NULL WHERE `paymentRequestId` = ?', array( $id ) );
}
function cancel_payment( $id ) {
if( $info = $this->get_payment( $id ) ) {
if( $info['state'] != 'canceled' ) {
......@@ -158,8 +162,12 @@ class PaymentLib extends TikiDb_Bridge
function enter_payment( $invoice, $amount, $type, array $data ) {
global $user, $userlib;
if( $info = $this->get_payment( $invoice ) ) {
if( $info['state'] != 'past' && $info['state'] != 'canceled' && $info['amount_remaining_raw'] - $amount <= 0 ) {
if( $info['state'] != 'past' && $info['amount_remaining_raw'] - $amount <= 0 ) {
$results = $this->run_behaviors( $info, 'complete' );
if ($info['state'] == 'canceled') {
// in the case of canceled payments being paid (e.g. user was delayed at Paypal when cancellation happened)
$this->uncancel_payment( $invoice );
}
}
if (!empty($results)) {
$data = array_merge($results, $data);
......
......@@ -146,6 +146,7 @@ class TWVersion
'7.0',
'7.1RC1',
'7.1RC2',
'7.1',
);
}
......
......@@ -3363,7 +3363,7 @@ class TikiLib extends TikiDb_Bridge
$perms = Perms::get( array( 'type' => $objectType, 'object' => $objectId ) );
$perms->setGroups($this->get_user_groups($user));
$permNames = $userlib->get_permission_names_for($this->get_permGroup_from_objectType($objectType));
$permDescs = $userlib->get_permissions(0, -1, 'permName_desc', '', $this->get_permGroup_from_objectType($objectType));
$ret = array();
foreach( $permNames as $perm ) {
......
......@@ -3315,8 +3315,8 @@ class TrackerLib extends TikiLib
if ($prefs['feature_categories'] == 'y') {
$categlib = TikiLib::lib('categ');
$item_categs = $categlib->get_object_categories('trackeritem', $item_info['itemId']);
}
}
}
$query = 'select ttifl.*, ttf.* from `tiki_tracker_item_fields` ttifl left join `tiki_tracker_fields` ttf on (ttf.`fieldId`=ttifl.`fieldId`) where '.implode(' and ', $mid);
$all = $this->fetchAll($query, $bindvars, -1, 0);
foreach ($all as $f) {
......@@ -3335,8 +3335,6 @@ class TrackerLib extends TikiLib
}
$last[-1] = $item_info['status'];
$mid[] = 'ta.`objectType`=?';
$bindvars[] = 'trackeritem';
if (!empty($filter)) {
foreach ($filter as $key=>$f) {
switch($key) {
......@@ -3346,7 +3344,14 @@ class TrackerLib extends TikiLib
}
}
}
$query = 'select * from `tiki_tracker_item_field_logs` ttifl left join `tiki_actionlog` ta on (ta.`comment`=ttifl.`version` and ta.`object`=ttifl.`itemId`) where '.implode(' and ', $mid).' order by ttifl.`itemId` asc, ttifl.`version` desc, ttifl.`fieldId` asc';
if (empty($item_info['itemId'])) {
$join = 'ttifl.`itemId`';
$bindvars = array_merge(array('trackeritem'), $bindvars);
} else {
$join = '?';
$bindvars = array_merge(array('trackeritem', $item_info['itemId']), $bindvars);
}
$query = 'select * from `tiki_tracker_item_field_logs` ttifl left join `tiki_actionlog` ta on (ta.`comment`=ttifl.`version` and ta.`objectType`=? and ta.`object`='.$join.') where '.implode(' and ', $mid).' order by ttifl.`itemId` asc, ttifl.`version` desc, ttifl.`fieldId` asc';
$all = $this->fetchAll($query, $bindvars, -1, 0);
$history['cant'] = count($all);
$history['data'] = array();
......
......@@ -5792,6 +5792,8 @@ class UsersLib extends TikiLib
$g = serialize($g);
$this->query($query, array($g, $res['editableBy']));
}
$query = 'update `tiki_tracker_item_fields` ttif left join `tiki_tracker_fields` ttf on (ttf.`fieldId`=ttif.`fieldId`) set ttif.`value`=? where ttif.`value`=? and ttf.`type`=?';
$this->query($query, array($group, $olgroup, 'g'));
$cachelib->invalidate('grouplist');
$cachelib->invalidate('group_theme_'.$group);
......
......@@ -688,7 +688,7 @@ function wikiplugin_trackerlist($data, $params) {
} else {
global $auto_query_args;
$auto_query_args_local = array('trackerId', 'tr_initial',"tr_sort_mode$iTRACKERLIST",'tr_user', 'filterfield', 'filtervalue', 'exactvalue', 'itemId', 'tr_offset');
$auto_query_args_local = array('trackerId', 'tr_initial',"tr_sort_mode$iTRACKERLIST",'tr_user', 'filterfield', 'filtervalue', 'exactvalue', 'itemId');
$auto_query_args = empty($auto_query_args)? $auto_query_args_local: array_merge($auto_query_args, $auto_query_args_local);
$smarty->assign('trackerId', $trackerId);
$tracker_info = $trklib->get_tracker($trackerId);
......
......@@ -364,8 +364,30 @@ body.fixed_width .fixedwidth .fixedwidth {
line-height: 50%;
}
.siteloginbar_popup .tabmark {
float: left;
padding: 4px 8px;
margin-right: 0;
}
.siteloginbar_popup a > .sf-sub-indicator {
bottom: 1px;
}
.siteloginbar_poppedup {
width: 13em !important;
margin-top: -8px;
}
.siteloginbar_popup .cssmenu_horiz li:hover {
background: #474747;
}
.siteloginbar_popup .pass a:hover,
.siteloginbar_popup .register a:hover,
#logout_link_1 a:hover {
color: #d8d8d8;
text-decoration: underline;
}
/*
.siteloginbar * {
......
......@@ -301,7 +301,8 @@ input[id="sl-login-pass"] {background: #e1e1e2}
}
.siteloginbar_popup .tabcontent a,
.siteloginbar_popup .tabcontent a:visited {
.siteloginbar_popup .tabcontent a:visited,
.siteloginbar_popup label {
color: #fff;
}
......
......@@ -300,9 +300,13 @@ body.fixed_width .fixedwidth .fixedwidth {
bottom: 0;
}
/* give every sub-element of #siteloginbar some padding */
#siteloginbar * {
padding: 2px;
.siteloginbar_popup .tabmark {
padding: 0;
background-position: 0 -2px;
}
.siteloginbar_popup .login_link {
padding: 4px 8px;
}
.siteloginbar a:link,
......@@ -315,8 +319,8 @@ body.fixed_width .fixedwidth .fixedwidth {
text-align: right;
}
.siteloginbar_popup ul li ul {
margin-top: -14px;
.siteloginbar_poppedup {
margin-top: -18px;
}
/* Site title and subtitle */
......
......@@ -572,7 +572,7 @@ select {
#top_modules .siteloginbar_popup {
position: absolute;
right: 10px;
bottom: -5px;
bottom: -1px;
width: 10em;
/* height: 26px;*/
line-height: 1;
......@@ -656,8 +656,9 @@ a.login_link {
/* margin-bottom: -1px !important;*/
}
.siteloginbar_popup .cssmenu_horiz ul {
margin-top: -5px;
margin-top: -2px;
}
.siteloginbar_popup .cssmenu_horiz #register_link ul {
margin-left: -4em;
}
......
......@@ -159,6 +159,11 @@ img {
clear: none;
}
#sitetitle,
#sitesubtitle {
line-height: 1;
}
/* default minimum height in case only login, etc. (absolutely positioned) is assigned */
#top_modules {
min-height: 20px;
......@@ -168,22 +173,20 @@ img {
#top_modules .box-login_box {
position: absolute;
right: 10px;
bottom: 5px;
bottom: 1px;
}
.siteloginbar div {
display: inline-block;
#top_modules .box-login_box .siteloginbar {
margin-bottom: 5px;
}
/* Sitelogin Popup */
#top_modules .tiki_register_login {
bottom: 1px;
position: absolute;
right: 10px;
.siteloginbar div {
display: inline-block;
}
.siteloginbar_poppedup {
#top_modules .siteloginbar_poppedup {
margin-left: -20%;
/* margin-top: -2px;*/
}
.siteloginbar_popup .tabcontent fieldset {
......@@ -192,12 +195,6 @@ img {
border: none;
}
.siteloginbar_popup h1 {
font-size: 1em;
font-weight: normal;
margin: auto;
}
.siteloginbar_poppedup div {
text-align: right;
}
......@@ -211,28 +208,10 @@ li#register_link {
padding-right: 26px !important;
}
.siteloginbar_popup .cssmenu_horiz #register_link ul {
margin-left: -5.5em;
}
.siteloginbar_popup .cssmenu_horiz #login_link ul {
margin-left: -9em;
}
.siteloginbar_popup .cssmenu_horiz #logout_link ul {
margin-left: -2.5em;
}
.siteloginbar_popup .siteloginbar {
bottom: auto;
font-size: inherit;
position: static;
right: auto;
text-align: left;
}
.siteloginbar_popup .siteloginbar * {
white-space: normal;
.siteloginbar_popup .cssmenu_horiz {
width: inherit;
margin: inherit;
padding: inherit;
}
.siteloginbar_popup .cssmenu_horiz ul li {
......@@ -246,23 +225,11 @@ li#register_link {
white-space: normal !important;
}
.siteloginbar_popup .sl-login,
.siteloginbar_popup .pass {
display: block;
width: auto;
margin-bottom: 4px;
}
#sitetitle,
#sitesubtitle {
line-height: 1;
}
li#logout_link a {
padding-right: 40px;
}
.siteloginbar_popup #logout_link .cbox {
.siteloginbar_popup #logout_link {
text-align: center;
}
......@@ -274,25 +241,21 @@ li#logout_link a {
display: inline;
}
.siteloginbar_popup .cbox {
.siteloginbar_poppedup {
padding: 10px;
margin: 2px 2px 3px 1px;
}
.siteloginbar_popup .cbox * {
line-height: 14px;
.siteloginbar_poppedup * {
line-height: 1.1;
margin: 2px;
}
.siteloginbar_popup .cbox label {
.siteloginbar_popup label {
clear: both;
float: left;
}
.siteloginbar_popup .cbox div {
clear: both;
}
.siteloginbar_popup #sl-login-user,
.siteloginbar_popup #sl-login-pass {
float: right;
......@@ -306,30 +269,27 @@ li#logout_link a {
}
.siteloginbar_popup .pass {
display: inline;
}
.siteloginbar_popup .pass a {
float: left;
margin: 0;
padding: 0;
text-align: center;
width: 30%;
text-align: left;
width: 47%;
}
.siteloginbar_popup .register a {
.siteloginbar_popup .pass a {
text-align: left;
}
.siteloginbar_popup .register {
float: right;
margin: 0;
padding: 0;
text-align: center;
width: 30%;
width: 47%;
}
.siteloginbar_popup .wikiaction {
clear: both;
float: right;
}
/* end from r27359 */
/* end Sitelogin Popup */
#sitesearchbar {
......@@ -1035,15 +995,6 @@ tr.diffheader {
padding: 5px;
}
/* avoid applying menu styles to popup links */
.siteloginbar_popup .cssmenu_horiz ul.siteloginbar_poppedup li a,
.siteloginbar_popup .cssmenu_horiz ul.siteloginbar_poppedup li a:hover,
.siteloginbar_popup .cssmenu_horiz li:hover ul.siteloginbar_poppedup li a {
background: none;
border: none;
text-transform: none;
}
/***** Wiki *****/
#pageid {
......
......@@ -145,7 +145,7 @@ function doChallengeResponse() {
{if $prefs.rememberme eq 'always'}
<input type="hidden" name="rme" id="login-remember-module-input_{$module_logo_instance}" value="on" />
{else}