예제 #1
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     $syncActive = Mage::getConfig(Intelivemetrics_Unityreports_Model_Config::XML_GENERAL_STATUS);
     //stop syncing
     if ($syncActive) {
         $this->stopSync();
     }
     //reset
     $tables = array(Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/abcarts'), Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/creditnotes'), Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/customers'), Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/invoices'), Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/orders'));
     $db = Mage::getSingleton('unityreports/utils')->getDb();
     foreach ($tables as $table) {
         try {
             $db->query("TRUNCATE {$table};");
             Intelivemetrics_Unityreports_Model_Utils::log("Truncated {$table}");
         } catch (Exception $ex) {
             Intelivemetrics_Unityreports_Model_Utils::log($ex->getMessage());
             $db->closeConnection();
             //something went wrong. Stop
             return false;
         }
     }
     //start syncing
     if ($syncActive) {
         $this->startSync();
     }
     $db->closeConnection();
     //alles gut
     return $out = array('done' => true);
 }
예제 #2
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     $out = array('done' => true, 'info' => $this->_getCounters());
     //alles gut
     return $out;
 }
예제 #3
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     $out = array('done' => true, 'info' => array('phpinfo' => $this->_getSystemInfo(), 'mageinfo' => $this->_getMageInfo(), 'ga' => $this->_getGA()));
     //alles gut
     return $out;
 }
예제 #4
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     //stop syncing
     $this->stopSync();
     //alles gut
     return $out = array('done' => true);
 }
예제 #5
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     $diagnosis = "CRONS:\n            " . $this->_getCronsInfo();
     $out = array('done' => true, 'info' => $diagnosis);
     //alles gut
     return $out;
 }
예제 #6
0
 public function execute($settings = array())
 {
     Intelivemetrics_Unityreports_Model_Utils::log(__METHOD__);
     switch ($settings['entity']) {
         case Intelivemetrics_Unityreports_Model_Sync_Order::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Order();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_Invoice::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Invoice();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_Customer::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Customer();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_CustomerAction::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_CustomerAction();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_Abcart::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Abcart();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_Creditnote::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Creditnote();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_Product::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_Product();
             $s->saveSyncedItems($settings['data']);
             break;
         case Intelivemetrics_Unityreports_Model_Sync_ProductVariation::ENTITY_TYPE:
             $s = new Intelivemetrics_Unityreports_Model_Sync_ProductVariation();
             $s->saveSyncedItems($settings['data']);
             break;
     }
     //alles gut
     return $out = array('done' => true);
 }
예제 #7
0
 /**
  * Executes endpoint requested action
  * @param string $action
  */
 protected function _executeAction($action)
 {
     $actionCode = $action->type;
     if (!$actionCode) {
         Intelivemetrics_Unityreports_Model_Utils::log("Missing action code", Zend_Log::ERR);
         return false;
     }
     //check action is valid
     if (!in_array($actionCode, $this->_actions)) {
         Intelivemetrics_Unityreports_Model_Utils::log("Unknown action code {$actionCode}", Zend_Log::ERR);
         return false;
     }
     $actionKey = $action->data;
     Intelivemetrics_Unityreports_Model_Utils::log("Request for {$actionCode}", Zend_Log::INFO);
     //execute
     switch ($actionCode) {
         case self::ACTION_SYNC_RES:
             Mage::getModel('unityreports/request_syncResult')->execute(array('entity' => $action->entity, 'data' => $action->data));
             break;
         case self::ACTION_STOP_SYNC:
             $result = Mage::getModel('unityreports/request_stopSync')->execute();
             break;
         case self::ACTION_START_SYNC:
             $result = Mage::getModel('unityreports/request_startSync')->execute();
             break;
         case self::ACTION_RESET_ALL:
             $result = Mage::getModel('unityreports/request_resetAll')->execute();
             break;
         case self::ACTION_RESET_PRODUCTS:
             $result = Mage::getModel('unityreports/request_resetProducts')->execute();
             break;
         case self::ACTION_RESET_PRODUCT_COUNTERS:
             $result = Mage::getModel('unityreports/request_resetProductCounters')->execute();
             break;
         case self::ACTION_RESET_ORDERS:
             $result = Mage::getModel('unityreports/request_resetOrders')->execute();
             break;
         case self::ACTION_RESET_INVOICES:
             $result = Mage::getModel('unityreports/request_resetInvoices')->execute();
             break;
         case self::ACTION_RESET_CREDITMEMOS:
             $result = Mage::getModel('unityreports/request_resetCreditmemos')->execute();
             break;
         case self::ACTION_RESET_CUSTOMERS:
             $result = Mage::getModel('unityreports/request_resetCustomers')->execute();
             break;
         case self::ACTION_RESET_ABCARTS:
             $result = Mage::getModel('unityreports/request_resetAbcarts')->execute();
             break;
         case self::ACTION_SYNC_VERY_SLOW:
             $result = Mage::getModel('unityreports/request_setSpeed')->execute(array('very_slow'));
             break;
         case self::ACTION_SYNC_SLOW:
             $result = Mage::getModel('unityreports/request_setSpeed')->execute(array('slow'));
             break;
         case self::ACTION_SYNC_NORMAL:
             $result = Mage::getModel('unityreports/request_setSpeed')->execute(array('normal'));
             break;
         case self::ACTION_SYNC_FAST:
             $result = Mage::getModel('unityreports/request_setSpeed')->execute(array('fast'));
             break;
         case self::ACTION_SYNC_VERY_FAST:
             $result = Mage::getModel('unityreports/request_setSpeed')->execute(array('very_fast'));
             break;
         case self::ACTION_HANDSHAKE:
             $result = Mage::getModel('unityreports/request_handShake')->execute();
             break;
         case self::ACTION_GET_COUNTERS:
             $result = Mage::getModel('unityreports/request_getCounters')->execute();
             break;
         case self::ACTION_DIAGNOSE:
             $result = Mage::getModel('unityreports/request_diagnose')->execute();
             break;
         case self::ACTION_DQ:
             $result = Mage::getModel('unityreports/request_dq')->execute($action->params);
             break;
     }
     if (isset($result) && $result) {
         $this->_sendResponse($result, $actionCode, $actionKey);
     }
     return true;
 }