status = $this->status (); } //*************************** // GETTER / SETTER //*************************** public function __get ($name) { switch ($name) { case "is_admin": return User::get ("is_admin"); case "may_edit_users": return User::get ("is_admin") || User::get ("may_edit_users"); case "may_make_backups": return User::get ("is_admin") || User::get ("may_make_backups"); case "may_edit_i18n": return User::get ("is_admin") || User::get ("may_edit_i18n"); case "install_disabled": return Setting::get ("config", "disable_install"); case "cms_disabled": return Setting::get ("system", "disable_cms"); case "cms_disabled_message": return preg_replace ("/\n/s", "
", Setting::get ("system", "disable_message")); default: return $this->$name; } } public function __set ($name, $value) { } private function status () { $status = array (); $status['user'] = User::get (); $status['user']['realname'] = isset ($status['user']['realname']) ? $status['user']['realname'] : "Nobody"; // anzahl Änderungen $changes = Group::getEditList (); foreach ($changes as $key => $row) { if (!Ticket::useTickets () && ($row['status'] & Base::STATUS_ONLINE)) { // online stehende Gruppen aus Liste entfernen unset ($changes[$key]); } } $status['version'] = Setting::VERSION.".".Setting::REVISION; $status['changes'] = count ($changes); $ticket = Ticket::get (Ticket::selected ()); $status['ticket'] = ($ticket && Ticket::useTickets ()) ? (($ticket['id']==Ticket::SERVER_ID) ? I18n::tr ("edit", "ticket/default ticket", "default ticket") : $ticket['name']) : ""; $status['ticket_selected'] = (!Ticket::useTickets () || Ticket::selected ()); $status['messages'] = array (); if (User::get ("is_admin") && Setting::get ("system", "errors")) { $status['messages'][] = array ('type' => "error", 'onclose' => "delErrors ()", 'text' => preg_replace ("/\n/s", "
", Setting::get ("system", "errors"))); } $status['quickbar']['disabledButtons']['previous'] = true; $status['quickbar']['disabledButtons']['next'] = true; $lc = I18n::lc (); $lc = (file_exists (Setting::get ("config", "documentRoot")."/".Setting::get ("config", "cmsPath")."/docu/usermanual_$lc.pdf")) ? $lc : "en"; $status['help'] = Setting::get ("config", "cmsPath") . "/docu/usermanual_$lc.pdf"; $status['statusbar']['value'] = "Powered by Spitfire"; if (User::get ("is_admin")) { $status['statusbar']['value'] .= ""; } return $status; } public function logout () { User::logout (); } public function message ($text) { return I18n::tr ("edit", "main/$text", $text); } public function delErrors () { Setting::del ("system", "errors", false); } public function tips () { $path = Setting::get ("config", "documentRoot")."/".Setting::get ("config", "cmsPath")."/docu/"; $lc = I18n::lc (); $lc = (file_exists ($path."tips_$lc.xml")) ? $lc : "en"; $tips = file_get_contents ($path . "tips_$lc.xml"); $tips = preg_replace ("/\<\!--.*?--\>/", "", $tips); $tips = preg_replace ("/\>\s+\<", $tips); return $tips; } // Wandelt das gegebene Array/Text in eine Form um, die direkt einer JavaScript Variablen zugewiesen werden kann public function toJavaScript ($value) { if (is_array ($value)) { $values = array (); foreach ($value as $key => $val) { $values[] = "'$key':".$this->toJavaScript ($val); } return "{".implode (",", $values)."}"; } else { $value = Database::escape ($value); return ($value===true) ? "true" : (($value===false) ? "false" : "'$value'"); } } } ?>