/** * main action */ public function mainAction() { $node_id = $this->GET['id']; require_once 'models/common/common_print_article.php'; $PrintArticle = new common_print_article(); if (is_numeric($node_id)) { //this return as well the file detail from filesystem //$files = $File->listFiles($node_id); $main_articles = $PrintArticle->listing("node_id={$node_id} AND type = 'article'", "priority DESC, title ASC"); $abstracts = $PrintArticle->listing("node_id={$node_id} AND type = 'abstract'", "priority DESC, title ASC"); $reviews = $PrintArticle->listing("node_id={$node_id} AND type = 'review'", "priority DESC, title ASC"); } foreach ($main_articles as $ma) { $ma['src'] = substr($ma['src'], 4); $ma['title'] = strtoupper($ma['title']); //$ma['title'] = recode_string("utf-8..flat", trim($ma['title'])); $this->tpl->assign('ARTICLE', $ma); $this->tpl->parse('content.main_articles.item'); } if (count($main_articles) == 0) { $this->tpl->parse('content.main_articles.noitem'); } $this->tpl->parse('content.main_articles'); foreach ($abstracts as $a) { $a['src'] = substr($a['src'], 4); $a['other'] = unserialize($a['other']); $this->tpl->assign('ARTICLE', $a); $this->tpl->parse('content.abstracts.item'); } if (count($abstracts) == 0) { $this->tpl->parse('content.abstracts.noitem'); } $this->tpl->parse('content.abstracts'); foreach ($reviews as $r) { $r['src'] = substr($r['src'], 4); $r['other'] = unserialize($r['other']); $this->tpl->assign('REVIEW', $r); $this->tpl->parse('content.reviews.item'); } if (count($reviews) == 0) { $this->tpl->parse('content.reviews.noitem'); } $this->tpl->parse('content.reviews'); $this->tpl->assign('NODE', $node_data); if ($node_data['display_title']) { $this->tpl->parse('content.title'); } return true; }
/** * post action */ function post() { parent::post(); $node_id = $this->GET['id']; require_once 'models/common/common_print_article.php'; $File = new common_print_article(); if ($_POST['add'] == 'add') { $_POST['file']['other'] = serialize($_POST['file']['other']); if ($File->insertFile($_POST['file'])) { msg('File inserted'); } } if ($_POST['delete_file'] != '') { msg("Not implemented", "error"); //can't use File->deleteFile(file_name), //use File->unlink(id) instead //if ($File->deleteFile($_POST['delete_file'])) $_POST['upload'] = 1; } if (is_numeric($_POST['update'])) { //$File->detail($_POST['update']); $_POST['file']['other'] = serialize($_POST['file']['other']); if ($File->update($_POST['file'])) { msg('updated'); } } $files = $File->listFiles($node_id); foreach ($files as $f) { $this->tpl->assign('FILE', $f); if ($this->GET['type'] == 'RTE') { $this->tpl->parse("content.item.RTE_select"); } $this->tpl->parse("content.item"); } //print_r($_POST); exit; if ($_POST['upload'] && !$_POST['edit_file']) { $_POST['action'] = 'add'; } else { if ($_POST['edit_file'] || is_numeric($_POST['update'])) { $_POST['action'] = 'edit'; } } switch ($_POST['action']) { case 'edit': case 'update': $detail = $File->detail($_POST['edit_file']); if (is_array($detail)) { $detail['other'] = unserialize($detail['other']); if (!is_array($detail['other'])) { $detail['other'] = 0; } $this->tpl->assign("SELECTED_{$detail['type']}", 'selected="selected"'); $this->tpl->assign('FILE', $detail); $this->tpl->parse("content.file_edit"); } else { msg("Cant get info of {$_POST['edit_file']} from DB", 'error'); } break; case 'add': default: if ($_POST['upload'] == 'new') { $_POST['file']['priority'] = 0; $_POST['file']['src'] = ''; } $this->tpl->assign('FILE', $_POST['file']); $this->tpl->parse("content.file_upload"); break; } }