| | |
| | | $this->set_env('task', $task); |
| | | $this->set_env('x_frame_options', $this->config->get('x_frame_options', 'sameorigin')); |
| | | |
| | | // add cookie info |
| | | $this->set_env('cookie_domain', ini_get('session.cookie_domain')); |
| | | $this->set_env('cookie_path', ini_get('session.cookie_path')); |
| | | $this->set_env('cookie_secure', ini_get('session.cookie_secure')); |
| | | |
| | | // load the correct skin (in case user-defined) |
| | | $skin = $this->config->get('skin'); |
| | | $this->set_skin($skin); |
| | |
| | | else { |
| | | $skin_path = $this->config->get('skin_path'); |
| | | if (!$skin_path) { |
| | | $skin_path = 'skins/default'; |
| | | $skin_path = 'skins/' . rcube_config::DEFAULT_SKIN; |
| | | } |
| | | $valid = !$skin; |
| | | } |
| | |
| | | 'line' => __LINE__, |
| | | 'file' => __FILE__, |
| | | 'message' => 'Error loading template for '.$realname |
| | | ), true, true); |
| | | ), true, $write); |
| | | return false; |
| | | } |
| | | |
| | |
| | | { |
| | | $GLOBALS['__version'] = html::quote(RCMAIL_VERSION); |
| | | $GLOBALS['__comm_path'] = html::quote($this->app->comm_path); |
| | | $GLOBALS['__skin_path'] = Q($this->config->get('skin_path')); |
| | | $GLOBALS['__skin_path'] = html::quote($this->config->get('skin_path')); |
| | | |
| | | return preg_replace_callback('/\$(__[a-z0-9_\-]+)/', |
| | | array($this, 'globals_callback'), $input); |
| | |
| | | if ($attrib['name'] || $attrib['command']) { |
| | | return $this->button($attrib); |
| | | } |
| | | break; |
| | | |
| | | // frame |
| | | case 'frame': |
| | | return $this->frame($attrib); |
| | | break; |
| | | |
| | | // show a label |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Returns iframe object, registers some related env variables |
| | | * |
| | | * @param array $attrib HTML attributes |
| | | * |
| | | * @return string IFRAME element |
| | | */ |
| | | public function frame($attrib) |
| | | { |
| | | if (!$attrib['id']) { |
| | | $attrib['id'] = 'rcmframe'; |
| | | } |
| | | |
| | | if (!$attrib['name']) { |
| | | $attrib['name'] = $attrib['id']; |
| | | } |
| | | |
| | | $this->set_env('contentframe', $attrib['id']); |
| | | $this->set_env('blankpage', $attrib['src'] ? $this->abs_url($attrib['src']) : 'program/resources/blank.gif'); |
| | | |
| | | return html::iframe($attrib); |
| | | } |
| | | |
| | | |
| | | /* ************* common functions delivering gui objects ************** */ |
| | | |
| | | |
| | |
| | | if (empty($url) && !preg_match('/_(task|action)=logout/', $_SERVER['QUERY_STRING'])) |
| | | $url = $_SERVER['QUERY_STRING']; |
| | | |
| | | // Disable autocapitalization on iPad/iPhone (#1488609) |
| | | $attrib['autocapitalize'] = 'off'; |
| | | |
| | | // set atocomplete attribute |
| | | $user_attrib = $autocomplete > 0 ? array() : array('autocomplete' => 'off'); |
| | | $host_attrib = $autocomplete > 0 ? array() : array('autocomplete' => 'off'); |