loadFile("./Cached_Alerts.xml");
$cached_alerts = $doc->getRootDataObject();
// Use the alertService reference
$new_alerts = $this->alert_service->getAllNewAlerts();
foreach($new_alerts->alert as $alert){
$new_alert = $cached_alerts->createDataObject('alert');
$new_alert->title = $alert->title;
$new_alert->summary = $alert->summary;
$new_alert->address = $alert->address;
$new_alert->date = $alert->date;
$new_alert->sourceid = $alert->sourceid;
$new_alert->unread = true;
}
$return_table = "
";
$alert_id_number = 0;
foreach($cached_alerts->alert as $alert){
$alert->id = "alert_" . $alert_id_number;
$title = substr($alert->title,0,80);
$summary = substr($alert->summary,0,40);
$unread_string = $alert->unread ? "unread_title" : "read_title";
$return_row = <<
$title
- $summary ...
|
$alert->date
|
ALERTROW;
$return_table = $return_table . $return_row;
$alert_id_number += 1;
}
$return_table = $return_table . "
";
// as php is one shot we have to save away the alerts we want to cache
$xmldas->saveFile($doc, "./Cached_Alerts.xml");
return $return_table;
}
/**
* @param string $alert_id
* @return string
*/
public function readAlert($alert_id)
{
$xmldas = SDO_DAS_XML::create("./Alerter.xsd");
$doc = $xmldas->loadFile("./Cached_Alerts.xml");
$cached_alerts = $doc->getRootDataObject();
$return_summary = "";
foreach($cached_alerts->alert as $alert){
SCA::$logger->log($alert->id . " vs " . $alert_id );
if (strcmp($alert->id,$alert_id) == 0){
SCA::$logger->log("Match");
$alert->unread = false;
$return_summary = "" . $alert->summary . "
";
}
}
// as php is one shot we have to save away the alerts we want to cache
$xmldas->saveFile($doc, "./Cached_Alerts.xml");
return $return_summary;
}
/**
* @return string
*/
public function getAlertSourcesHTMLTable()
{
# Use the alertService reference
$alert_sources = $this->alert_service->getAlertSources();
// some debug
//ob_start();
//print_r( $alert_sources );
//$debug = ob_get_contents();
//ob_end_clean();
//SCA::$logger->log($debug);
$return_table = "\n";
foreach ($alert_sources->source as $alert_source){
$source_id = $alert_source->id;
$return_row = <<
$alert_source->name
|
Edit |
Delete |
|
SOURCEROW;
$return_table = $return_table . $return_row;
}
$return_table = $return_table . "
\n";
return $return_table;
}
/**
* @param integer $source_id
* @return string
*/
public function deleteAlertSource($source_id){
# Use the alertService reference
$this->alertService->removeAlertSource($source_id);
//TODO
}
/**
* @param source $alert_source http://tuscany.apache.org/samples/alerter
*/
public function addAlertSource($alert_source){
# Use the alertService reference
$this->alertService->addAlertSource($alert_source);
}
/**
* @param source $alert_source http://tuscany.apache.org/samples/alerter
*/
public function updateAlertSource($alert_source){
# Use the alertService reference
$this->alertService->updateAlertSource($alert_source);
}
}
?>