diff --git a/gosa-plugins/kolab/personal/connectivity/kolab/class_kolabAccount.inc b/gosa-plugins/kolab/personal/connectivity/kolab/class_kolabAccount.inc
index 76f3abd59321fad4ed8bcaac4a87daa8d0ef946e..f5ef63436f7723aef9391ade6c1a6e6aa389f230 100644 (file)
{
/* Definitions */
var $plHeadline = "Kolab";
- var $plDescription = "This does something";
+ var $plDescription = "Manage Kolab user settings";
/* Kolab attributes */
var $kolabInvitationPolicy = array();
if(count($this->kolabDelegate)){
$this->is_account = true;
}
- foreach(array("calFBURL") as $attr){
- if(!empty($this->$attr)){
- $this->is_account = true;
- }
+
+ /* Propose FreeBusy URL if empty */
+ if(!empty($this->calFBURL)){
+ $this->is_account = true;
}
/* Transfer account states for this union */
$this->is_account = false;
$this->mail_Account = false;
}
+
}
*/
function execute()
{
- /* Call parent execute */
- plugin::execute();
+ /* Call parent execute */
+ plugin::execute();
+ /* Fill proposed FB URL if empty */
+ if (empty($this->calFBURL)) {
+ $this->calFBURL= "https://".$this->parent->by_object['mailAccount']->gosaMailServer.
+ "/freebusy/".$this->parent->by_object['mailAccount']->mail.".ifb";
+ }
+
/* Log view */
if($this->is_account && !$this->view_logged){
$this->view_logged = TRUE;
/* Load attributes */
foreach($this->attributes as $val){
- $smarty->assign("$val", $this->$val);
+ $smarty->assign("$val", set_post($this->$val));
}
$tmp = $this->plInfo();
if ($_POST['delegate_address'] != ""){
/* Valid email address specified? */
- $address= $_POST['delegate_address'];
+ $address= get_post('delegate_address');
$valid= FALSE;
if (!tests::is_email($address)){
if (!tests::is_email($address, TRUE)){
}
} else {
- $ldap= $this->config->get_ldap_link();
- $ldap->cd ($this->config->current['BASE']);
- $ldap->search('(mail='.$address.')',array("mail"));
- if ($ldap->count() == 0){
- msg_dialog::display(_("Error"), msgPool::duplicated(_("Primary mail address")));
- } else {
+# $ldap= $this->config->get_ldap_link();
+# $ldap->cd ($this->config->current['BASE']);
+# $ldap->search('(mail='.$address.')',array("mail"));
+# if ($ldap->count() == 0){
+# msg_dialog::display(_("Error"), msgPool::duplicated(_("Primary mail address")));
+# } else {
$valid= TRUE;
- }
+# }
}
if ($valid){
/* Delete forward email addresses */
if ((isset($_POST['delete_delegation'])) && (isset($_POST['delegate_list']))){
if (count($_POST['delegate_list']) && $this->acl_is_writeable("kolabDelegate")){
- $this->delDelegate ($_POST['delegate_list']);
+ $this->delDelegate (get_post('delegate_list'));
}
}
'ACT_REJECT_IF_CONFLICTS' => _("Reject if conflicts"),
'ACT_MANUAL_IF_CONFLICTS' => _("Manual if conflicts"),
'ACT_MANUAL' => _("Manual"));
- $smarty->assign('policies', $policies);
+ $smarty->assign('policies', set_post($policies));
/* Adjust checkbox */
if ($this->unrestrictedMailSize){
/* Smarty will produce <option value=""></option> and tidy don't like that, so tell smarty to create no option (array();)*/
$smarty->assign("kolabDelegate", array());
} else {
- $smarty->assign("kolabDelegate", $this->kolabDelegate);
+ $smarty->assign("kolabDelegate", set_post($this->kolabDelegate));
}
$smarty->assign("mail_account",$this->mail_Account);
if(!$this->acl_is_readable("kolabInvitationPolicy")){
$name='';
}
- $invitation.= "<input name=\"address$nr\" size=16 maxlength=60 value=\"$name\" id='address".$nr."' ".$dis.">";
+ $invitation.= "<input type='text'name=\"address$nr\" size=16 maxlength=60 value=\"".set_post($name)."\" id='address".$nr."' ".$dis.">";
}
$invitation.= "</td>";
/* Assign buttons */
$button= "";
if ($nr == count($this->kolabInvitationPolicy)-1){
- $button= "<input type='image' name=\"add_inv_".$nr."\" src='images/list_new.png' id='add".$nr."' ".$dis.">";
+ $button= "<button type='submit' name=\"add_inv_".$nr."\" id='add".$nr."' ".$dis.">".msgPool::addButton()."</button>";
}
if ($nr != 0) {
- $button.= "<input type='image' name=\"del_inv_".$nr."\" src='images/lists/trash.png' id='remove".$nr."' ".$dis.">";
+ $button.= "<button type='submit' name=\"del_inv_".$nr."\" id='remove".$nr."' ".$dis.">".msgPool::delButton()."</button>";
}
$invitation.= "</select> </td>
$smarty->assign("changeState", $changeState);
$smarty->assign("kolabState",$this->is_account);
-
$smarty->assign("multiple_support",$this->multiple_support_active);
foreach($this->attributes as $attr){
- $smarty->assign("use_".$attr,in_array($attr,$this->multi_boxes));
+ $smarty->assign("use_".$attr,in_array_strict($attr,$this->multi_boxes));
}
foreach(array("kolabState") as $attr){
- $smarty->assign("use_".$attr,in_array($attr,$this->multi_boxes));
+ $smarty->assign("use_".$attr,in_array_strict($attr,$this->multi_boxes));
}
if($this->multiple_support_active){
/* Optionally execute a command after we're done */
plugin::remove_from_parent();
- if(!in_array("kolabInetOrgPerson",$this->attrs['objectClass'])){
+ if(!in_array_strict("kolabInetOrgPerson",$this->attrs['objectClass'])){
$this->attrs['objectClass'][] = "kolabInetOrgPerson";
}
$message= plugin::check();
/* FBFuture is in days... */
- if ($this->kolabFreeBusyFuture != ""){
+ if ($this->kolabFreeBusyFuture == ""){
$message[]= msgPool::required(_("Free Busy future"));
}
if(!preg_match('/^[0-9]+$/', $this->kolabFreeBusyFuture)){
}
/* Check for URL scheme... */
- if(!empty($this->calFBURL)){
- $message[]= msgPool::required(_("Free Busy url"));
+ if(empty($this->calFBURL)){
+ $message[]= msgPool::required(_("Free Busy URL"));
}
if(!preg_match("/^http+(s)*:\/\//",$this->calFBURL)){
- $message[]= msgPool::invalid(_("Free Busy url"), $this->calFBURL, "/^http+(s)*:\/\//");
+ $message[]= msgPool::invalid(_("Free Busy URL"), $this->calFBURL, "/^http+(s)*:\/\//");
}
/* Check invitation policy for existing mail addresses */
/* Anonymous? */
if (!isset($_POST["address$nr"])){
- $this->kolabInvitationPolicy[]= $_POST["policy$nr"];
+ $this->kolabInvitationPolicy[]= get_post("policy$nr");
} else {
- $this->kolabInvitationPolicy[]= $_POST["address$nr"].": ".$_POST["policy$nr"];
+ $this->kolabInvitationPolicy[]= get_post("address$nr").": ".get_post("policy$nr");
}
$nr++;
{
return (array(
"plShortName" => _("Kolab"),
- "plDescription" => _("Kolab account settings")." : <u>"._("Connectivity addon")."</u>",
+ "plDescription" => _("Kolab account settings")." ("._("Connectivity add-on").")",
"plSelfModify" => TRUE,
"plDepends" => array("user"),
"plPriority" => 20, // Position in tabs
"plSection" => array("personal" => _("My account")),
"plCategory" => array("users"),
"plOptions" => array(),
+ "plRequirements"=> array(
+ 'ldapSchema' => array('kolabInetOrgPerson' => ''),
+ 'onFailureDisablePlugin' => array(get_class())
+ ),
"plProvidedAcls" => array(
"kolabFreeBusyFuture" => _("Free busy future"),
public function get_multi_edit_values()
{
$ret = plugin::get_multi_edit_values();
- if(in_array("kolabState",$this->multi_boxes)){
+ if(in_array_strict("kolabState",$this->multi_boxes)){
$ret['is_account'] = $this->is_account;
}
-
- print_a($ret);
-
return($ret);
}
public function init_multiple_support($attrs,$all)
{
plugin::init_multiple_support($attrs,$all);
- if(isset($attrs['objectClass']) && in_array("kolabInetOrgPerson",$attrs['objectClass'])){
+ if(isset($attrs['objectClass']) && in_array_strict("kolabInetOrgPerson",$attrs['objectClass'])){
$this->is_account = TRUE;
}
plugin::adapt_from_template($dn, $skip);
/* Setting uid to default */
- if(isset($this->attrs['uid'][0]) && !in_array("uid", $skip)){
+ if(isset($this->attrs['uid'][0]) && !in_array_strict("uid", $skip)){
$this->uid = $this->attrs['uid'][0];
}
/* Pull arrays */
foreach(array("kolabDelegate", "kolabInvitationPolicy") as $attr){
- if (in_array($val, $skip)){
+ if (in_array_strict($attr, $skip)){
continue;
}
}
}
+ function PrepareForCopyPaste($source)
+ {
+ plugin::PrepareForCopyPaste($source);
+
+ $this->is_account = FALSE;
+ if(isset($source['kolabDelegate']) || isset($source['calFBURL'])){
+ $this->is_account = TRUE;
+ }
+ }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: