function get($args, $opts=array())
{
- print_R($opts);
-
+
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
$this->checkSystem();
if (class_exists('PDO_DataObjects_Introspection')) {
PDO_DataObject_Introspection::$cache = array();
}
-
+ echo "Generate DB cache\n";
HTML_FlexyFramework::get()->generateDataobjectsCache(true);
-
+ echo "Generated DB cache\n";
$ff = HTML_FlexyFramework::get();
if(!isset($ff->Pman) || !isset($ff->Pman['local_base_url'])){
$this->opts = $opts;
if (!empty($opts['debug'])) {
- echo "Setting debug Level : {$opts['debug']}\n";
- DB_DataObject::DebugLevel($opts['debug']);
+ DB_DataObject::DebugLevel($opts['debug']);
}
-
// ask all the modules to verify the opts
-
+ echo "Checi options\n";
$this->checkOpts($opts);
return;
}
+
+
$this->runUpdateModulesData();
if (!empty($opts['add-company']) && !in_array('Core', $this->disabled)) {
$this->runExtensions();
- $this->generateDataobjectsCache();
+ $this->clearApacheDataobjectsCache();
-
+ $this->clearApacheAssetCache();
}
+
function output() {
echo "\nUpdate Completed SUCCESS\n";
return '';
PDO_DataObject_Introspection::$cache = array();
}
HTML_FlexyFramework::get()->generateDataobjectsCache(true);
+
+
$this->updateDataEnums();
$this->updateDataGroups();
$this->updateDataCompanies();
}
- function generateDataobjectsCache()
+ function clearApacheDataobjectsCache()
{
- $url = "http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache";
-
- $this->curl($url);
+ echo "Clearing Database Cache\n";
+ // this needs to clear it's own cache along with remote one..
+
+
+ $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 "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;
}
-
+ function verifyExtensions($extensions)
+ {
+ $error = array();
+
+ foreach ($extensions as $e){
+
+ if(extension_loaded($e)) {
+ continue;
+ }
+
+ $error[] = "Error: Please install php {$e} extensions";
+ }
+
+ if(empty($error)){
+ return;
+ }
+
+ die(implode('\n', $error));
+ }
}