diff --git a/plugins/gofon/phoneaccount/class_phoneAccount.inc b/plugins/gofon/phoneaccount/class_phoneAccount.inc
index c4bd41467a5e4b21954d0178bfd442f60736dbda..b38336fe90e1a65f25d0ed81968c0a774355b28e 100644 (file)
var $cli_parameters = array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
/* attribute list for save action */
- var $attributes = array("goFonDeliveryMode", "goFonFormat","uid","cn","mail",
+ var $CopyPasteVars = array("phoneNumbers");
+ var $attributes = array("goFonDeliveryMode", "goFonFormat","uid","cn",
"goFonHardware","goFonPIN","goFonVoicemailPIN","telephoneNumber", "goFonMacro","macro");
var $objectclasses= array("goFonAccount");
function check()
{
- /* Reset message array */
- $message= array();
+ /* Call common method to give check the hook */
+ $message= plugin::check();
if((strlen($this->goFonVoicemailPIN)==0)||(strlen($this->goFonVoicemailPIN)>4)){
$message[]=(_("Voicemail PIN must be between 1-4 characters."));
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->dn);
$this->cleanup();
-$ldap->modify ($this->attrs);
+ $ldap->modify ($this->attrs);
- show_ldap_error($ldap->get_error());
+ show_ldap_error($ldap->get_error(), _("Saving phone account failed"));
/* Optionally execute a command after we're done */
function remove_from_parent()
{
+ if(!$this->initially_was_account) return;
+
foreach($this->attributes as $key=>$val){
- if(in_array($val,array("uid","cn","mail"))){
+ if(in_array($val,array("uid","cn"))){
unset($this->attributes[$key]);
unset($this->$val);
}
}
-
if(array_key_exists('config', $_SESSION) &&
array_key_exists('SERVERS', $_SESSION['config']->data) &&
array_key_exists('FON', $_SESSION['config']->data['SERVERS']) &&
// Check if we are connected correctly
if(!$r_con){
- $this->generate_error = sprintf(_("The MySQL Server '%s' isn't reachable as user '%s', check GOsa log for mysql error."),
- $a_SETUP['SERVER'],$a_SETUP['LOGIN']);
+ print_red(sprintf(_("The MySQL Server '%s' isn't reachable as user '%s', check GOsa log for mysql error."),
+ $a_SETUP['SERVER'],$a_SETUP['LOGIN']));
gosa_log(@mysql_error());
return false;
}
// Test if we have the database selected correctly
if(!$db){
- $this->generate_error = sprintf(_("Can't select database %s on %s."),$a_SETUP['DB'],$a_SETUP['SERVER']);
+ print_red(sprintf(_("Can't select database %s on %s."),$a_SETUP['DB'],$a_SETUP['SERVER']));
gosa_log(@mysql_error());
return false;
}
}
$ldap->cd($this->dn);
$this->cleanup();
-$ldap->modify ($this->attrs);
+ $ldap->modify ($this->attrs);
- show_ldap_error($ldap->get_error());
+ show_ldap_error($ldap->get_error(), _("Removing phone account failed"));
/* Optionally execute a command after we're done */
@mysql_close($r_con);
}
}
+
+ /* Create phoneAccount part of copy & paste dialog */
function getCopyDialog()
- {
+ {
+ if(!$this->is_account) return("");
$smarty = get_smarty();
if (!count($this->phoneNumbers)){
$smarty->assign ("phoneNumbers", array(""));
$smarty->assign("goFonPIN",$this->goFonPIN);
$display= $smarty->fetch(get_template_path('paste_generic.tpl', TRUE, dirname(__FILE__)));
- return($display);
+ $ret =array();
+ $ret['string'] = $display;
+ $ret['status'] = "";
+ return($ret);
}
+ /* Save posts from copy & paste dialog dialog */
function saveCopyDialog()
{
+ if(!$this->is_account) return;
$this->execute();
if(isset($_POST['goFonVoicemailPIN'])) {
$this->goFonVoicemailPIN = $_POST['goFonVoicemailPIN'];