*
* Functions require SM_PATH and support of forms.php functions
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2007 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* Since 1.5.2 hook sends third ($onlylocal) argument to address book
* plugins in order to allow detection of local address book init.
* @since 1.5.1 and 1.4.5
+ * Since 1.5.2, the plugin arguments are passed inside an array
+ * and by reference, so plugins hooking in here need to accept arguments
+ * in an array and change those values as needed instead of returning
+ * the changed values.
*/
- $hookReturn = do_hook('abook_init', $abook, $r, $onlylocal);
- $abook = $hookReturn[1];
- $r = $hookReturn[2];
+ $temp = array(&$abook, &$r, &$onlylocal);
+ do_hook('abook_init', $temp);
if (!$r && $showerr) {
if ($abook_init_error!='') $abook_init_error.="\n";
$abook_init_error.=_("Error initializing other address books.") . "\n" . $abook->error;
* NB: Because the backend files are included from within this function they DO NOT have access to
* vars in the global scope. This function is the global scope for the included backend !!!
*/
- $aBackend = do_hook('abook_add_class');
+ global $null;
+ $aBackend = do_hook('abook_add_class', $null);
if (isset($aBackend) && is_array($aBackend) && isset($aBackend[$backend])) {
require_once($aBackend[$backend]);
} else {
* @return string email address with real name prepended
*/
function full_address($row) {
- global $addrsrch_fullname, $data_dir, $username;
- $prefix = getPref($data_dir, $username, 'addrsrch_fullname');
- if (($prefix != "" || (isset($addrsrch_fullname) &&
- $prefix == $addrsrch_fullname)) && $prefix != 'noprefix') {
- $name = ($prefix == 'nickname' ? $row['nickname'] : $row['name']);
- return $name . ' <' . trim($row['email']) . '>';
- } else {
+ global $data_dir, $username;
+ $addrsrch_fullname = getPref($data_dir, $username, 'addrsrch_fullname');
+ if ($addrsrch_fullname == 'fullname')
+ return $row['name'] . ' <' . trim($row['email']) . '>';
+ else if ($addrsrch_fullname == 'nickname')
+ return $row['nickname'] . ' <' . trim($row['email']) . '>';
+ else // "noprefix"
return trim($row['email']);
- }
}
/**