- #6584: generates a new application from templates with script bin\tn.php
[tine20] / tine20 / Tool / Application / templates / Frontend / Json.php
1 <?php
2 /**
3  * Tine 2.0
4  * @package     ExampleApplication
5  * @subpackage  Frontend
6  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
7  * @author      Philipp Schüle <p.schuele@metaways.de>
8  * @copyright   Copyright (c) 2007-2011 Metaways Infosystems GmbH (http://www.metaways.de)
9  * 
10  */
11
12 /**
13  *
14  * This class handles all Json requests for the ExampleApplication application
15  *
16  * @package     ExampleApplication
17  * @subpackage  Frontend
18  */
19 class ExampleApplication_Frontend_Json extends Tinebase_Frontend_Json_Abstract
20 {
21     /**
22      * the controller
23      *
24      * @var ExampleApplication_Controller_ExampleRecord
25      */
26     protected $_controller = NULL;
27     
28     /**
29      * the models handled by this frontend
30      * @var array
31      */
32     protected $_models = array('ExampleRecord');
33
34     /**
35      * the constructor
36      *
37      */
38     public function __construct()
39     {
40         $this->_applicationName = 'ExampleApplication';
41         $this->_controller = ExampleApplication_Controller_ExampleRecord::getInstance();
42     }
43     
44     /**
45      * Search for records matching given arguments
46      *
47      * @param  array $filter
48      * @param  array $paging
49      * @return array
50      */
51     public function searchExampleRecords($filter, $paging)
52     {
53         return $this->_search($filter, $paging, $this->_controller, 'ExampleApplication_Model_ExampleRecordFilter', TRUE);
54     }
55     
56     /**
57      * Return a single record
58      *
59      * @param   string $id
60      * @return  array record data
61      */
62     public function getExampleRecord($id)
63     {
64         return $this->_get($id, $this->_controller);
65     }
66
67     /**
68      * creates/updates a record
69      *
70      * @param  array $recordData
71      * @return array created/updated record
72      */
73     public function saveExampleRecord($recordData)
74     {
75         return $this->_save($recordData, $this->_controller, 'ExampleRecord');
76     }
77     
78     /**
79      * deletes existing records
80      *
81      * @param  array  $ids 
82      * @return string
83      */
84     public function deleteExampleRecords($ids)
85     {
86         return $this->_delete($ids, $this->_controller);
87     }    
88
89     /**
90      * Returns registry data
91      * 
92      * @return array
93      */
94     public function getRegistryData()
95     {
96         $defaultContainerArray = Tinebase_Container::getInstance()->getDefaultContainer('ExampleApplication_Model_ExampleRecord', NULL, 'defaultExampleRecordContainer')->toArray();
97         $defaultContainerArray['account_grants'] = Tinebase_Container::getInstance()->getGrantsOfAccount(Tinebase_Core::getUser(), $defaultContainerArray['id'])->toArray();#
98         return array(
99             'defaultExampleRecordContainer' => $defaultContainerArray
100         );
101     }
102 }