PHP Classes

File: Bvb/Grid/Deploy/Json.php

Recommend this page to a friend!
  Classes of Filipe Sá   Zend Framework Data Grid   Bvb/Grid/Deploy/Json.php   Download  
File: Bvb/Grid/Deploy/Json.php
Role: Class source
Content type: text/plain
Description: Json render
Class: Zend Framework Data Grid
Display and edit data from a database in a grid
Author: By
Last change:
Date: 14 years ago
Size: 2,410 bytes
 

Contents

Class file image Download
<?php

/**
 * Mascker
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license
 * It is available through the world-wide-web at this URL:
 * http://www.petala-azul.com/bsd.txt
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to geral@petala-azul.com so we can send you a copy immediately.
 *
 * @package Bvb_Grid
 * @copyright Copyright (c) Bento Vilas Boas (http://www.petala-azul.com)
 * @license http://www.petala-azul.com/bsd.txt New BSD License
 * @version $Id: Json.php 1011 2010-03-17 16:18:51Z bento.vilas.boas@gmail.com $
 * @author Mascker (Bento Vilas Boas) <geral@petala-azul.com >
 */

class Bvb_Grid_Deploy_Json extends Bvb_Grid implements Bvb_Grid_Deploy_Interface
{

    public
$deploy = array();

    const
OUTPUT = 'json';

   
/*
    * @param array $data
    */
   
function __construct ($options)
    {

       
parent::__construct($options);
    }

    function
buildTitltesJson ($titles)
    {

       
$grid = array();
        foreach (
$titles as $title) {

           
$grid[] = strip_tags($title['value']);
        }
        return
$grid;
    }

    function
buildSqlexpJson ($sql)
    {

       
$grid = array();
        if (
is_array($sql)) {

            foreach (
$sql as $exp) {
               
$grid[] = strip_tags($exp['value']);
            }
        }
        return
$grid;
    }

    function
buildGridJson ($grids)
    {

       
$grid = array();
       
$i = 0;
        foreach (
$grids as $value) {

           
$grid1 = array();
            foreach (
$value as $final) {
               
$grid1[] = strip_tags($final['value']);
            }

           
$grid[] = $grid1;
           
$i ++;
        }

        return
$grid;

    }

    function
deploy ()
    {
        if (!
in_array(self::OUTPUT, $this->_export)) {
            echo
$this->__("You dont' have permission to export the results to this format");
            die();
        }

       
$grid = array();
       
$this->setPagination(0);
       
parent::deploy();

       
header('Content-Type', 'application/json');

       
$grid['titles'] = self::buildTitltesJson(parent::_buildTitles());
       
$grid['rows'] = self::buildGridJson(parent::_buildGrid());
       
$grid['sqlexp'] = self::buildSqlexpJson(parent::_buildSqlExp());

        echo
Zend_Json::encode($grid);

        die();
    }

}