PluginProbe
CSS & JavaScript Toolbox / 8.0.3
CSS & JavaScript Toolbox v8.0.3
trunk 0.3 0.8 10 10.1 11 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.9.1 12 12.0 12.0.1 12.0.3 12.0.4 12.0.5 12.0.6 12.0.7 6.0 6.0.11 All 60 releases
← All changes | controllers/block.php +101 -0 6.0.118.0.3 View file →
@@ -32,11 +32,51 @@
32 32 public function __construct() {
33 33 parent::__construct();
34 34 // Actions!
35 35 $this->registryAction('getBlockBy');
36 + $this->registryAction('getAPOP');
37 + $this->registryAction('loadUrl');
38 + $this->registryAction('getCode');
39 + $this->registryAction('downloadCodeFile');
36 40 }
37 41
38 42 /**
43 + * put your comment there...
44 + *
45 + */
46 + public function downloadCodeFileAction() {
47 + // BlockId, currentActiveFile.
48 + $blockId = $_GET['blockId'];
49 + $fileId = $_GET['fileId'];
50 + $returnAs = $_GET['returnAs'];
51 + // Get current File Code.
52 + $tblCodeFile = new CJTBlockFilesTable(cssJSToolbox::getInstance()->getDBDriver());
53 + $codeFile = $tblCodeFile->set('id', $fileId)
54 + ->set('blockId', $blockId)
55 + ->load()
56 + ->getData();
57 + // Return as downloadable-file or JSON.
58 + if ($returnAs == 'file') {
59 + // Get Download File info.
60 + $extension = $codeFile->type ? cssJSToolbox::$config->templates->types[$codeFile->type]->extension : 'txt';
61 + $file = "{$codeFile->name}.{$extension}";
62 + // Response Header parameters.
63 + header('Content-Description: File Transfer');
64 + header("Content-Disposition: attachment; filename=\"{$file}\""); //<<< Note the " " surrounding the file name
65 + header('Content-Transfer-Encoding: binary');
66 + header('Connection: Keep-Alive');
67 + header('Expires: 0');
68 + header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
69 + header('Pragma: public');
70 + header('Content-Length: ' . strlen($codeFile->code));
71 + // AJAX Controller parameters.
72 + $this->httpContentType = 'application/octet-stream';
73 + }
74 + // Output code.
75 + $this->response = $codeFile->code;
76 + }
77 +
78 + /**
39 79 * Query single block based on the provided criteria!
40 80 *
41 81 */
42 82 public function getBlockByAction() {
@@ -48,5 +88,66 @@
48 88 // Query Block.
49 89 $this->response = array_intersect_key((array) $this->model->getBlockBy(), $returns);
50 90 }
51 91
92 + /**
93 + * Get assigment panel objects page.
94 + *
95 + */
96 + public function getAPOPAction() {
97 + // Read inputs.
98 + $iPerPage = (int) $_GET['iPerPage'];
99 + $blockId = (int) $_GET['block'];
100 + $oTypeParams = $_GET['typeParams'];
101 + $offset = $_GET['index'];
102 + $assignedOnly = ($_GET['assignedOnly'] == 'false') ? false : true;
103 + $initialize = ($_GET['initialize'] == 'false') ? false : true;
104 + // Get the corresponding type object
105 + // for handling the request.
106 + $typeName = $oTypeParams['targetType'];
107 + /**
108 + * put your comment there...
109 + *
110 + * @var CJT_Models_Block_Assignmentpanel_Base
111 + */
112 + $typeObject = CJT_Models_Block_Assignmentpanel_Base
113 + ::getInstance($assignedOnly,
114 + $typeName,
115 + $offset,
116 + $iPerPage,
117 + $blockId,
118 + $oTypeParams);
119 + // Fetch next page.
120 + $items = $typeObject->getItems();
121 + // Return result
122 + $this->response['count'] = count($items);
123 + $this->response['items'] = $items;
124 + // Return count only when the list is activated for
125 + // the first time.
126 + if ($initialize) {
127 + $this->response['total'] = $typeObject->getTotalCount();
128 + }
129 + }
130 +
131 + /**
132 + * put your comment there...
133 + *
134 + * @deprecated this is just a redirect to the CJTBlockContoller::getAction().
135 + */
136 + protected function loadUrlAction() {
137 + // Read inputs.
138 + $url = $_GET['url'];
139 + // Read URL.
140 + $response = wp_remote_get($url);
141 + if ($error = $response instanceof WP_Error) {
142 + // State an error!
143 + $this->response['errorCode'] = $response->get_error_code();
144 + $this->response['message'] = $response->get_error_message($response['code']);
145 + break;
146 + }
147 + else {
148 + // Read code content.
149 + $this->response['content'] = wp_remote_retrieve_body($response);
150 + }
151 + }
152 +
52 153 } // End class.