function display($tpl = null)
 {
     include_once 'components/com_advancedopenportal/models/SugarCasesConnection.php';
     $user =& JFactory::getUser();
     $this->errors = array();
     $note_id = JRequest::getVar('id');
     $caseConnection = new SugarCasesConnection();
     $this->attachment = $caseConnection->getNoteAttachment($note_id);
     $finfo = finfo_open(FILEINFO_MIME_TYPE);
     $file = base64_decode($this->attachment['file']);
     $mime = finfo_buffer($finfo, $file);
     header("Content-type: " . $mime);
     header("Content-Disposition: attachment;filename=" . $this->attachment['filename']);
     echo $file;
     jexit();
 }
 public static function getInstance()
 {
     if (!self::$singleton) {
         self::$singleton = new SugarCasesConnection();
     }
     return self::$singleton;
 }
 public function __construct($object, $relations)
 {
     parent::__construct($object, $relations);
     $this->description = nl2br($this->description);
     include_once 'components/com_advancedopenportal/models/SugarCasesConnection.php';
     $caseConnection = SugarCasesConnection::getInstance();
     $this->status_display = $caseConnection->getCaseStatusDisplay($this->status);
 }
 function display($tpl = null)
 {
     include_once 'components/com_advancedopenportal/models/SugarCasesConnection.php';
     $user =& JFactory::getUser();
     $this->errors = array();
     $contact_id = $user->getParam('sugarid');
     $caseConnection = SugarCasesConnection::getInstance();
     $this->cases = $caseConnection->getCases($contact_id);
     $this->states = $caseConnection->getStates();
     $this->validPortalUser = SugarCasesConnection::isValidPortalUser($user);
     $this->userBlocked = SugarCasesConnection::isUserBlocked($user);
     $this->contact = $caseConnection->getContact($contact_id);
     // Display the view
     parent::display($tpl);
 }
 function display($tpl = null)
 {
     include_once 'components/com_advancedopenportal/models/SugarCasesConnection.php';
     $user =& JFactory::getUser();
     $this->errors = array();
     $case_id = JRequest::getVar('id');
     $caseConnection = SugarCasesConnection::getInstance();
     require_once 'components/com_advancedopenportal/models/advancedopenportal.php';
     $settings = AdvancedOpenPortalModelAdvancedOpenPortal::getSettings();
     $this->allow_case_reopen = $settings->allow_case_reopen;
     $this->allow_case_closing = $settings->allow_case_closing;
     $this->case = $caseConnection->getCase($case_id, $user->getParam("sugarid"));
     if (!$this->case) {
         JFactory::getApplication()->redirect(JURI::base() . "?option=com_advancedopenportal");
     }
     parent::display($tpl);
 }
 function display($tpl = null)
 {
     include_once 'components/com_advancedopenportal/models/SugarCasesConnection.php';
     $user =& JFactory::getUser();
     $this->errors = array();
     $caseConnection = SugarCasesConnection::getInstance();
     require_once 'components/com_advancedopenportal/models/advancedopenportal.php';
     $settings = AdvancedOpenPortalModelAdvancedOpenPortal::getSettings();
     $this->allow_priority = $settings->allow_priority;
     if ($this->allow_priority) {
         $this->priorities = $caseConnection->getPriorities();
     } else {
         $this->priorities = array();
     }
     $this->allow_type = $settings->allow_type;
     if ($this->allow_type) {
         $this->types = $caseConnection->getTypes();
     } else {
         $this->types = array();
     }
     // Display the view
     parent::display($tpl);
 }
 function addupdate()
 {
     $case_id = JRequest::getVar("case_id");
     $description = JRequest::getVar("update_text", null, 'default', 'html', 4);
     if (!$case_id) {
         echo json_encode(array('Case Id is required'));
         return;
     }
     if (!$description) {
         echo json_encode(array('Update Text is required'));
         return;
     }
     $user = JFactory::getUser();
     $contact_id = $user->getParam("sugarid");
     $casesConnection = SugarCasesConnection::getInstance();
     $case_update = $casesConnection->postUpdate($case_id, $description, $contact_id);
     $file_count = JRequest::getVar("file_count");
     if ($file_count) {
         $case_update->notes = array();
         $files = array();
         for ($count = 1; $count <= $file_count; $count++) {
             if (!array_key_exists("file" . $count, $_FILES)) {
                 continue;
             }
             $fileError = $_FILES["file" . $count]['error'];
             if ($fileError > 0) {
                 switch ($fileError) {
                     case 1:
                     case 2:
                         $errors["file" . $count] = "File too large";
                         break;
                     case 3:
                         $errors["file" . $count] = "Partial upload";
                         break;
                 }
                 continue;
             }
             $files[$_FILES["file" . $count]['name']] = $_FILES["file" . $count]['tmp_name'];
         }
         $response = $casesConnection->addFiles($case_id, $case_update->id, $contact_id, $files);
         foreach ($response as $res) {
             $case_update->notes[] = $res;
         }
     }
     echo json_encode($case_update);
 }