PHP Classes

File: examples/blog/app/admin/controllers/comments.php

Recommend this page to a friend!
  Classes of Haseeb Ahmad Basil   PHP Skeleton Framework   examples/blog/app/admin/controllers/comments.php   Download  
File: examples/blog/app/admin/controllers/comments.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Skeleton Framework
Extensive Web application development framework
Author: By
Last change:
Date: 8 years ago
Size: 2,424 bytes
 

Contents

Class file image Download
<?php
//namespace admin\controllers;
use blog\models\commentsModel;

class
comments extends A_Controller_Action {

   
/*
     * This function is called only if it exists. Front Controller pre-filter
     * calls it to get required groups for this controller
     */
   
public function _requireGroups(){
        return array(
'post');
    }
   
    function
index($locator) {
       
$template = $this->_load()->template();
       
       
$this->listing($locator);
    }
   
    function
listing($locator) {
       
$usersession = $locator->get('UserSession');
       
$db = $locator->get('Db');
       
       
$template = $this->_load('controller')->template('listing');
       
       
// create a data object that has the interface needed by the Pager object
       
$datasource = new A_Pagination_Adapter_Db($db, "SELECT * FROM `blog_comments`");
        
       
// create a request processor to set pager from GET parameters
       
$pager = new A_Pagination_Request($datasource);
        
       
// initialize using values from $_GET
       
$pager->process($locator->get('Request'));
        
       
// create a "standard" view object to create pagination links
       
$view = new A_Pagination_View_Standard($pager);
        
       
$rows = $pager->getItems();

       
$template->set('rows', $rows);
       
$template->set('links', $view->render()); // display the pagination links
       
       
$this->response->set('maincontent', $template->render());

    }
   
    function
edit($locator) {
       
       
$template = $this->_load('controller')->template();
       
$comments = $this->_load('module=blog')->model('comments', $locator->get('Db'));
       
       
// Hand the Form the fields and rules from the model
       
$form = new A_Model_Form();
       
$form->addRule($comments->getRules());
       
$form->addField($comments->getFields());
       
       
// ask the form if it is valid. The form checks internally if the model fields are valid
       
if($form->isValid($this->request)){
           
// save
           
$result = $comments->save($form->getSaveValues());
            if(
$result->isError()){
               
$form->setErrorMsg('databaseerror', 'Could not save to the database');
            }

        } elseif (!
$this->_request()->has('save') && $this->_request()->has('id')) {
           
$id = $this->_request()->get('id');
           
// load data
           
$rows = $comments->find($id);
            if (isset(
$rows[0])) {
                foreach (
$rows[0] as $name => $value) {
                   
$form->newField($name)->setValue($value);
                }
            }
        }
       
$template->set('errorMsg', $form->getErrorMsg(', '));
       
$template->import($form->getValues());
       
       
$this->response->set('maincontent', $template->render());

    }
   
   
   
   
}