/** * @desc Visualiza todos los logs existentes para un determinado software **/ function showLogs() { global $tpl, $xoopsConfig, $xoopsModule, $functions, $xoopsSecurity; define('RMCSUBLOCATION', 'itemlogs'); $item = isset($_REQUEST['item']) ? intval($_REQUEST['item']) : 0; $sw = new DTSoftware($item); $db = XoopsDatabaseFactory::getDatabaseConnection(); $tc = TextCleaner::getInstance(); $tf = new RMTimeFormatter(0, __('%m%-%d%-%Y%', 'dtransport')); $sql = "SELECT * FROM " . $db->prefix('dtrans_logs') . " WHERE id_soft={$item}"; $result = $db->queryF($sql); while ($rows = $db->fetchArray($result)) { $log = new DTLog(); $log->assignVars($rows); $logs[] = array('id' => $log->id(), 'title' => $log->title(), 'log' => $tc->truncate($tc->clean_disabled_tags($log->log()), 80), 'date' => $tf->format($log->date())); } xoops_cp_location("<a href='./'>" . $xoopsModule->name() . "</a> » <a href='./items.php'>" . sprintf(_AS_DT_SW, $sw->getVar('name')) . "</a> » " . _AS_DT_LOGS); $functions->toolbar(); $tpl->add_style('admin.css', 'dtransport'); $tpl->add_local_script('admin.js', 'dtransport'); $tpl->add_local_script('jquery.checkboxes.js', 'rmcommon', 'include'); include DT_PATH . '/include/js_strings.php'; xoops_cp_header(); include $tpl->get_template('admin/dtrans_logs.php', 'module', 'dtransport'); xoops_cp_footer(); }
/** * Muestra las características existentes de una descarga */ function dt_show_logs($edit = 0) { global $xoopsOption, $db, $tpl, $xoopsTpl, $xoopsUser, $mc, $dtfunc, $page, $item, $xoopsConfig, $xoopsModuleConfig, $log; include 'header.php'; $dtfunc->cpHeader($item, sprintf(__('%s Logs', 'dtransport'), $item->getVar('name'))); if ($log > 0 && $edit) { $log = new DTLog($log); if ($log->isNew() || $log->software() != $item->id()) { redirect_header(DT_URL . ($mc['permalinks'] ? '/cp/logs/' . $item->id() . '/' : '/?p=cpanel&action=logs&id=' . $item->id()), 1, __('Specified log does not exists!', 'dtransport')); } } $tc = TextCleaner::getInstance(); $tf = new RMTimeFormatter('', "%M% %d%, %Y%"); $sql = "SELECT * FROM " . $db->prefix('dtrans_logs') . " WHERE id_soft=" . $item->id(); $result = $db->queryF($sql); while ($rows = $db->fetchArray($result)) { $lg = new DTLog(); $lg->assignVars($rows); $xoopsTpl->append('logs', array('id' => $lg->id(), 'title' => $lg->title(), 'date' => $tf->format($lg->date()), 'software' => $item->getVar('name'), 'links' => array('edit' => DT_URL . ($mc['permalinks'] ? '/cp/logs/' . $item->getVar('nameid') . '/edit/' . $lg->id() . '/' : '/?p=cpanel&id=' . $item->id() . '&action=logs&log=' . $lg->id()), 'delete' => DT_URL . ($mc['permalinks'] ? '/cp/logs/' . $item->getVar('nameid') . '/delete/' . $lg->id() . '/' : '/?p=cpanel&id=' . $item->id() . '&action=delete&log=' . $lg->id())))); } $formurl = DT_URL . ($mc['permalinks'] ? '/cp/logs/' . $item->id() . '/save/' . ($edit ? $log->id() : '0') . '/' : '/p=cpanel'); // logs Form $form = new RMForm($edit ? sprintf(__('Editing log of "%s"', 'dtransport'), $item->getVar('name')) : sprintf(__('New log for "%s"', 'dtransport'), $item->getVar('name')), 'frmLog', $formurl); $form->addElement(new RMFormLabel(__('Download item', 'dtransport'), $item->getVar('name'))); $form->addElement(new RMFormText(__('Log title', 'dtransport'), 'title', 50, 200, $edit ? $log->title() : ''), true); $form->addElement(new RMFormEditor(__('Log content', 'dtransport'), 'content', 'auto', '350px', $edit ? $log->log('e') : ''), true); $form->addElement(new RMFormHidden('action', 'save')); $form->addElement(new RMFormHidden('id', $item->id())); $form->addElement(new RMFormHidden('log', $edit ? $log->id() : 0)); $form->addElement(new RMFormHidden('op', 'save')); $buttons = new RMFormButtonGroup(); $buttons->addButton('sbt', _SUBMIT, 'submit'); $buttons->addButton('cancel', _CANCEL, 'button', 'onclick="window.location=\'' . (DT_URL . ($mc['permalinks'] ? '/cp/logs/' . $item->id() . '/' : '/?p=cpanel&action=logs&id=' . $item->id())) . '\';"'); $form->addElement($buttons); $xoopsTpl->assign('log_form', $form->render()); $tpl->add_xoops_style('cpanel.css', 'dtransport'); $tpl->add_head_script('$(document).ready(function(){ $("a.delete").click(function(){ if(!confirm("' . __('Do you really want to delete selected log?', 'dtransport') . '")) return false; }); });'); $xoopsTpl->assign('lang_id', __('ID', 'dtransport')); $xoopsTpl->assign('lang_title', __('Title', 'dtransport')); $xoopsTpl->assign('lang_created', __('Date', 'dtransport')); $xoopsTpl->assign('lang_options', __('Options', 'dtransport')); $xoopsTpl->assign('lang_edit', __('Edit', 'dtransport')); $xoopsTpl->assign('lang_delete', __('Delete', 'dtransport')); $xoopsTpl->assign('lang_addlog', __('Add Log', 'dtransport')); $xoopsTpl->assign('edit', $edit); include 'footer.php'; }
/** * @desc Obtiene los logs del elemento * @param bool True devuelve objetos {@link DTLog} * @return array */ function logs($asobj = false) { if (empty($this->_logs) || $asobj && !is_a($this->_logs[0], 'DTLog')) { $this->_logs = array(); $sql = "SELECT * FROM " . $this->db->prefix("dtrans_logs") . " WHERE id_soft='" . $this->id() . "' ORDER BY date DESC"; $result = $this->db->query($sql); while ($row = $this->db->fetchArray($result)) { if ($asobj) { $tmp = new DTLog(); $tmp->assignVars($row); } else { $tmp = $row['id_log']; } $this->_logs[] = $tmp; } } return $this->_logs; }