var $local_base_url = false;
+ var $emailTemplates = array(
+ 'EVENT_ERRORS_REPORT' => array(
+ 'bcc_group' => 'Administrators',
+ 'test_class' => 'Pman/Coba/DataObjects/Ext_data',
+ 'to_group' => 'Review Submission Group',
+ 'active' => 0,
+ 'description' => '9. System Error Messages'
+ )
+ );
+
function getAuth() {
$this->checkSystem();
+ $this->verifyExtensions(array('curl'));
+
if (class_exists('PDO_DataObjects_Introspection')) {
PDO_DataObject_Introspection::$cache = array();
}
$this->clearApacheDataobjectsCache();
-
+ $this->clearApacheAssetCache();
}
+
function output() {
echo "\nUpdate Completed SUCCESS\n";
return '';
// new -- sql directory..
// new style will not support migrate ... they have to go into mysql-migrate.... directories..
// new style will not support pg.sql etc.. naming - that's what the direcotries are for..
+ $dbdir = $dbtype == 'mysqli' ? 'mysql' : $dbtype;
$this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/sql");
- $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbtype}");
+ $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbdir}");
}
// initEmails will always have the latest location of the test class - in theory the user should not be changign the value of this...
//if (empty($cm->test_class)) {
- if (empty($data['test_class'])) {
- $this->jerr("missing test_class for template $name");
- }
- $cm->test_class = $data['test_class'];
+ if (empty($data['test_class'])) {
+ $this->jerr("missing test_class for template $name");
+ }
+
+ $cm->test_class = $data['test_class'];
//}
if(isset($cm->to_group_id)) {
print_r('isset');
$cm->active = $data['active'];
}
+ if(!empty($data['description'])){
+ $cm->description = $cm->escape($data['description']);
+ }
+
require_once $cm->test_class . '.php';
$clsname = str_replace('/','_', $cm->test_class);
function clearApacheDataobjectsCache()
{
-
+ echo "Clearing Database Cache\n";
// this needs to clear it's own cache along with remote one..
- $url = "http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache";
- $response = $this->curl($url);
+ $response = $this->curl("http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache");
$json = json_decode($response, true);
if(empty($json['data']) || $json['data'] != 'DONE'){
echo $response. "\n";
- echo "CURL clear cache failed\n";
+ echo "Clear DataObjects Cache failed\n";
+ exit;
+ }
+
+ }
+
+
+ function clearApacheAssetCache()
+ {
+ echo "Clearing Asset Cache\n";
+ $response = $this->curl(
+ "http://localhost{$this->local_base_url}/Core/Asset",
+ array( '_clear_cache' => 1 ,'returnHTML' => 'NO' ),
+ 'POST'
+ );
+ $json = json_decode($response, true);
+
+ if(empty($json['success']) || !$json['success']) {
+ echo $response. "\n";
+ echo "CURL Clear Asset cache failed\n";
exit;
}
}
+
function curl($url, $request = array(), $method = 'GET')
{
if($method == 'GET'){
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
} else {
-
curl_setopt($ch, CURLOPT_HTTPHEADER,
array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($request)));
return $response;
}
-
+ static function verifyExtensions($extensions)
+ {
+ $error = array();
+
+ foreach ($extensions as $e){
+
+ if(extension_loaded($e)) {
+ continue;
+ }
+
+ $error[] = "Error: Please install php extension: {$e}";
+ }
+
+ if(empty($error)){
+ return true;
+ }
+ $ff = HTML_FLexyFramework::get();
+
+ $ff->page->jerr(implode('\n', $error));
+ }
}