Esempio n. 1
0
 /**
  * Creates a dashboard configuration object
  */
 function __construct($xmlfilename)
 {
     $this->dashboards = array();
     //read xml file and generate objects
     $xmlobject = simplexml_load_file($xmlfilename);
     //go through all dashboard sections
     foreach ($xmlobject->xpath('//dashboard') as $dashboard) {
         //save dashboard name
         $dashboardName = (string) $dashboard['name'];
         //generate dashlets and rows
         $dashboardDashlets = array();
         foreach ($dashboard->row as $row) {
             $dashboardDashletsRow = array();
             foreach ($row->dashlet as $dashlet) {
                 //save class
                 $dashletClass = (string) $dashlet['class'];
                 $dashletClass = self::CONF_DASHLET_CLASS_PATH . "\\" . $dashletClass;
                 //save refresh interval
                 $dashletRefresh = (string) $dashlet['refresh'];
                 //save parameters
                 $dashletParameter = new DashletParameter();
                 foreach ($dashlet[0]->parameter as $parameter) {
                     $key = (string) $parameter['key'];
                     $value = (string) $parameter['value'];
                     $dashletParameter->addEntry($key, $value);
                 }
                 //create dashlet
                 if (class_exists($dashletClass)) {
                     $dashboardDashletsRow[] = new $dashletClass($dashletRefresh, $dashletParameter);
                 } else {
                     $dashletParameter = new DashletParameter();
                     $dashletParameter->addEntry("message", "Dashlet class not found");
                     $dashboardDashletsRow[] = new DashletError($dashletRefresh, $dashletParameter);
                 }
             }
             $dashboardDashlets[] = $dashboardDashletsRow;
         }
         //generate and save dashboard object
         $this->dashboards[$dashboardName] = new Dashboard($dashboardName, $dashboardDashlets);
     }
 }
Esempio n. 2
0
 /**
  * Returns an DashletError object, if something went wrong
  */
 public function getErrorDashlet($errorMessage)
 {
     $dashletParameter = new DashletParameter();
     $dashletParameter->addEntry("message", $errorMessage);
     return new DashletError(30, $dashletParameter);
 }