loadFile("./Cached_Alerts.xml");
$cached_alerts = $doc->getRootDataObject();
// Use the alertService reference
$request = $this->alert_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/service",
"getAllNewAlerts");
$request->parm = "AString";
$new_alerts = $this->alert_service->getAllNewAlerts($request);
foreach($new_alerts->parm->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){
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()
{
$request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources",
"getAlertSources");
$request->parm = "AString";
$alert_sources = $this->alert_sources_service->getAlertSources($request);
$return_table = "\n";
$no_of_sources = 0;
foreach ($alert_sources->parm->Source as $alert_source){
$source_id = $alert_source->Id;
$return_row = <<
$alert_source->Name
|
Edit |
Delete |
|
SOURCEROW;
$return_table = $return_table . $return_row;
$no_of_sources = $no_of_sources + 1;
}
$source_id = $no_of_sources + 1;
$return_row = <<
Add new Alert Source |
|
ADDROW;
$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){
$this->alert_sources_service->removeAlertSource($source_id);
}
/**
* @param SingleSourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types
*/
public function addAlertSource($alert_source){
$request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources",
"addAlertSource");
$source = $request->createDataObject("parm");
$source->Name = $alert_source->Name;
$source->Address = $alert_source->Address;
$source->Id = $alert_source->Id;
$source->Type = $alert_source->Type;
$this->alert_sources_service->addAlertSource($request);
}
/**
* @param SourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types
*/
public function updateAlertSource($alert_source){
$this->alert_sources_service->updateAlertSource($alert_source);
}
}
/* Some debugging lines
ob_start();
print_r( $new_alerts );
$debug = ob_get_contents();
ob_end_clean();
SCA::$logger->log($debug);
*/
?>