Passed
Push — master ( 5f63ee...30b096 )
by Jean-Christophe
02:33
created

JsUtils::fromDispatcher()   B

Complexity

Conditions 5
Paths 2

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 9
nc 2
nop 1
dl 0
loc 12
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace Ajax\php\phalcon;
4
5
use Phalcon\DiInterface;
6
use Phalcon\Di\InjectionAwareInterface;
7
use Phalcon\Mvc\View;
8
use Phalcon\Mvc\Controller;
9
10
class JsUtils extends \Ajax\JsUtils implements InjectionAwareInterface{
11
	protected $_di;
12
	public function setDi(DiInterface $di) {
13
		$this->_di=$di;
14
		//$this->_setDi($di);
15
	}
16
17
	public function getDi() {
18
		return $this->_di;
19
	}
20
21
	public function getUrl($url){
22
		return $this->_di->get("url")->get($url);
23
	}
24
25
	public function addViewElement($identifier,$content,&$view){
26
		$controls=$view->getVar("q");
27
		if (isset($controls) === false) {
28
			$controls=array ();
29
		}
30
		$controls[$identifier]=$content;
31
		$view->setVar("q", $controls);
32
	}
33
34
	public function createScriptVariable(&$view,$view_var, $output){
35
		$view->setVar($view_var,$output);
36
	}
37
38
	public function forward($initialController,$controller,$action,$params=array()){
39
		$dispatcher = $initialController->dispatcher;
40
		$dispatcher->setControllerName($controller);
41
		$dispatcher->setActionName($action);
42
		$dispatcher->dispatch();
43
		$template=$initialController->view->getRender($dispatcher->getControllerName(), $dispatcher->getActionName(),$dispatcher->getParams(), function ($view) {
44
			$view->setRenderLevel(View::LEVEL_ACTION_VIEW);
45
		});
46
		return $template;
47
	}
48
49
	public function renderContent($initialControllerInstance,$viewName, $params=NULL) {
50
		list($controller,$action)=\explode("@", $viewName);
51
		$template=$initialControllerInstance->view->getRender($controller, $action, $params, function ($view) {
52
			$view->setRenderLevel(View::LEVEL_ACTION_VIEW);
53
		});
54
		return $template;
55
	}
56
57
	public function fromDispatcher($dispatcher){
58
		$params=$dispatcher->getParams();
59
		$action=$dispatcher->getActionName();
60
		$items=array($dispatcher->getControllerName());
61
		if(\sizeof($params)>0 || \strtolower($action)!="index" ){
62
			$items[]=$action;
63
			foreach ($params as $p){
64
				if(\is_object($p)===false)
65
					$items[]=$p;
66
			}
67
		}
68
		return $items;
69
	}
70
}
71