| | |
| | | $this->add_script($javascript, 'head_top'); |
| | | $this->add_script($javascript_foot, 'foot'); |
| | | $this->scripts_path = 'program/js/'; |
| | | $this->include_script('jquery-1.3.min.js'); |
| | | $this->include_script('jquery-1.4.min.js'); |
| | | $this->include_script('common.js'); |
| | | $this->include_script('app.js'); |
| | | |
| | |
| | | { |
| | | if ($templ != 'iframe') { |
| | | // prevent from endless loops |
| | | if ($this->app->plugins->is_processing('render_page')) { |
| | | raise_error(array('code' => 505, 'type' => 'php', 'message' => 'Recursion alert: ignoring output->send()'), true, false); |
| | | if ($exit != 'recur' && $this->app->plugins->is_processing('render_page')) { |
| | | raise_error(array('code' => 505, 'type' => 'php', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => 'Recursion alert: ignoring output->send()'), true, false); |
| | | return; |
| | | } |
| | | $this->parse($templ, false); |
| | |
| | | |
| | | // make sure all <form> tags have a valid request token |
| | | $template = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $template); |
| | | $this->footer = preg_replace_callback('/<form\s+([^>]+)>/Ui', array($this, 'alter_form_tag'), $this->footer); |
| | | |
| | | // call super method |
| | | parent::write($template, $this->config['skin_path']); |
| | |
| | | { |
| | | $GLOBALS['__version'] = Q(RCMAIL_VERSION); |
| | | $GLOBALS['__comm_path'] = Q($this->app->comm_path); |
| | | return preg_replace('/\$(__[a-z0-9_\-]+)/e', '$GLOBALS["\\1"]', $input); |
| | | return preg_replace_callback('/\$(__[a-z0-9_\-]+)/', |
| | | array($this, 'globals_callback'), $input); |
| | | } |
| | | |
| | | /** |
| | | * Callback funtion for preg_replace_callback() in parse_with_globals() |
| | | */ |
| | | private function globals_callback($matches) |
| | | { |
| | | return $GLOBALS[$matches[1]]; |
| | | } |
| | | |
| | | /** |
| | |
| | | * Parses expression and replaces variables |
| | | * |
| | | * @param string Expression statement |
| | | * @return string Expression statement |
| | | * @return string Expression value |
| | | */ |
| | | private function parse_expression($expression) |
| | | { |
| | |
| | | else if (in_array($attrib['command'], $a_static_commands)) { |
| | | $attrib['href'] = rcmail_url($attrib['command']); |
| | | } |
| | | else if ($attrib['command'] == 'permaurl' && !empty($this->env['permaurl'])) { |
| | | $attrib['href'] = $this->env['permaurl']; |
| | | } |
| | | else if ($attrib['command'] == 'permaurl' && !empty($this->env['permaurl'])) { |
| | | $attrib['href'] = $this->env['permaurl']; |
| | | } |
| | | } |
| | | |
| | | // overwrite attributes |
| | |
| | | JS_OBJECT_NAME, |
| | | $command, |
| | | $attrib['prop'] |
| | | ); |
| | | } |
| | | if ($command && $attrib['imageover']) { |
| | | $attrib['onmouseover'] = sprintf( |
| | | "return %s.button_over('%s','%s')", |
| | | JS_OBJECT_NAME, |
| | | $command, |
| | | $attrib['id'] |
| | | ); |
| | | $attrib['onmouseout'] = sprintf( |
| | | "return %s.button_out('%s','%s')", |
| | | JS_OBJECT_NAME, |
| | | $command, |
| | | $attrib['id'] |
| | | ); |
| | | } |
| | | |
| | | if ($command && $attrib['imagesel']) { |
| | | $attrib['onmousedown'] = sprintf( |
| | | "return %s.button_sel('%s','%s')", |
| | | JS_OBJECT_NAME, |
| | | $command, |
| | | $attrib['id'] |
| | | ); |
| | | $attrib['onmouseup'] = sprintf( |
| | | "return %s.button_out('%s','%s')", |
| | | JS_OBJECT_NAME, |
| | | $command, |
| | | $attrib['id'] |
| | | ); |
| | | } |
| | | |
| | |
| | | $link_attrib = array('href', 'onclick', 'onmouseover', 'onmouseout', 'onmousedown', 'onmouseup', 'target'); |
| | | } |
| | | else if ($attrib['type']=='link') { |
| | | $btn_content = $attrib['label'] ? $attrib['label'] : $attrib['command']; |
| | | $btn_content = isset($attrib['content']) ? $attrib['content'] : ($attrib['label'] ? $attrib['label'] : $attrib['command']); |
| | | $link_attrib = array('href', 'onclick', 'title', 'id', 'class', 'style', 'tabindex', 'target'); |
| | | } |
| | | else if ($attrib['type']=='input') { |
| | |
| | | return $username; |
| | | } |
| | | |
| | | // get e-mail address form default identity |
| | | // get e-mail address from default identity |
| | | if ($sql_arr = $this->app->user->get_identity()) { |
| | | $username = $sql_arr['email']; |
| | | } |
| | |
| | | if (empty($url) && !preg_match('/_(task|action)=logout/', $_SERVER['QUERY_STRING'])) |
| | | $url = $_SERVER['QUERY_STRING']; |
| | | |
| | | $input_user = new html_inputfield(array('name' => '_user', 'id' => 'rcmloginuser', 'size' => 30) + $attrib); |
| | | $input_pass = new html_passwordfield(array('name' => '_pass', 'id' => 'rcmloginpwd', 'size' => 30) + $attrib); |
| | | $input_user = new html_inputfield(array('name' => '_user', 'id' => 'rcmloginuser') + $attrib); |
| | | $input_pass = new html_passwordfield(array('name' => '_pass', 'id' => 'rcmloginpwd') + $attrib); |
| | | $input_action = new html_hiddenfield(array('name' => '_action', 'value' => 'login')); |
| | | $input_tzone = new html_hiddenfield(array('name' => '_timezone', 'id' => 'rcmlogintz', 'value' => '_default_')); |
| | | $input_url = new html_hiddenfield(array('name' => '_url', 'id' => 'rcmloginurl', 'value' => $url)); |
| | |
| | | } |
| | | } |
| | | else if (empty($default_host)) { |
| | | $input_host = new html_inputfield(array('name' => '_host', 'id' => 'rcmloginhost', 'size' => 30)); |
| | | $input_host = new html_inputfield(array('name' => '_host', 'id' => 'rcmloginhost') + $attrib); |
| | | } |
| | | |
| | | $form_name = !empty($attrib['form']) ? $attrib['form'] : 'form'; |