/** * @desc Formulario de creación o edición de figuras **/ function formFigures($edit = 0) { global $xoopsConfig, $xoopsTpl, $xoopsSecurity, $rmc_messages, $xoopsModuleConfig; define('DF_LOCATION', 'form'); $id = rmc_server_var($_GET, 'id', 0); $id_fig = rmc_server_var($_GET, 'fig', 0); $page = rmc_server_var($_GET, 'page', 0); $search = rmc_server_var($_GET, 'search', 0); $ruta = 'id=' . $id . '&page=' . $page . '&search=' . $search; $resource = new RDResource($id); if ($resource->isNew()) { redirectMsg('?' . $ruta, __('A Document has not been specified!', 'docs'), 1); die; } if ($edit) { //Comprueba que la figura sea válida if ($id_fig <= 0) { redirectMsg('./figures.php?' . $ruta, __('No figure has been specified', 'docs'), 1); die; } //Comprueba si existe la figura $fig = new RDFigure($id_fig); if ($fig->isNew()) { redirectMsg('./figures.php?' . $ruta, __('Sepecified figure does not exists', 'docs'), 1); die; } } RMTemplate::get()->add_script(RMCURL . '/include/js/jquery.min.js'); RMTemplate::get()->add_script(RMCURL . '/include/js/jquery-ui.min.js'); $form = new RMForm($edit ? '' : '', 'frmfig', 'figures.php'); $theme_css = xoops_getcss(); $vars = $xoopsTpl->get_template_vars(); extract($vars); RMTemplate::get()->add_style('refs.css', 'docs'); RMTemplate::get()->add_style('figures.css', 'docs'); RMTemplate::get()->add_style('jquery.css', 'rmcommon'); $editor = new RMFormEditor('', 'content', '100%', '200px', $edit ? $fig->getVar('content', 'e') : ''); $rmc_config = RMFunctions::configs(); include RMTemplate::get()->get_template('rd_figures.php', 'module', 'docs'); }
/** * Get all figures list according to given parameters * @param int Resource ID * @param Referenced var to return results count * @param string Search keyword * @param int Start results * @param int Results number limit * @return array */ public function figures($res = 0, &$count, $search = '', $start = 0, $limit = 15) { $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT COUNT(*) FROM " . $db->prefix('rd_figures') . ($res > 0 ? " WHERE id_res='{$res}'" : ''); if ($search != '') { $sql .= ($res > 0 ? " AND " : " WHERE ") . " (desc LIKE '%{$k}%' OR content LIKE '%{$k}%')"; } if ($res > 0) { $res = new RDResource($res); } list($num) = $db->fetchRow($db->query($sql)); $limit = $limit <= 0 ? 15 : $limit; $count = $num; //Fin de navegador de páginas $sql = str_replace("COUNT(*)", "*", $sql); $sql .= " ORDER BY id_fig DESC LIMIT {$start},{$limit}"; $result = $db->query($sql); $figures = array(); while ($rows = $db->fetchArray($result)) { $ref = new RDFigure(); $ref->assignVars($rows); if ($res->isNew()) { $res = new RDResource($ref->resource()); } $figures[] = array('id' => $ref->id(), 'title' => $ref->getVar('title'), 'desc' => $ref->getVar('desc'), 'content' => substr(TextCleaner::getInstance()->clean_disabled_tags($ref->getVar('content')), 0, 50) . "...", 'resource' => $res->getVar('title')); } return $figures; }
/** * @desc Permite la edición de figuras **/ function rd_figures_form($edit = 0) { global $xoopsModule, $xoopsConfig; xoops_cp_location("<a href='./'>" . $xoopsModule->name() . "</a> » " . $edit ? __('Edit Figure', 'docs') : __('Create Figure')); xoops_cp_header(); $id = rmc_server_var($_GET, 'id', 0); $id_res = rmc_server_var($_GET, 'res', 0); if ($id_res <= 0) { redirectMsg('resources.php', __('First select a Document to manage the figures.', 'docs'), 1); } $res = new RDResource($id_res); if ($res->isNew()) { redirectMsg('resources.php', __('Specified Document does not exists!', 'docs'), 1); } if ($edit) { if ($id <= 0) { redirectMsg('figures.php?res=' . $id_res, __('You have not specified a figure to edit!', 'docs')); break; } $fig = new RDFigure($id); if ($fig->isNew()) { redirectMsg('figures.php?res=' . $id_res, __('Specified figure does not exists!', 'docs')); break; } } $form = new RMForm($edit ? __('Editing Figure', 'docs') : __('Create Figure', 'docs'), 'frmfig', 'figures.php'); $form->addElement(new RMFormText(__('Title', 'docs'), 'title', 50, 255, $edit ? $fig->getVar('title') : ''), true); $form->addElement(new RMFormText(__('Description', 'docs'), 'desc', 50, 255, $edit ? $fig->getVar('desc') : ''), true); $form->addElement(new RMFormEditor(__('Content', 'docs'), 'figure', '100%', '300px', $edit ? $fig->getVar('content', 'e') : ''), true); $form->addElement(new RMFormText(__('Attributes', 'docs'), 'attrs', 50, 150, $edit ? $fig->getVar('attrs') : '')); $buttons = new RMFormButtonGroup(); $buttons->addButton('sbt', $edit ? __('Save Changes', 'docs') : __('Save Figure', 'docs'), 'submit'); $buttons->addButton('cancel', __('Cancel', 'docs'), 'button', 'onclick="window.location=\'figures.php?res=' . $id_res . '\';"'); $form->addElement($buttons); $form->addElement(new RMFormHidden('action', $edit ? 'saveedit' : 'save')); if ($edit) { $form->addElement(new RMFormHidden('id', $id)); } $form->addElement(new RMFormHidden('res', $id_res)); $form->display(); xoops_cp_footer(); }