diff options
Diffstat (limited to 'plugins/squirrelmail_usercopy')
| -rw-r--r-- | plugins/squirrelmail_usercopy/config.inc.php.dist | 5 | ||||
| -rw-r--r-- | plugins/squirrelmail_usercopy/squirrelmail_usercopy.php | 25 |
2 files changed, 19 insertions, 11 deletions
diff --git a/plugins/squirrelmail_usercopy/config.inc.php.dist b/plugins/squirrelmail_usercopy/config.inc.php.dist index 60730a893..bd3a66d9a 100644 --- a/plugins/squirrelmail_usercopy/config.inc.php.dist +++ b/plugins/squirrelmail_usercopy/config.inc.php.dist @@ -14,3 +14,8 @@ $rcmail_config['squirrelmail_db_charset'] = 'iso-8859-1'; $rcmail_config['squirrelmail_address_table'] = 'address'; $rcmail_config['squirrelmail_userprefs_table'] = 'userprefs'; +// identities_level option value for squirrelmail plugin +// With this you can bypass/change identities_level checks +// for operations inside this plugin. See #1486773 +$rcmail_config['squirrelmail_identities_level'] = null; + diff --git a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php index 5882ea8a2..b3d223761 100644 --- a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php +++ b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php @@ -3,7 +3,7 @@ /** * Copy a new users identity and settings from a nearby Squirrelmail installation * - * @version 1.2 + * @version 1.3 * @author Thomas Bruederli, Johannes Hessellund, pommi, Thomas Lueder */ class squirrelmail_usercopy extends rcube_plugin @@ -17,7 +17,12 @@ class squirrelmail_usercopy extends rcube_plugin public function init() { $rcmail = rcmail::get_instance(); - $this->identities_level = intval($rcmail->config->get('identities_level', 0)); + + // Set identities_level for operations of this plugin + $ilevel = $rcmail->config->get('squirrelmail_identities_level'); + if (!$ilevel === null) + $ilevel = $rcmail->config->get('identities_level', 0); + $this->identities_level = intval($ilevel); $this->add_hook('create_user', array($this, 'create_user')); $this->add_hook('create_identity', array($this, 'create_identity')); @@ -27,7 +32,7 @@ class squirrelmail_usercopy extends rcube_plugin { // read prefs and add email address $this->read_squirrel_prefs($p['user']); - if (($this->identities_level == 0 || $identities_level == 2) && $this->prefs['email_address']) + if (($this->identities_level == 0 || $this->identities_level == 2) && $this->prefs['email_address']) $p['user_email'] = $this->prefs['email_address']; return $p; } @@ -71,7 +76,7 @@ class squirrelmail_usercopy extends rcube_plugin foreach ($this->abook as $rec) $contacts->insert($rec, true); } - + // mark identity as complete for following hooks $p['complete'] = true; } @@ -92,7 +97,7 @@ class squirrelmail_usercopy extends rcube_plugin $abookfile = slashify($srcdir) . $uname . '.abook'; $sigfile = slashify($srcdir) . $uname . '.sig'; $sigbase = slashify($srcdir) . $uname . '.si'; - + if (is_readable($prefsfile)) { $this->prefs = array(); foreach (file($prefsfile) as $line) { @@ -107,7 +112,7 @@ class squirrelmail_usercopy extends rcube_plugin if (isset($this->prefs['identities']) && $this->prefs['identities'] > 1) { for ($i=1; $i < $this->prefs['identities']; $i++) { - // read signature file if exists + // read signature file if exists if (is_readable($sigbase.$i)) { $this->prefs['___sig'.$i.'___'] = utf8_encode(file_get_contents($sigbase.$i)); } @@ -133,7 +138,7 @@ class squirrelmail_usercopy extends rcube_plugin $db->db_connect('r'); // connect in read mode // $db->set_debug(true); - + /* retrieve prefs */ $userprefs_table = $rcmail->config->get('squirrelmail_userprefs_table'); $address_table = $rcmail->config->get('squirrelmail_address_table'); @@ -150,7 +155,7 @@ class squirrelmail_usercopy extends rcube_plugin /* retrieve address table data */ $sql_result = $db->query('SELECT * FROM '.$address_table.' WHERE owner=?', $uname); // ? is replaced with emailaddress - + // parse addres book while ($sql_array = $db->fetch_assoc($sql_result) ) { // fetch one row from result $rec['name'] = rcube_charset_convert(rtrim($sql_array['nickname']), $db_charset); @@ -158,7 +163,7 @@ class squirrelmail_usercopy extends rcube_plugin $rec['surname'] = rcube_charset_convert(rtrim($sql_array['lastname']), $db_charset); $rec['email'] = rcube_charset_convert(rtrim($sql_array['email']), $db_charset); $rec['note'] = rcube_charset_convert(rtrim($sql_array['label']), $db_charset); - + if ($rec['name'] && $rec['email']) $this->abook[] = $rec; } @@ -166,5 +171,3 @@ class squirrelmail_usercopy extends rcube_plugin } } - -?> |
