1de02284cSSzymon Olewniczak<?php 2de02284cSSzymon Olewniczak 3de02284cSSzymon Olewniczaknamespace dokuwiki\plugin\bez\meta; 4de02284cSSzymon Olewniczak 5de02284cSSzymon Olewniczakclass Tpl { 6de02284cSSzymon Olewniczak 7de02284cSSzymon Olewniczak /** @var \action_plugin_bez */ 8de02284cSSzymon Olewniczak private $action; 9de02284cSSzymon Olewniczak 10de02284cSSzymon Olewniczak private $conf; 11de02284cSSzymon Olewniczak 12de02284cSSzymon Olewniczak private $variables = array(); 13de02284cSSzymon Olewniczak 14de02284cSSzymon Olewniczak //form values from $_POST or from database 15de02284cSSzymon Olewniczak private $values = array(); 16de02284cSSzymon Olewniczak 17fe5d6d1eSSzymon Olewniczak public function __construct(\action_plugin_bez_default $action, $conf) { 18de02284cSSzymon Olewniczak 19de02284cSSzymon Olewniczak $this->action = $action; 20de02284cSSzymon Olewniczak $this->conf = $conf; 21de02284cSSzymon Olewniczak 22de02284cSSzymon Olewniczak //constas 23de02284cSSzymon Olewniczak $this->set('client', $this->model->user_nick); 24de02284cSSzymon Olewniczak 25de02284cSSzymon Olewniczak $info = $action->getInfo(); 26de02284cSSzymon Olewniczak $this->set('version', $info['date']); 27de02284cSSzymon Olewniczak 28de02284cSSzymon Olewniczak //common one 29fe5d6d1eSSzymon Olewniczak $this->set('users', $this->action->get_model()->userFactory->get_all()); 30fe5d6d1eSSzymon Olewniczak $this->set('groups', $this->action->get_model()->userFactory->get_groups()); 31de02284cSSzymon Olewniczak } 32de02284cSSzymon Olewniczak 33de02284cSSzymon Olewniczak public function action($default=null) { 34de02284cSSzymon Olewniczak $action = $this->action->get_action(); 35de02284cSSzymon Olewniczak if ($action == '' && !is_null($default)) { 36de02284cSSzymon Olewniczak return $default; 37de02284cSSzymon Olewniczak } 38de02284cSSzymon Olewniczak return $action; 39de02284cSSzymon Olewniczak } 40de02284cSSzymon Olewniczak 41de02284cSSzymon Olewniczak public function param($id) { 42de02284cSSzymon Olewniczak return $this->action->get_param($id); 43de02284cSSzymon Olewniczak } 44de02284cSSzymon Olewniczak 45de02284cSSzymon Olewniczak public function url() { 46de02284cSSzymon Olewniczak return call_user_func_array(array($this->action, 'url'), func_get_args()); 47de02284cSSzymon Olewniczak } 48de02284cSSzymon Olewniczak 49*7fbf4c39SSzymon Olewniczak public function mailto($to, $subject, $body) { 50*7fbf4c39SSzymon Olewniczak return 'mailto:'.$to.'?subject='.rawurlencode($subject).'&body='.rawurlencode($body); 51*7fbf4c39SSzymon Olewniczak } 52*7fbf4c39SSzymon Olewniczak 53de02284cSSzymon Olewniczak// public function get_dummy_of($name) { 54de02284cSSzymon Olewniczak// return $this->action->get_model_of($name)->get_dummy_object(); 55de02284cSSzymon Olewniczak// } 56de02284cSSzymon Olewniczak 57de02284cSSzymon Olewniczak public function static_acl($table, $field) { 58fe5d6d1eSSzymon Olewniczak return $this->action->get_model()->acl->check_static_field($table, $field); 59de02284cSSzymon Olewniczak } 60de02284cSSzymon Olewniczak 61de02284cSSzymon Olewniczak /*users info function for shorten the code*/ 62de02284cSSzymon Olewniczak public function user_name($login=NULL) { 63fe5d6d1eSSzymon Olewniczak $name = $this->action->get_model()->userFactory->get_user_full_name($login); 64de02284cSSzymon Olewniczak if ($name === '') { 65de02284cSSzymon Olewniczak return $login; 66de02284cSSzymon Olewniczak } 67de02284cSSzymon Olewniczak return $name; 68de02284cSSzymon Olewniczak } 69de02284cSSzymon Olewniczak 70de02284cSSzymon Olewniczak public function user_email($login=NULL) { 71*7fbf4c39SSzymon Olewniczak return $this->action->get_model()->userFactory->get_user_email($login); 72de02284cSSzymon Olewniczak } 73de02284cSSzymon Olewniczak /*end users info functions*/ 74de02284cSSzymon Olewniczak 75de02284cSSzymon Olewniczak public function prevent_rendering() { 76de02284cSSzymon Olewniczak 77de02284cSSzymon Olewniczak } 78de02284cSSzymon Olewniczak 79de02284cSSzymon Olewniczak public function set($id, $value) { 80de02284cSSzymon Olewniczak $this->variables[$id] = $value; 81de02284cSSzymon Olewniczak } 82de02284cSSzymon Olewniczak 83de02284cSSzymon Olewniczak public function get($id) { 84de02284cSSzymon Olewniczak return $this->variables[$id]; 85de02284cSSzymon Olewniczak } 86de02284cSSzymon Olewniczak 87de02284cSSzymon Olewniczak public function set_values($values) { 88de02284cSSzymon Olewniczak foreach ($values as $name => $value) { 89de02284cSSzymon Olewniczak $this->values[$name] = $value; 90de02284cSSzymon Olewniczak } 91de02284cSSzymon Olewniczak } 92de02284cSSzymon Olewniczak 93de02284cSSzymon Olewniczak public function value($name) { 94de02284cSSzymon Olewniczak return (isset($this->values[$name]) ? $this->values[$name] : ''); 95de02284cSSzymon Olewniczak } 96de02284cSSzymon Olewniczak 97de02284cSSzymon Olewniczak public function getLang($id) { 98de02284cSSzymon Olewniczak return $this->action->getLang($id); 99de02284cSSzymon Olewniczak } 100de02284cSSzymon Olewniczak} 101