diff --git a/include/ajax.orgs.php b/include/ajax.orgs.php index 393c6dde48ba1d0a797bf34447d12ce28c526962..b8309a55edae5ecfadf028e155b7ca45bc27bac4 100644 --- a/include/ajax.orgs.php +++ b/include/ajax.orgs.php @@ -15,6 +15,7 @@ if(!defined('INCLUDE_DIR')) die('403'); +require_once INCLUDE_DIR . 'class.organization.php'; include_once(INCLUDE_DIR.'class.ticket.php'); class OrgsAjaxAPI extends AjaxController { diff --git a/include/class.forms.php b/include/class.forms.php index fbd136a9a1e780abb3c7d1487010e4c9c046755c..e744f172cc41cd4b3cd073f659da8b2c1b888540 100644 --- a/include/class.forms.php +++ b/include/class.forms.php @@ -799,7 +799,8 @@ class FormField { } function getTranslateTag($subtag) { - return _H(sprintf('field.%s.%s', $subtag, $this->get('id'))); + return _H(sprintf('field.%s.%s.%s', $subtag, $this->get('id'), + $this->get('form_id', '*internal*'))); } function getLocal($subtag, $default=false) { $tag = $this->getTranslateTag($subtag); diff --git a/include/class.staff.php b/include/class.staff.php index 1f7a3a3dcb711c34c045b97945cf663a78280192..e5b2f7d22e1dfded4b4edd674c277d7c70dc4fa0 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -61,7 +61,9 @@ implements AuthenticatedUser { } function getHashtable() { - return $this->ht; + $base = $this->ht; + $base['group'] = $base['group_id']; + return $base; } function getInfo() { diff --git a/include/class.user.php b/include/class.user.php index c1cae53106c8e75c49f2782f0017bf080236bc66..aa016cd00ef53350f3d7d52480d208f55c62be4a 100644 --- a/include/class.user.php +++ b/include/class.user.php @@ -16,6 +16,7 @@ **********************************************************************/ require_once INCLUDE_DIR . 'class.orm.php'; require_once INCLUDE_DIR . 'class.util.php'; +require_once INCLUDE_DIR . 'class.organization.php'; class UserEmailModel extends VerySimpleModel { static $meta = array( @@ -37,6 +38,7 @@ class UserModel extends VerySimpleModel { static $meta = array( 'table' => USER_TABLE, 'pk' => array('id'), + 'select_related' => array('default_email'), 'joins' => array( 'emails' => array( 'reverse' => 'UserEmailModel.user', @@ -56,17 +58,15 @@ class UserModel extends VerySimpleModel { 'null' => true, 'constraint' => array('default_email_id' => 'UserEmailModel.id') ), + 'cdata' => array( + 'constraint' => array('id' => 'UserCdata.user_id'), + 'null' => true, + ), ) ); const PRIMARY_ORG_CONTACT = 0x0001; - static function objects() { - $qs = parent::objects(); - #$qs->select_related('default_email'); - return $qs; - } - function getId() { return $this->id; } diff --git a/include/class.usersession.php b/include/class.usersession.php index 999d3adb4f550554f25a71fcb8d654723a5cd81e..1d0b8e0b1862b9c2ddfadac651074415ce6127b7 100644 --- a/include/class.usersession.php +++ b/include/class.usersession.php @@ -162,9 +162,10 @@ class StaffSession extends Staff { var $token; static function lookup($var) { - $staff = parent::lookup($var); - $staff->token = &$_SESSION[':token']['staff']; - $staff->session= new UserSession($staff->getId()); + if ($staff = parent::lookup($var)) { + $staff->token = &$_SESSION[':token']['staff']; + $staff->session= new UserSession($staff->getId()); + } return $staff; } diff --git a/scp/orgs.php b/scp/orgs.php index 22cd2aeca213b7b6452b577d49390588fe87d822..bb16dcce7e2f8da7ea949d7c1a2b9f9c1fc9bf6f 100644 --- a/scp/orgs.php +++ b/scp/orgs.php @@ -13,6 +13,7 @@ vim: expandtab sw=4 ts=4 sts=4: **********************************************************************/ require('staff.inc.php'); +require_once INCLUDE_DIR . 'class.organization.php'; require_once INCLUDE_DIR . 'class.note.php'; $org = null;