Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/patientapps_support/modules/ticket/model/ |
Upload File : |
<?php
class Project_Model extends DataBase_Model {
// get a list of projects from PA.COM - save in cache - updated daily
const PROJECTS = [
'.corp' => 'patientapps.com - Main website',
'.portal' => 'portal.patientapps.net - client portal (generic)',
'.live' => 'live.patientapps.net - client portal',
'.athena' => 'athenahealth.patientapps.net - client portal (athenahealth)',
'.pai' => 'pai.patientapps.net - client portal (patientapps staff)',
'.myapp' => 'myapp.care',
'.api' => 'patientapps.net - Procedure Guide API',
'.helpdesk' => 'helpdesk.patientapps.com',
'.cms' => 'patientapps.co - content management',
];
public function __construct() {
parent::__construct();
}
public function asArray() {
return static::PROJECTS;
}
protected function loadProcedureGuides() {
$filename = HOME . '/storage/guidelist.json';
if (file_exists($filename)) {
$guides = json_decode(file_get_contents($filename), TRUE);
} else {
$guides = [ 'expiry' => 0, 'data' => [] ];
}
if ($guides['expiry'] < time()) {
$n = new \CurlObject();
$n ->Url('https://patientapps.com/provision/product_json')
->Redirect(1)
->Execute();
$guides = json_decode($n->Body(), TRUE);
$guides = [
'expiry' => time() + 86400,
'data' => $guides,
];
file_put_contents($filename, str_replace('\\/', '/', json_encode($guides)));
}
return $guides['data'];
}
public function asHandleBars() {
$result = [];
$node = [];
foreach(static::PROJECTS as $key => $value) {
$node[] = [
'key' => $key,
'caption' => $value,
];
}
$result[] = [
'caption' => 'Websites',
'item' => $node,
];
$guides = $this->loadProcedureGuides();
foreach($guides as &$specialty) {
foreach($specialty['item'] as &$item) {
$item['caption'] .= " [{$item['key']}]";
}
}
return array_merge($result, $guides);
}
public function AsDescription($key) {
return static::PROJECTS[$key] ?? NULL;
}
}