function getZendeskConnection() { global $current_user; $read_only = true; $zendesk_https = false; $zendesk_helper = new ZendeskHelper(); $admin = new Administration(); $admin->retrieveSettings('system'); if ($admin->settings['system_zendesk_instance']) { $zendesk_instance = $admin->settings['system_zendesk_instance']; } else { throw new Exception('Zendesk credentials not configured'); } if ($admin->settings['system_zendesk_https']) { $zendesk_https = true; } $personal_login = $zendesk_helper->getPersonalConfigValue('login'); if ($personal_login && $personal_login != '') { $read_only = false; $zendesk_login = $personal_login; $zendesk_password = $zendesk_helper->getPersonalConfigValue('password'); } else { $zendesk_login = $zendesk_helper->getGlobalConfigValue('login'); $zendesk_password = $zendesk_helper->getGlobalConfigValue('password'); } $c = new Zendesk($zendesk_instance, $zendesk_login, $zendesk_password, true, $zendesk_https); $c->read_only = $read_only; return $c; }
public function display() { global $current_user; echo $this->getModuleTitle(); $this->ss->assign("RETURN_MODULE", $_REQUEST['return_module']); $this->ss->assign("RETURN_ACTION", $_REQUEST['return_action']); $this->ss->assign("RETURN_ID", $_REQUEST['return_id']); $zendesk_helper = new ZendeskHelper(); $zendesk_instance = $zendesk_helper->getConfigValue('instance'); if ($zendesk_instance == null) { echo "Thank you for installing Zendesk for SugarCRM.<br/>"; echo "Administrators, please start with <a href='index.php?module=zd_Tickets&action=config'>configuring your Zendesk credentials</a>."; } else { $connection = getZendeskConnection(); $this->ss->assign('zendesk_instance', $connection->url()); $this->ss->assign('current_user_id', '_' . $current_user->user_name); $this->ss->assign('zendesk_login', $zendesk_helper->getPersonalConfigValue('login')); $this->ss->assign('per_page', $zendesk_helper->getConfigValue('per_page', '6')); $this->ss->assign('sort', $zendesk_helper->getConfigValue('sort', '1')); $this->ss->assign('order_by', $zendesk_helper->getConfigValue('order_by', 'priority')); $this->ss->assign('status_filter', $zendesk_helper->getConfigValue('status_filter', 'lsolved')); $this->ss->assign('priority_filter', $zendesk_helper->getConfigValue('priority_filter', 'any')); $this->ss->assign('type_filter', $zendesk_helper->getConfigValue('type_filter', 'any')); $this->ss->assign('statusoptions', $zendesk_helper->getStatusFilterOptions()); $this->ss->assign('priorityoptions', $zendesk_helper->getPriorityFilterOptions()); $this->ss->assign('typeoptions', $zendesk_helper->getTypeFilterOptions()); $this->ss->assign('columns', $zendesk_helper->getColumnOptions()); $this->ss->display('modules/zd_Tickets/tpls/personalconfig.tpl'); } }