function view() { global $option; JHTML::stylesheet('obstyle.css', 'administrator/components/' . $option . '/assets/css/'); JHtml::_('script', 'system/core.js', false, true); JToolBarHelper::title(JText::_('View Logs'), 'cronlog.png'); // JToolBarHelper::preferences('com_wppipes', '500', '700'); JToolBarHelper::divider(); // JToolBarHelper::back(); // JToolBarHelper::back('Dashboard','index.php?option=com_wppipes'); // $bar = JToolBar::getInstance('toolbar'); // $iwant_button = " // <div class=\"btn-group\"> // <button type=\"button\" class=\"btn btn-small btn-info dropdown-toggle\" onclick=\"display_form();\"> // ".JText::_('COM_OBGRABBER_I_WANT')." // </button> // <div class=\"dropdown-iwant\" id=\"dropdown-iwant\" style=\"display:none;\"> // <form role=\"form\"> // <div class=\"form-group\"> // <textarea rows=\"10\" name=\"iwant\" id=\"iwantto\" class=\"input-xlarge\"></textarea> // </div> // <div class=\"form-group\"> // <span class=\"input-group-btn\"> // <a id=\"iw_btn\" class=\"btn btn-default btn-primary\" href=\"#\">".JText::_('COM_OBGRABBER_SEND')."</a> // </span> // </div> // </form> // </div> // </div> // "; // $bar->appendButton('Custom', $iwant_button, 'iwant'); ogb_common::renderIWantBtn(); //JToolBarHelper::custom('back','back.png', 'back.png', JText::_('COM_OBGRABBER_BACK'), false,false); $logName = array(); if (is_dir(OGRAB_CACHE_LOG)) { $logs = JFolder::files(OGRAB_CACHE_LOG, '.', true, true); foreach ($logs as $log) { $log = str_replace(DS . '/', DS . DS, $log); $logName[] = str_replace(OGRAB_CACHE_LOG . DS, '', $log); } asort($logName); $lastestlog = count($logName) - 1; } else { $lastestlog = -1; } $saveds = CronLog::getFiles(OGRAB_CACHE_SAVED); $items = $saveds->items; $lastSave = $saveds->total > 0 ? $items[$saveds->total - 1] : ''; if ($lastestlog == -1) { $nDefault = $lastSave; } else { $nDefault = $lastSave != '' ? $lastSave : $logName[$lastestlog]; } $logN = JRequest::getVar('name', $nDefault); $showsize = JRequest::getVar('showsize', 0); //$style = "<style>" //."li {color:#333333;}" //."li hr {margin:5px;border:1px dashed #dddddd;}" //."row-fluid .span10 { width: 95%;}" //."</style>"; //echo $style; //$st ='background:#f8f8f8;border:1px solid #ddd;float:left;height:400px;overflow:auto;padding:5px;margin-left:5px;'; $com_url = 'index.php?option=com_wppipes&controller=items&task=viewlog'; echo ' <div class="foobla"> <div class="row"> '; echo ' <div class="col-md-3 well well-small"> <h3 class="text-error">Cron-Job work</h3> '; if ($lastestlog == -1) { echo '<span style="color:#666666;"><i>No Logs available: To enable Cronjob you need to open Options > Cronjob > Enable: Yes</i></span>'; //return ; } else { echo "<ol>"; $k = 1; for ($i = $lastestlog; $i > -1; $i--) { if ($k < 101) { if ($showsize) { $fileZise = CronLog::getCByte(filesize(OGRAB_CACHE_LOG . DS . $logName[$i])); $size = " <i>({$fileZise})</i>"; } else { $size = ''; } if ($logN == $logName[$i]) { $fileZise = CronLog::getCByte(filesize(OGRAB_CACHE_LOG . DS . $logName[$i])); $size = " <i>({$fileZise})</i>"; echo "<li><b style=\"color:#444444;\">{$logName[$i]}</b>{$size}</li>"; } else { echo "<li><a href=\"{$com_url}&name={$logName[$i]}&type=log\">{$logName[$i]}</a>{$size}</li>"; } } else { JFile::delete(OGRAB_CACHE_LOG . DS . $logName[$i]); } $k++; } echo "</ol>"; } echo "</div>"; $logSave = JRequest::getVar('type', 'saved') == 'saved'; if ($logSave) { $logF = JPath::clean(OGRAB_CACHE_SAVED . $logN); } else { $logF = JPath::clean(OGRAB_CACHE_LOG . $logN); } if (is_file($logF)) { $logC = JFile::read($logF); if ($logSave) { $logC = "<ol>{$logC}</ol>"; } } else { $logC = '<i>No exist Log!</i>'; } echo "<div class=\"col-md-6 well well-small\"><h3 style=\"color:#009900\">Logs Details</h3>{$logC}</div>"; echo "<div class=\"col-md-3 well well-small\"><h3 style=\"color:#ff6600;\">Saved items</h3>"; if ($saveds->total > 0) { echo '<ol>'; $k = 1; for ($i = $saveds->total - 1; $i > -1; $i--) { if ($k < 101) { if ($logN == $items[$i]) { $fileZise = CronLog::getCByte(filesize(OGRAB_CACHE_SAVED . $items[$i])); echo "<li><b>{$items[$i]}</b> <i>({$fileZise})</i></li>"; } else { echo "<li><a href=\"{$com_url}&name={$items[$i]}&type=saved\">{$items[$i]}</a></li>"; } } else { JFile::delete(OGRAB_CACHE_SAVED . $items[$i]); } $k++; } echo '</ol>'; } else { echo '<i>None saved</i>'; } echo '</div></div></div>'; return; }
/** * Log the command was run into cron log table and email to DEV_EMAILS cron log result * * @param string $action * @param array $params * @param int $exitCode * * @return int|void */ public function afterAction($action, $params, $exitCode = 0) { parent::afterAction($action, $params, $exitCode = 0); $commandName = $_SERVER['argv'][1]; $params = json_encode($params); $serverName = gethostname(); $model = new CronLog(); $model->command_name = $commandName; $model->params = $params; $model->server_name = $serverName; $logFile = $this->getLogFile(); $model->run_log = @file_get_contents($logFile); if ($this->emailLog) { $logs = "{$commandName} is run at " . date('m/d/Y h:i:s') . "\n"; $logs .= 'Parameters: ' . print_r($_SERVER['argv'], 1) . "\n"; $logs .= $this->getLogs(); $logs .= print_r($_SERVER, 1); xmail($commandName . ' run log', nl2br($logs), SETTINGS_DEV_EMAILS); } @unlink($logFile); $model->save(); }