/** * This action is used to save update json in logmanager(removes 30 days before content and saves in logmanagercron) . */ public function logcronAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout()->disableLayout(); $logmanager_model = new Default_Model_Logmanager(); $logmanagercron_model = new Default_Model_Logmanagercron(); $logData = $logmanager_model->getLogManagerData(); $i = 0; if (count($logData) > 0) { foreach ($logData as $record) { if (isset($record['log_details']) && !empty($record['log_details'])) { $id = $record['id']; $menuId = $record['menuId']; $actionflag = $record['user_action']; $userid = $record['last_modifiedby']; $keyflag = $record['key_flag']; $date = $record['last_modifieddate']; $jsondetails = '{"testjson":[' . $record['log_details'] . ']}'; $jsonarr = @get_object_vars(json_decode($jsondetails)); $mainTableJson = ''; $cronTableJson = ''; if (!empty($jsonarr)) { $mainJsonArrayCount = count($jsonarr['testjson']); foreach ($jsonarr['testjson'] as $key => $json) { $jsonVal = @get_object_vars($json); if (!empty($jsonVal)) { $jsondate = explode(' ', $jsonVal['date']); $datetime1 = new DateTime($jsondate[0]); $datetime2 = new DateTime(); $interval = $datetime1->diff($datetime2); $interval = $interval->format('%a'); if ($interval > 30) { if ($cronTableJson == '') { $cronTableJson .= json_encode($jsonVal); } else { $cronTableJson .= ',' . json_encode($jsonVal); } if (isset($jsonVal['recordid']) && $jsonVal['recordid'] != '') { $keyflag = $jsonVal['recordid']; } } else { if ($mainTableJson == '') { $mainTableJson .= json_encode($jsonVal); } else { $mainTableJson .= ',' . json_encode($jsonVal); } } } if ($mainJsonArrayCount - 1 == $key) { // if all are greater than 30 days if ($mainTableJson == '') { $mainTableJson .= json_encode($jsonVal); } } } try { if ($cronTableJson != '' && $mainTableJson != '') { $result = $logmanager_model->UpdateLogManagerWhileCron($id, $mainTableJson); if ($result) { $InsertId = $logmanagercron_model->InsertLogManagerCron($menuId, $actionflag, $cronTableJson, $userid, $keyflag, $date); } $i++; } } catch (Exception $e) { echo $e->getMessage(); exit; } } } } } }