<?php $parentid = isset($_REQUEST['parentid']) ? $_REQUEST['parentid'] : 0; $categories = new Model_News_Category(); $categories->where('parentid = ?', $parentid); $pm->setVariable('categories', $categories);
public function testNewsAdminCreateEditAndDeleteCategory() { /* Assertions: * Create category * Edit category * Delete category */ $this->get(TYPEF_WEB_DIR . '/admin/news/categories'); $this->get(TYPEF_WEB_DIR . '/admin/news/categories/add'); $form = $this->first('form[action="' . TYPEF_WEB_DIR . '/admin/news/categories/add"]'); $categoryname = 'Integration Test ' . time(); $categorydescr = "{$categoryname} description"; $form->first('input[name="categoryname"]')->setValue($categoryname); $form->first('input[name="categorydescr"]')->setValue($categorydescr); $form->first('input[name="categorydescr"]')->setValue(TYPEF_DIR . '/tests/images/placeholders/generic/1024x768.jpg'); $form->submit(); $catmod = new Model_News_Category(); $catmod->where('categoryname = ?', $categoryname); $category = $catmod->getFirst(); $this->assertTrue($category->exists(), 'Failed to create news category'); if ($category->exists()) { $id = $category['id']; $categoryname .= ' updated'; $this->get(TYPEF_WEB_DIR . '/admin/news/categories/edit?categoryid=' . $id); $form = $this->first('form[action="' . TYPEF_WEB_DIR . '/admin/news/categories/edit"]'); $form->first('input[name="categoryname"]')->setValue($categoryname); $form->submit(); $catmod = new Model_News_Category(); $catmod->where('categoryname = ?', $categoryname); $category = $catmod->getFirst(); $this->assertTrue($category->exists(), 'Failed to edit news category'); $this->post(TYPEF_WEB_DIR . '/admin/news/categories/delete', array('categoryid' => $id)); $category = Model_News_Category::Get($id); $this->assertFalse($category->exists(), 'Failed to delete news category'); } }
* * client-side index controller */ // save typing below $typef_app_dir = Typeframe::CurrentPage()->applicationUri(); // get category id, if any //$categoryid = News::GetCategoryId(); $settings = Typeframe::CurrentPage()->settings(); // set category id in template //$pm->setVariable('categoryid', $settings['categoryid']); // get articles; limit to this category and valid publication date $articles = new Model_News_Article(); $categories = new Model_News_Category(); if (isset($settings['categoryid']) && is_array($settings['categoryid']) && count($settings['categoryid']) && !in_array(0, $settings['categoryid'])) { $articles->where('news.categoryid IN ?', $settings['categoryid']); $categories->where('categoryid IN ?', $settings['categoryid']); } $articles->where('pubdate <= ?', Typeframe::Now()); $articles->where('expdate > ? OR expdate = ? OR expdate IS NULL', Typeframe::Now(), '0000-00-00 00:00:00'); $articles->where('status = ?', 'published'); $total = $articles->count(); // set up pagination $perpage = !empty($settings['perpage']) ? $settings['perpage'] : 20; $pag = Pagination::Calculate($total, $perpage); $articles->paginate($pag['page'], $pag['perpage']); $pm->setVariable('pagination', $pag); $settings = Typeframe::CurrentPage()->settings(); // add articles, pagination to template $pm->setVariable('news', $articles); //$pm->setVariableArray(Pagination::Calculate($articles->getTotal(), // $perpage, $articles->getCurrentPage()));
<?php $category->setArray($_POST, false); $image = FileManager::GetPostedOrUploadedFile('categoryimage', TYPEF_DIR . '/files/public/news'); $category['categoryimage'] = basename($image); if (!$category->exists()) { $ordered = new Model_News_Category(); $ordered->where('parentid = 0'); $ordered->order('sortnum DESC'); $last = $ordered->getFirst(); $category['sortnum'] = $last['sortnum'] + 1; } $category->save();