mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-08 00:54:15 +01:00
Complete the missing "by date" option in mail app->sieve_rules->vacation
This commit is contained in:
parent
d1a2b89815
commit
e5aa8a4873
@ -448,11 +448,6 @@ class mail_sieve
|
|||||||
die('You should not be here!');
|
die('You should not be here!');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->timed_vacation)
|
|
||||||
{
|
|
||||||
include_once(EGW_API_INC.'/class.jscalendar.inc.php');
|
|
||||||
$jscal = new jscalendar();
|
|
||||||
}
|
|
||||||
if($this->bosieve->getScript($this->scriptName))
|
if($this->bosieve->getScript($this->scriptName))
|
||||||
{
|
{
|
||||||
if(PEAR::isError($error = $this->bosieve->retrieveRules($this->scriptName)) )
|
if(PEAR::isError($error = $this->bosieve->retrieveRules($this->scriptName)) )
|
||||||
@ -532,12 +527,14 @@ class mail_sieve
|
|||||||
if ($this->mailbo->icServer->enableSieve)
|
if ($this->mailbo->icServer->enableSieve)
|
||||||
{
|
{
|
||||||
$vacRules = $this->getVacation($vacation,$msg);
|
$vacRules = $this->getVacation($vacation,$msg);
|
||||||
|
if ($this->timed_vacation)
|
||||||
|
{
|
||||||
|
include_once(EGW_API_INC.'/class.jscalendar.inc.php');
|
||||||
|
$ByDate = array('by_date' => lang('By date'));
|
||||||
|
}
|
||||||
if (!is_array($content))
|
if (!is_array($content))
|
||||||
{
|
{
|
||||||
$content = $vacation = $vacRules['vacation'];
|
$content = $vacation = $vacRules['vacation'];
|
||||||
//$content['addresses'] = array_merge($vacRules['allAlliances'],$content['addresses']);
|
|
||||||
//$vacRules['predefinedAddresses'] = array_merge($content['addresses'],$vacRules['predefinedAddresses']);
|
|
||||||
if (empty($vacation['addresses'])) $content['addresses']='';
|
if (empty($vacation['addresses'])) $content['addresses']='';
|
||||||
if (!empty($vacation['forwards']))
|
if (!empty($vacation['forwards']))
|
||||||
{
|
{
|
||||||
@ -572,7 +569,6 @@ class mail_sieve
|
|||||||
{
|
{
|
||||||
//error_log(__METHOD__. 'content:' . array2string($content));
|
//error_log(__METHOD__. 'content:' . array2string($content));
|
||||||
$newVacation = $content;
|
$newVacation = $content;
|
||||||
$newVacation ['status'] = $content ['status'];
|
|
||||||
if (empty($preferences->preferences['prefpreventforwarding']) ||
|
if (empty($preferences->preferences['prefpreventforwarding']) ||
|
||||||
$preferences->preferences['prefpreventforwarding'] == 0 )
|
$preferences->preferences['prefpreventforwarding'] == 0 )
|
||||||
{
|
{
|
||||||
@ -597,13 +593,11 @@ class mail_sieve
|
|||||||
if ($content['addresses'])
|
if ($content['addresses'])
|
||||||
{
|
{
|
||||||
$newVacation ['addresses'] = $content['addresses'];
|
$newVacation ['addresses'] = $content['addresses'];
|
||||||
error_log(__METHOD__. '() Respond addresses :'. __LINE__. array2string($content['addresses']));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
//_debug_array($newVacation);
|
|
||||||
|
|
||||||
if($this->checkRule($newVacation,$checkAddresses))
|
if($this->checkRule($newVacation,$checkAddresses))
|
||||||
{
|
{
|
||||||
@ -614,7 +608,6 @@ class mail_sieve
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.array2string($newVacation));
|
|
||||||
if (!isset($newVacation['scriptName']) || empty($newVacation['scriptName'])) $newVacation['scriptName'] = $this->scriptName;
|
if (!isset($newVacation['scriptName']) || empty($newVacation['scriptName'])) $newVacation['scriptName'] = $this->scriptName;
|
||||||
$this->bosieve->setAsyncJob($newVacation);
|
$this->bosieve->setAsyncJob($newVacation);
|
||||||
$msg = lang('Vacation notice sucessfully updated.');
|
$msg = lang('Vacation notice sucessfully updated.');
|
||||||
@ -641,9 +634,11 @@ class mail_sieve
|
|||||||
),
|
),
|
||||||
'addresses' => array_combine($vacRules['aliases'],$vacRules['aliases']),
|
'addresses' => array_combine($vacRules['aliases'],$vacRules['aliases']),
|
||||||
);
|
);
|
||||||
|
if (!empty($ByDate))
|
||||||
|
{
|
||||||
|
$sel_options['status'] += $ByDate;
|
||||||
|
}
|
||||||
$content['msg'] = $msg;
|
$content['msg'] = $msg;
|
||||||
error_log(__METHOD__. '() sel_option ' . array2string($sel_options));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -797,7 +792,7 @@ class mail_sieve
|
|||||||
'data' => $data,
|
'data' => $data,
|
||||||
'DOMNodeID' => 'mail-sieve-index'
|
'DOMNodeID' => 'mail-sieve-index'
|
||||||
));
|
));
|
||||||
error_log(__METHOD__. "RESPONSE".array2string($response));
|
//error_log(__METHOD__. "RESPONSE".array2string($response));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -127,6 +127,11 @@ app.mail = AppJS.extend(
|
|||||||
//alert('resizing to'+(w_h[0]?w_h[0]:870)+','+(w_h[1]?w_h[1]:egw_getWindowOuterHeight()));
|
//alert('resizing to'+(w_h[0]?w_h[0]:870)+','+(w_h[1]?w_h[1]:egw_getWindowOuterHeight()));
|
||||||
window.resizeTo((w_h[0]?w_h[0]:870),(w_h[1]?w_h[1]:(screen.availHeight>egw_getWindowOuterHeight()?screen.availHeight:egw_getWindowOuterHeight())));
|
window.resizeTo((w_h[0]?w_h[0]:870),(w_h[1]?w_h[1]:(screen.availHeight>egw_getWindowOuterHeight()?screen.availHeight:egw_getWindowOuterHeight())));
|
||||||
}
|
}
|
||||||
|
//Vacation By_date filter
|
||||||
|
if (typeof et2.templates['mail.sieve.vacation'] != 'undefined')
|
||||||
|
{
|
||||||
|
this.vacationFilterStatusChange();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1119,7 +1124,7 @@ app.mail = AppJS.extend(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* User clicked an address (FROM, TO, etc)
|
* User clicked an address (FROM, TO, etc)
|
||||||
*
|
*
|
||||||
* @param object tag_info with values for attributes id, label, title, ...
|
* @param object tag_info with values for attributes id, label, title, ...
|
||||||
* @param et2_taglist widget
|
* @param et2_taglist widget
|
||||||
*/
|
*/
|
||||||
@ -1566,7 +1571,7 @@ app.mail = AppJS.extend(
|
|||||||
{
|
{
|
||||||
this.et2_obj.submit();
|
this.et2_obj.submit();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Focus handler for folder, address, reject textbox/taglist to automatic check associated radio button
|
* Focus handler for folder, address, reject textbox/taglist to automatic check associated radio button
|
||||||
*/
|
*/
|
||||||
@ -1587,6 +1592,25 @@ app.mail = AppJS.extend(
|
|||||||
//addr.set_autocomplete_url('mail.mail_compose.ajax_searchAddress');
|
//addr.set_autocomplete_url('mail.mail_compose.ajax_searchAddress');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable/Enable date widgets on vacation seive rules form when status is "by_date"
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
vacationFilterStatusChange: function()
|
||||||
|
{
|
||||||
|
var status = this.et2.getWidgetById('status');
|
||||||
|
var s_date = this.et2.getWidgetById('start_date');
|
||||||
|
var e_date = this.et2.getWidgetById('end_date');
|
||||||
|
var by_date_label = this.et2.getWidgetById('by_date_label');
|
||||||
|
|
||||||
|
if (status && s_date && e_date && by_date_label)
|
||||||
|
{
|
||||||
|
s_date.set_disabled(status.get_value() != "by_date");
|
||||||
|
e_date.set_disabled(status.get_value() != "by_date");
|
||||||
|
by_date_label.set_disabled(status.get_value() != "by_date");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* action - handling actions on sieve rules
|
* action - handling actions on sieve rules
|
||||||
*
|
*
|
||||||
|
@ -20,26 +20,31 @@
|
|||||||
<description value="Status:"/>
|
<description value="Status:"/>
|
||||||
<hbox>
|
<hbox>
|
||||||
<menulist>
|
<menulist>
|
||||||
<menupopup id="status"/>
|
<menupopup id="status" onchange='app.mail.vacationFilterStatusChange'/>
|
||||||
</menulist>
|
</menulist>
|
||||||
|
<date id="start_date"/>
|
||||||
|
<date id="end_date" />
|
||||||
</hbox>
|
</hbox>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<description value="Respond to mail sent to:"/>
|
<description value="Respond to mail sent to:"/>
|
||||||
<hbox>
|
<vbox>
|
||||||
<taglist-email id="addresses" width="40%" allowFreeEntries="true" />
|
<taglist-email id="addresses" width="40%" allowFreeEntries="true" />
|
||||||
<button class="$cont[hideIfSieveDisabled]" label="Add all my aliases" id="AllAddresses" onclick='app.mail.sieve_vac_all_aliases()'/>
|
<button class="$cont[hideIfSieveDisabled]" label="Add all my aliases" id="AllAddresses" onclick='app.mail.sieve_vac_all_aliases()'/>
|
||||||
</hbox>
|
</vbox>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<description value="Every:"/>
|
<description value="Every:"/>
|
||||||
<textbox type="integer" id="days" min="1" max="31"/>
|
<textbox type="integer" id="days" min="1" max="31"/>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<vbox>
|
<hbox>
|
||||||
<description value="With message:"/>
|
<description value="With message:"/>
|
||||||
|
</hbox>
|
||||||
|
<vbox>
|
||||||
|
<textbox multiline="true" id="text" width="40%"/>
|
||||||
|
<description id="by_date_label" value="You can use $$start$$ for the above start date and $$end$$ for the end date."/>
|
||||||
</vbox>
|
</vbox>
|
||||||
<textbox multiline="true" id="text" width="40%"/>
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<description value="Forward messages:"/>
|
<description value="Forward messages:"/>
|
||||||
@ -59,13 +64,13 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<hbox>
|
<hbox>
|
||||||
<button class="$cont[hideIfSieveDisabled]" label="Save" id="button[save]"/>
|
<button label="Save" id="button[save]" class="$cont[hideIfSieveDisabled]"/>
|
||||||
<button class="$cont[hideIfSieveDisabled]" label="Apply" id="button[apply]"/>
|
<button label="Apply" id="button[apply]" class="$cont[hideIfSieveDisabled]"/>
|
||||||
<button class="$cont[hideIfSieveDisabled]" label="Cancel" id="button[cancel]"/>
|
<button label="Cancel" id="button[cancel]" class="$cont[hideIfSieveDisabled]"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
<description/>
|
<description/>
|
||||||
</row>
|
</row>
|
||||||
</rows>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
</template>
|
</template>
|
||||||
</overlay>
|
</overlay>
|
Loading…
Reference in New Issue
Block a user