public function frontend()
{
if (isset($_GET['debug'])) {
if ($this->app->make('config')->get('app.debug')) {
DB::enableQueryLog();
}
}
event_trigger('mw.controller.index');
if ($this->render_this_url == false and $this->app->url_manager->is_ajax() == false) {
$page_url = $this->app->url_manager->string();
} elseif ($this->render_this_url == false and $this->app->url_manager->is_ajax() == true) {
$page_url = $this->app->url_manager->string(1);
} else {
$page_url = $this->render_this_url;
$this->render_this_url = false;
}
if ($this->page_url != false) {
$page_url = $this->page_url;
}
if (strtolower($page_url) == 'index.php') {
$page_url = '';
}
if ($this->create_new_page == true and $this->page_url != false) {
$page_url = $this->page_url;
}
$page = false;
if ($page == false and !empty($this->page)) {
$page = $this->page;
}
$page_url = rtrim($page_url, '/');
$is_admin = $this->app->user_manager->is_admin();
$page_url_orig = $page_url;
$simply_a_file = false;
$show_404_to_non_admin = false;
// if this is a file path it will load it
if (isset($_REQUEST['view'])) {
$is_custom_view = $_REQUEST['view'];
} else {
$is_custom_view = $this->app->url_manager->param('view');
if ($is_custom_view and $is_custom_view != false) {
$is_custom_view = str_replace('..', '', $is_custom_view);
$page_url = $this->app->url_manager->param_unset('view', $page_url);
}
}
$is_editmode = $this->app->url_manager->param('editmode');
$is_no_editmode = $this->app->url_manager->param('no_editmode');
$is_quick_edit = $this->app->url_manager->param('mw_quick_edit');
if ($is_quick_edit != false) {
$page_url = $this->app->url_manager->param_unset('mw_quick_edit', $page_url);
}
$is_preview_template = $this->app->url_manager->param('preview_template');
if (!$is_preview_template) {
$is_preview_template = false;
if ($this->return_data == false) {
if (!defined('MW_FRONTEND')) {
define('MW_FRONTEND', true);
}
}
if (mw()->user_manager->session_id() and $is_editmode and $is_no_editmode == false) {
if ($is_editmode == 'n') {
$is_editmode = false;
$page_url = $this->app->url_manager->param_unset('editmode', $page_url);
$this->app->user_manager->session_set('back_to_editmode', true);
$this->app->user_manager->session_set('editmode', false);
return $this->app->url_manager->redirect($this->app->url_manager->site_url($page_url));
} else {
$editmode_sess = $this->app->user_manager->session_get('editmode');
$page_url = $this->app->url_manager->param_unset('editmode', $page_url);
if ($is_admin == true) {
if ($editmode_sess == false) {
$this->app->user_manager->session_set('editmode', true);
$this->app->user_manager->session_set('back_to_editmode', false);
$is_editmode = false;
}
return $this->app->url_manager->redirect($this->app->url_manager->site_url($page_url));
} else {
$is_editmode = false;
}
}
}
if (mw()->user_manager->session_id() and !$is_no_editmode) {
$is_editmode = $this->app->user_manager->session_get('editmode');
} else {
$is_editmode = false;
$page_url = $this->app->url_manager->param_unset('no_editmode', $page_url);
}
} else {
$is_editmode = false;
$page_url = $this->app->url_manager->param_unset('preview_template', $page_url);
}
if ($is_quick_edit == true) {
$is_editmode = true;
}
$preview_module = false;
$preview_module_template = false;
$preview_module_id = false;
$template_relative_layout_file_from_url = false;
$is_preview_module = $this->app->url_manager->param('preview_module');
if ($is_preview_module != false) {
if ($this->app->user_manager->is_admin()) {
$is_preview_module = module_name_decode($is_preview_module);
if (is_module($is_preview_module)) {
$is_preview_module_skin = $this->app->url_manager->param('preview_module_template');
$preview_module_id = $this->app->url_manager->param('preview_module_id');
$preview_module = $is_preview_module;
if ($is_preview_module_skin != false) {
$preview_module_template = module_name_decode($is_preview_module_skin);
$is_editmode = false;
}
}
}
}
$is_layout_file = $this->app->url_manager->param('preview_layout');
if (!$is_layout_file) {
$is_layout_file = false;
} else {
$page_url = $this->app->url_manager->param_unset('preview_layout', $page_url);
}
if (isset($_REQUEST['content_id']) and intval($_REQUEST['content_id']) != 0) {
$page = $this->app->content_manager->get_by_id($_REQUEST['content_id']);
}
if ($is_quick_edit or $is_preview_template == true or isset($_REQUEST['isolate_content_field']) or $this->create_new_page == true) {
if (isset($_REQUEST['content_id']) and intval($_REQUEST['content_id']) != 0) {
$page = $this->app->content_manager->get_by_id($_REQUEST['content_id']);
} else {
$page['id'] = 0;
$page['content_type'] = 'page';
if (isset($_REQUEST['content_type'])) {
$page['content_type'] = $this->app->database_manager->escape_string($_REQUEST['content_type']);
}
if (isset($_REQUEST['subtype'])) {
$page['subtype'] = $this->app->database_manager->escape_string($_REQUEST['subtype']);
}
template_var('new_content_type', $page['content_type']);
$page['parent'] = '0';
if (isset($_REQUEST['parent_id']) and $_REQUEST['parent_id'] != 0) {
$page['parent'] = intval($_REQUEST['parent_id']);
}
//$page['url'] = $this->app->url_manager->string();
if (isset($is_preview_template) and $is_preview_template != false) {
$page['active_site_template'] = $is_preview_template;
} else {
}
if (isset($is_layout_file) and $is_layout_file != false) {
$page['layout_file'] = $is_layout_file;
}
if (isset($_REQUEST['inherit_template_from']) and $_REQUEST['inherit_template_from'] != 0) {
$page['parent'] = intval($_REQUEST['inherit_template_from']);
$inherit_from = $this->app->content_manager->get_by_id($_REQUEST['inherit_template_from']);
//$page['parent'] = $inherit_from ;
if (isset($inherit_from['layout_file']) and $inherit_from['layout_file'] == 'inherit') {
$inherit_from_id = $this->app->content_manager->get_inherited_parent($inherit_from['id']);
$inherit_from = $this->app->content_manager->get_by_id($inherit_from_id);
}
if (is_array($inherit_from) and isset($inherit_from['active_site_template'])) {
$page['active_site_template'] = $inherit_from['active_site_template'];
$is_layout_file = $page['layout_file'] = $inherit_from['layout_file'];
}
}
if (isset($_REQUEST['content_type']) and $_REQUEST['content_type'] != false) {
$page['content_type'] = $_REQUEST['content_type'];
}
if ($this->content_data != false) {
$page = $this->content_data;
}
template_var('new_page', $page);
}
}
$output_cache_timeout = false;
if (isset($is_preview_template) and $is_preview_template != false) {
if (!defined('MW_NO_SESSION')) {
define('MW_NO_SESSION', true);
}
}
if (isset($_REQUEST['recart']) and $_REQUEST['recart'] != false) {
event_trigger('recover_shopping_cart', $_REQUEST['recart']);
}
if ($output_cache_timeout != false) {
$output_cache_id = __FUNCTION__ . crc32($_SERVER['REQUEST_URI']);
$output_cache_group = 'content/preview';
$output_cache_content = $this->app->cache_manager->get($output_cache_id, $output_cache_group, $output_cache_timeout);
if ($output_cache_content != false) {
echo $output_cache_content;
return;
}
}
$the_active_site_template = $this->app->option_manager->get('current_template', 'template');
$date_format = $this->app->option_manager->get('date_format', 'website');
if ($date_format == false) {
$date_format = 'Y-m-d H:i:s';
}
if ($page == false or $this->create_new_page == true) {
if (trim($page_url) == '' and $preview_module == false) {
$page = $this->app->content_manager->homepage();
} else {
$found_mod = false;
$page = $this->app->content_manager->get_by_url($page_url);
$page_exact = $this->app->content_manager->get_by_url($page_url, true);
$page_url_segment_1 = $this->app->url_manager->segment(0, $page_url);
if ($preview_module != false) {
$page_url = $preview_module;
}
if ($the_active_site_template == false or $the_active_site_template == '') {
$the_active_site_template = 'default';
}
if ($page_exact == false and $found_mod == false and $this->app->modules->is_installed($page_url) and $page_url != 'settings' and $page_url != 'admin') {
$found_mod = true;
$page['id'] = 0;
$page['content_type'] = 'page';
$page['parent'] = '0';
$page['url'] = $this->app->url_manager->string();
$page['active_site_template'] = $the_active_site_template;
template_var('no_edit', 1);
$mod_params = '';
if ($preview_module_template != false) {
$mod_params = $mod_params . " template='{$preview_module_template}' ";
}
if ($preview_module_id != false) {
$mod_params = $mod_params . " id='{$preview_module_id}' ";
}
$found_mod = $page_url;
$page['content'] = '<microweber module="' . $page_url . '" ' . $mod_params . ' />';
// $page['simply_a_file'] = 'clean.php';
$page['layout_file'] = 'clean.php';
template_var('content', $page['content']);
template_var('new_page', $page);
}
if ($found_mod == false) {
if (empty($page)) {
$the_new_page_file = false;
$page_url_segment_1 = $this->app->url_manager->segment(0, $page_url);
$td = templates_path() . $page_url_segment_1;
$td_base = $td;
$page_url_segment_2 = $this->app->url_manager->segment(1, $page_url);
$directly_to_file = false;
$page_url_segment_3 = $this->app->url_manager->segment(-1, $page_url);
$page_url_segment_1 = $the_active_site_template = $this->app->option_manager->get('current_template', 'template');
$td_base = templates_path() . $the_active_site_template . DS;
$page_url_segment_3_str = implode(DS, $page_url_segment_3);
if ($page_url_segment_3_str != '') {
$page_url_segment_3_str = rtrim($page_url_segment_3_str, DS);
$page_url_segment_3_str = rtrim($page_url_segment_3_str, '\\');
$page_url_segment_3_str_copy = $page_url_segment_3_str;
$is_ext = get_file_extension($page_url_segment_3_str);
if ($is_ext == false or $is_ext != 'php') {
$page_url_segment_3_str = $page_url_segment_3_str . '.php';
}
$td_f = $td_base . DS . $page_url_segment_3_str;
$td_fd = $td_base . DS . $page_url_segment_3_str_copy;
$td_fd2 = $td_base . DS . $page_url_segment_3[0];
if (is_file($td_f)) {
$the_new_page_file = $page_url_segment_3_str;
$simply_a_file = $directly_to_file = $td_f;
} else {
if (is_dir($td_fd)) {
$td_fd_index = $td_fd . DS . 'index.php';
if (is_file($td_fd_index)) {
$the_new_page_file = $td_fd_index;
$simply_a_file = $directly_to_file = $td_fd_index;
}
} else {
$is_ext = get_file_extension($td_fd);
if ($is_ext == false or $is_ext != 'php') {
$td_fd = $td_fd . '.php';
}
$is_ext = get_file_extension($td_fd2);
if ($is_ext == false or $is_ext != 'php') {
$td_fd2 = $td_fd2 . '.php';
}
if (is_file($td_fd)) {
$the_new_page_file = $td_fd;
$simply_a_file = $directly_to_file = $td_fd;
} elseif (is_file($td_fd2)) {
$the_new_page_file = $td_fd2;
$simply_a_file = $directly_to_file = $td_fd2;
} else {
$td_basedef = templates_path() . 'default' . DS . $page_url_segment_3_str;
if (is_file($td_basedef)) {
$the_new_page_file = $td_basedef;
$simply_a_file = $directly_to_file = $td_basedef;
}
}
}
}
}
$fname1 = 'index.php';
$fname2 = $page_url_segment_2 . '.php';
$fname3 = $page_url_segment_2;
$tf1 = $td . DS . $fname1;
$tf2 = $td . DS . $fname2;
$tf3 = $td . DS . $fname3;
if ($directly_to_file == false and is_dir($td)) {
if (is_file($tf1)) {
$simply_a_file = $tf1;
$the_new_page_file = $fname1;
}
if (is_file($tf2)) {
$simply_a_file = $tf2;
$the_new_page_file = $fname2;
}
if (is_file($tf3)) {
$simply_a_file = $tf3;
$the_new_page_file = $fname3;
}
if ($simply_a_file != false) {
$simply_a_file = str_replace('..', '', $simply_a_file);
$simply_a_file = normalize_path($simply_a_file, false);
}
}
if ($simply_a_file == false) {
//$page = $this->app->content_manager->homepage();
$page = false;
if (!is_array($page)) {
$page = array();
$page['id'] = 0;
$page['content_type'] = 'page';
$page['parent'] = '0';
$page['url'] = $this->app->url_manager->string();
// $page['active_site_template'] = $page_url_segment_1;
$page['simply_a_file'] = 'clean.php';
$page['layout_file'] = 'clean.php';
$show_404_to_non_admin = true;
}
if (is_array($page_url_segment_3)) {
foreach ($page_url_segment_3 as $mvalue) {
if ($found_mod == false and $this->app->modules->is_installed($mvalue)) {
$found_mod = true;
$page['id'] = 0;
$page['content_type'] = 'page';
$page['parent'] = '0';
$page['url'] = $this->app->url_manager->string();
$page['active_site_template'] = $page_url_segment_1;
$page['content'] = '<module type="' . $mvalue . '" />';
$page['simply_a_file'] = 'clean.php';
$page['layout_file'] = 'clean.php';
template_var('content', $page['content']);
template_var('new_page', $page);
$show_404_to_non_admin = false;
}
}
}
} else {
if (!is_array($page)) {
$page = array();
}
$page['id'] = 0;
if (isset($page_data) and isset($page_data['id'])) {
// $page['id'] = $page_data['id'];
}
$page['content_type'] = 'page';
$page['parent'] = '0';
$page['url'] = $this->app->url_manager->string();
$page['active_site_template'] = $page_url_segment_1;
$page['layout_file'] = $the_new_page_file;
$page['simply_a_file'] = $simply_a_file;
template_var('new_page', $page);
template_var('simply_a_file', $simply_a_file);
}
}
}
}
}
if ($page['id'] != 0) {
// if(!isset($page['layout_file']) or $page['layout_file'] == false){
$page = $this->app->content_manager->get_by_id($page['id']);
// }
if ($page['content_type'] == 'post' and isset($page['parent'])) {
$content = $page;
$page = $this->app->content_manager->get_by_id($page['parent']);
} else {
$content = $page;
}
} else {
$content = $page;
}
if (isset($content['created_at']) and trim($content['created_at']) != '') {
$content['created_at'] = date($date_format, strtotime($content['created_at']));
}
if (isset($content['updated_at']) and trim($content['updated_at']) != '') {
$content['updated_at'] = date($date_format, strtotime($content['updated_at']));
}
if ($is_preview_template != false) {
$is_preview_template = str_replace('____', DS, $is_preview_template);
$is_preview_template = str_replace('..', '', $is_preview_template);
$content['active_site_template'] = $is_preview_template;
}
if ($is_layout_file != false and $is_admin == true) {
$is_layout_file = str_replace('____', DS, $is_layout_file);
if ($is_layout_file == 'inherit') {
if (isset($_REQUEST['inherit_template_from']) and intval($_REQUEST['inherit_template_from']) != 0) {
$inherit_layout_from_this_page = $this->app->content_manager->get_by_id($_REQUEST['inherit_template_from']);
if (isset($inherit_layout_from_this_page['layout_file']) and $inherit_layout_from_this_page['layout_file'] != 'inherit') {
$is_layout_file = $inherit_layout_from_this_page['layout_file'];
}
if (isset($inherit_layout_from_this_page['layout_file']) and $inherit_layout_from_this_page['layout_file'] != 'inherit') {
$is_layout_file = $inherit_layout_from_this_page['layout_file'];
}
}
}
$content['layout_file'] = $is_layout_file;
}
if ($is_custom_view and $is_custom_view != false) {
$content['custom_view'] = $is_custom_view;
}
if (isset($content['is_active']) and ($content['is_active'] == 'n' or $content['is_active'] == 0)) {
if ($this->app->user_manager->is_admin() == false) {
$page_non_active = array();
$page_non_active['id'] = 0;
$page_non_active['content_type'] = 'page';
$page_non_active['parent'] = '0';
$page_non_active['url'] = $this->app->url_manager->string();
$page_non_active['content'] = 'This page is not published!';
$page_non_active['simply_a_file'] = 'clean.php';
$page_non_active['layout_file'] = 'clean.php';
$page_non_active['page_non_active'] = true;
template_var('content', $page_non_active['content']);
$content = $page_non_active;
}
} elseif (isset($content['is_deleted']) and $content['is_deleted'] == 1) {
if ($this->app->user_manager->is_admin() == false) {
$page_non_active = array();
$page_non_active['id'] = 0;
$page_non_active['content_type'] = 'page';
$page_non_active['parent'] = '0';
$page_non_active['url'] = $this->app->url_manager->string();
$page_non_active['content'] = 'This page is deleted!';
$page_non_active['simply_a_file'] = 'clean.php';
$page_non_active['layout_file'] = 'clean.php';
$page_non_active['page_is_deleted'] = true;
template_var('content', $page_non_active['content']);
$content = $page_non_active;
}
}
if (isset($content['require_login']) and $content['require_login'] == 1) {
if ($this->app->user_manager->id() == 0) {
$page_non_active = array();
$page_non_active['id'] = 0;
$page_non_active['content_type'] = 'page';
$page_non_active['parent'] = '0';
$page_non_active['url'] = $this->app->url_manager->string();
$page_non_active['content'] = ' <module type="users/login" class="user-require-login-on-view" /> ';
$page_non_active['simply_a_file'] = 'clean.php';
$page_non_active['layout_file'] = 'clean.php';
$page_non_active['page_require_login'] = true;
template_var('content', $page_non_active['content']);
$content = $page_non_active;
}
}
if (!defined('IS_HOME')) {
if (isset($content['is_home']) and $content['is_home'] == 1) {
define('IS_HOME', true);
}
}
$this->app->content_manager->define_constants($content);
event_trigger('mw.front', $content);
event_trigger('mw_frontend', $content);
$render_file = $this->app->template->get_layout($content);
$content['render_file'] = $render_file;
if (defined('TEMPLATE_DIR')) {
$load_template_functions = TEMPLATE_DIR . 'functions.php';
if (is_file($load_template_functions)) {
include_once $load_template_functions;
}
}
if ($this->return_data != false) {
return $content;
}
if (isset($content['original_link']) and $content['original_link'] != '') {
$content['original_link'] = str_ireplace('{site_url}', $this->app->url_manager->site(), $content['original_link']);
$redirect = $this->app->format->prep_url($content['original_link']);
if ($redirect != '') {
return $this->app->url_manager->redirect($redirect);
}
}
if (!isset($page['title'])) {
$page['title'] = 'New page';
}
if (!isset($content['title'])) {
$content['title'] = 'New content';
}
$category = false;
if (defined('CATEGORY_ID')) {
$category = $this->app->category_manager->get_by_id(CATEGORY_ID);
}
if ($render_file) {
$render_params = array();
if ($show_404_to_non_admin) {
if (!is_admin()) {
$load_template_404 = template_dir() . '404.php';
if (is_file($load_template_404)) {
$render_file = $load_template_404;
}
}
}
$render_params['render_file'] = $render_file;
$render_params['page_id'] = PAGE_ID;
$render_params['content_id'] = CONTENT_ID;
$render_params['post_id'] = POST_ID;
$render_params['category_id'] = CATEGORY_ID;
$render_params['content'] = $content;
$render_params['category'] = $category;
$render_params['page'] = $page;
$l = $this->app->template->render($render_params);
if (is_object($l)) {
return $l;
}
// used for preview from the admin wysiwyg
if (isset($_REQUEST['isolate_content_field'])) {
require_once MW_PATH . 'Utils' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'phpQuery.php';
$pq = \phpQuery::newDocument($l);
$isolated_head = pq('head')->eq(0)->html();
$found_field = false;
if (isset($_REQUEST['isolate_content_field'])) {
foreach ($pq['[field=content]'] as $elem) {
$isolated_el = $l = pq($elem)->htmlOuter();
}
}
$is_admin = $this->app->user_manager->is_admin();
if ($is_admin == true and isset($isolated_el) != false) {
$tb = mw_includes_path() . DS . 'toolbar' . DS . 'editor_tools' . DS . 'wysiwyg' . DS . 'index.php';
//$layout_toolbar = file_get_contents($filename);
$layout_toolbar = new \Microweber\View($tb);
$layout_toolbar = $layout_toolbar->__toString();
if ($layout_toolbar != '') {
if (strstr($layout_toolbar, '{head}')) {
if ($isolated_head != false) {
$layout_toolbar = str_replace('{head}', $isolated_head, $layout_toolbar);
}
}
if (strpos($layout_toolbar, '{content}')) {
$l = str_replace('{content}', $l, $layout_toolbar);
}
//$layout_toolbar = mw()->parser->process($layout_toolbar, $options = array('no_apc' => 1));
}
}
}
$modify_content = event_trigger('on_load', $content);
if ($is_editmode == true and !defined('IN_EDIT')) {
define('IN_EDIT', true);
}
if (isset($is_quick_edit) and $is_quick_edit == true and !defined('QUICK_EDIT')) {
define('QUICK_EDIT', true);
}
$l = $this->app->parser->process($l, $options = false);
if ($preview_module_id != false) {
$_REQUEST['embed_id'] = $preview_module_id;
}
if (isset($_REQUEST['embed_id'])) {
$find_embed_id = trim($_REQUEST['embed_id']);
$l = $this->app->parser->get_by_id($find_embed_id, $l);
}
$apijs_loaded = $this->app->template->get_apijs_url();
//$apijs_loaded = $this->app->template->get_apijs_url() . '?id=' . CONTENT_ID;
$is_admin = $this->app->user_manager->is_admin();
$default_css = '<link rel="stylesheet" href="' . mw_includes_url() . 'default.css" type="text/css" />';
$headers = event_trigger('site_header', TEMPLATE_NAME);
$template_headers_append = '';
$one = 1;
if (is_array($headers)) {
foreach ($headers as $modify) {
if ($modify != false and is_string($modify) and $modify != '') {
$template_headers_append = $template_headers_append . $modify;
}
}
if ($template_headers_append != false and $template_headers_append != '') {
$l = str_ireplace('</head>', $template_headers_append . '</head>', $l, $one);
}
}
$template_headers_src = $this->app->template->head(true);
$template_footer_src = $this->app->template->foot(true);
$template_headers_src_callback = $this->app->template->head_callback($page);
if (is_array($template_headers_src_callback) and !empty($template_headers_src_callback)) {
foreach ($template_headers_src_callback as $template_headers_src_callback_str) {
if (is_string($template_headers_src_callback_str)) {
$template_headers_src = $template_headers_src . "\n" . $template_headers_src_callback_str;
}
}
}
if (isset($page['created_by'])) {
$author = $this->app->user_manager->get_by_id($page['created_by']);
if (is_array($author) and isset($author['profile_url']) and $author['profile_url'] != false) {
$template_headers_src = $template_headers_src . "\n" . '<link rel="author" href="' . trim($author['profile_url']) . '" />' . "\n";
}
}
if ($template_headers_src != false and is_string($template_headers_src)) {
$l = str_ireplace('</head>', $template_headers_src . '</head>', $l, $one);
}
if ($template_footer_src != false and is_string($template_footer_src)) {
$l = str_ireplace('</body>', $template_footer_src . '</body>', $l, $one);
}
$l = str_ireplace('<head>', '<head>' . $default_css, $l);
if (!stristr($l, $apijs_loaded)) {
//$apijs_settings_loaded = $this->app->template->get_apijs_settings_url() . '?id=' . CONTENT_ID . '&category_id=' . CATEGORY_ID;;
$apijs_settings_loaded = $this->app->template->get_apijs_settings_url();
$apijs_settings_script = "\r\n" . '<script src="' . $apijs_settings_loaded . '"></script>' . "\r\n";
$apijs_settings_script .= '<script src="' . $apijs_loaded . '"></script>' . "\r\n";
$l = str_ireplace('<head>', '<head>' . $apijs_settings_script, $l);
}
if (isset($content['active_site_template']) and $content['active_site_template'] == 'default' and $the_active_site_template != 'default' and $the_active_site_template != 'mw_default') {
$content['active_site_template'] = $the_active_site_template;
}
if (isset($content['active_site_template']) and trim($content['active_site_template']) != '' and $content['active_site_template'] != 'default') {
if (!defined('CONTENT_TEMPLATE')) {
define('CONTENT_TEMPLATE', $content['active_site_template']);
}
$custom_live_edit = TEMPLATES_DIR . DS . $content['active_site_template'] . DS . 'live_edit.css';
$live_edit_css_folder = userfiles_path() . 'css' . DS . $content['active_site_template'] . DS;
$live_edit_url_folder = userfiles_url() . 'css/' . $content['active_site_template'] . '/';
$custom_live_edit = $live_edit_css_folder . DS . 'live_edit.css';
} else {
if (!defined('CONTENT_TEMPLATE')) {
define('CONTENT_TEMPLATE', $the_active_site_template);
}
// if ($the_active_site_template == 'mw_default') {
// $the_active_site_template = 'default';
// }
$custom_live_edit = TEMPLATE_DIR . DS . 'live_edit.css';
$live_edit_css_folder = userfiles_path() . 'css' . DS . $the_active_site_template . DS;
$live_edit_url_folder = userfiles_url() . 'css/' . $the_active_site_template . '/';
$custom_live_edit = $live_edit_css_folder . 'live_edit.css';
}
$custom_live_edit = normalize_path($custom_live_edit, false);
if (is_file($custom_live_edit)) {
$custom_live_editmtime = filemtime($custom_live_edit);
$liv_ed_css = '<link rel="stylesheet" href="' . $live_edit_url_folder . 'live_edit.css?version=' . $custom_live_editmtime . '" id="mw-template-settings" type="text/css" />';
$l = str_ireplace('</head>', $liv_ed_css . '</head>', $l);
}
$liv_ed_css = $this->app->template->get_custom_css_url();
if ($liv_ed_css != false) {
$liv_ed_css = '<link rel="stylesheet" href="' . $liv_ed_css . '" id="mw-custom-user-css" type="text/css" />';
$l = str_ireplace('</head>', $liv_ed_css . '</head>', $l);
}
$website_head_tags = $this->app->option_manager->get('website_head', 'website');
$rep_count = 1;
if ($website_head_tags != false) {
$l = str_ireplace('</head>', $website_head_tags . '</head>', $l, $rep_count);
}
if (defined('MW_VERSION')) {
$generator_tag = "\n" . '<meta name="generator" content="Microweber" />' . "\n";
$l = str_ireplace('</head>', $generator_tag . '</head>', $l, $rep_count);
}
if ($is_editmode == true and $this->isolate_by_html_id == false and !isset($_REQUEST['isolate_content_field'])) {
if ($is_admin == true) {
$tb = mw_includes_path() . DS . 'toolbar' . DS . 'toolbar.php';
$layout_toolbar = new \Microweber\View($tb);
$is_editmode_basic = false;
$user_data = $this->app->user_manager->get();
if (isset($user_data['basic_mode']) and trim($user_data['basic_mode'] == 'y')) {
$is_editmode_basic = true;
}
if (isset($is_editmode_basic) and $is_editmode_basic == true) {
$layout_toolbar->assign('basic_mode', true);
} else {
$layout_toolbar->assign('basic_mode', false);
}
event_trigger('mw.live_edit');
$layout_toolbar = $layout_toolbar->__toString();
if ($layout_toolbar != '') {
$layout_toolbar = $this->app->parser->process($layout_toolbar, $options = array('no_apc' => 1));
$c = 1;
$l = str_ireplace('</body>', $layout_toolbar . '</body>', $l, $c);
}
$custom_live_edit = TEMPLATES_DIR . DS . TEMPLATE_NAME . DS . 'live_edit.php';
$custom_live_edit = normalize_path($custom_live_edit, false);
if (is_file($custom_live_edit)) {
$layout_live_edit = new \Microweber\View($custom_live_edit);
$layout_live_edit = $layout_live_edit->__toString();
if ($layout_live_edit != '') {
$l = str_ireplace('</body>', $layout_live_edit . '</body>', $l, $c);
}
}
}
} elseif ($is_editmode == false and $is_admin == true and mw()->user_manager->session_id() and !(mw()->user_manager->session_all() == false) and mw()->user_manager->session_get('back_to_editmode')) {
if (!isset($_REQUEST['isolate_content_field']) and !isset($_REQUEST['content_id'])) {
$back_to_editmode = $this->app->user_manager->session_get('back_to_editmode');
if ($back_to_editmode == true) {
$tb = mw_includes_path() . DS . 'toolbar' . DS . 'toolbar_back.php';
$layout_toolbar = new \Microweber\View($tb);
$layout_toolbar = $layout_toolbar->__toString();
if ($layout_toolbar != '') {
$layout_toolbar = $this->app->parser->process($layout_toolbar, $options = array('no_apc' => 1));
$c = 1;
$l = str_ireplace('</body>', $layout_toolbar . '</body>', $l, $c);
}
}
}
}
$l = str_replace('{TEMPLATE_URL}', TEMPLATE_URL, $l);
$l = str_replace('{THIS_TEMPLATE_URL}', THIS_TEMPLATE_URL, $l);
$l = str_replace('{DEFAULT_TEMPLATE_URL}', DEFAULT_TEMPLATE_URL, $l);
$l = str_replace('%7BTEMPLATE_URL%7D', TEMPLATE_URL, $l);
$l = str_replace('%7BTHIS_TEMPLATE_URL%7D', THIS_TEMPLATE_URL, $l);
$l = str_replace('%7BDEFAULT_TEMPLATE_URL%7D', DEFAULT_TEMPLATE_URL, $l);
$meta = array();
$meta['content_image'] = '';
$meta['description'] = '';
if (is_home()) {
$meta['content_url'] = site_url();
} else {
$meta['content_url'] = $this->app->url_manager->current(1);
}
$meta['og_description'] = $this->app->option_manager->get('website_description', 'website');
$meta['og_type'] = 'website';
$meta_content_id = PAGE_ID;
if (CONTENT_ID > 0) {
$meta_content_id = CONTENT_ID;
}
if ($meta_content_id > 0) {
$meta = $this->app->content_manager->get_by_id($meta_content_id);
$content_image = $this->app->media_manager->get_picture($meta_content_id);
if ($content_image) {
$meta['content_image'] = $content_image;
} else {
$meta['content_image'] = '';
}
$meta['content_url'] = $this->app->content_manager->link($meta_content_id);
$meta['og_type'] = $meta['content_type'];
if ($meta['og_type'] != 'page' and trim($meta['subtype']) != '') {
$meta['og_type'] = $meta['subtype'];
}
if ($meta['description'] != false and trim($meta['description']) != '') {
$meta['description'] = $meta['description'];
} elseif ($meta['content'] != false and trim($meta['content']) != '') {
$meta['description'] = str_replace("\n", ' ', $this->app->format->limit($this->app->format->clean_html(strip_tags($meta['content'])), 500));
}
if (isset($meta['description']) and $meta['description'] != '') {
$meta['og_description'] = $meta['description'];
} else {
$meta['og_description'] = trim($this->app->format->limit($this->app->format->clean_html(strip_tags($meta['content'])), 500));
}
} else {
$meta['title'] = $this->app->option_manager->get('website_title', 'website');
$meta['description'] = $this->app->option_manager->get('website_description', 'website');
$meta['content_meta_keywords'] = $this->app->option_manager->get('website_keywords', 'website');
}
$meta['og_site_name'] = $this->app->option_manager->get('website_title', 'website');
if (!empty($meta)) {
if (isset($meta['content_meta_title']) and $meta['content_meta_title'] != '') {
$meta['title'] = $meta['content_meta_title'];
} elseif (isset($meta['title']) and $meta['title'] != '') {
} else {
$meta['title'] = $this->app->option_manager->get('website_title', 'website');
}
if (isset($meta['description']) and $meta['description'] != '') {
} else {
$meta['description'] = $this->app->option_manager->get('website_description', 'website');
}
if (isset($meta['description']) and $meta['description'] != '') {
$meta['content_meta_description'] = strip_tags($meta['description']);
unset($meta['description']);
} elseif (isset($meta['content']) and $meta['content'] != '') {
$meta['content_meta_description'] = strip_tags($meta['content']);
} elseif (isset($meta['title']) and $meta['title'] != '') {
$meta['content_meta_description'] = strip_tags($meta['title']);
}
if (isset($meta['title']) and $meta['title'] != '') {
$meta['content_meta_title'] = strip_tags($meta['title']);
} elseif (isset($found_mod) and $found_mod != false) {
$meta['content_meta_title'] = ucwords(str_replace('/', ' ', $found_mod));
} else {
$meta['content_meta_title'] = ucwords(str_replace('/', ' ', $this->app->url_manager->segment(0)));
}
if (isset($meta['content_meta_keywords']) and $meta['content_meta_keywords'] != '') {
} else {
$meta['content_meta_keywords'] = $this->app->option_manager->get('website_keywords', 'website');
}
if (is_array($meta)) {
foreach ($meta as $key => $item) {
if (is_string($item)) {
$item = html_entity_decode($item);
$item = strip_tags($item);
$item = str_replace('&zwnj;', ' ', $item);
$item = str_replace('"', ' ', $item);
$item = str_replace("'", ' ', $item);
$item = str_replace('>', '', $item);
$item = str_replace('&quot;', ' ', $item);
$item = str_replace('quot;', ' ', $item);
$item = str_replace('&', ' ', $item);
$item = str_replace('amp;', ' ', $item);
$item = str_replace('nbsp;', ' ', $item);
$item = str_replace('#039;', ' ', $item);
$item = str_replace('&nbsp;', ' ', $item);
$item = str_replace('&', ' ', $item);
$item = str_replace(';', ' ', $item);
$item = str_replace(' ', ' ', $item);
$item = str_replace(' ', ' ', $item);
$l = str_replace('{' . $key . '}', $item, $l);
} elseif ($item == false) {
$l = str_replace('{' . $key . '}', '', $l);
}
}
}
}
if ($page != false and empty($this->page)) {
$this->page = $page;
}
$l = execute_document_ready($l);
event_trigger('frontend');
$is_embed = $this->app->url_manager->param('embed');
if ($is_embed != false) {
$this->isolate_by_html_id = $is_embed;
}
if ($this->isolate_by_html_id != false) {
$id_sel = $this->isolate_by_html_id;
$this->isolate_by_html_id = false;
require_once MW_PATH . 'Utils' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'phpQuery.php';
$pq = \phpQuery::newDocument($l);
foreach ($pq['#' . $id_sel] as $elem) {
$l = pq($elem)->htmlOuter();
}
}
if (mw()->user_manager->session_id() and !(mw()->user_manager->session_all() == false) and $is_editmode) {
session_set('last_content_id', CONTENT_ID);
}
if ($output_cache_timeout != false) {
$this->app->cache_manager->save($l, $output_cache_id, $output_cache_group);
}
if (isset($_REQUEST['debug'])) {
if ($this->app->make('config')->get('app.debug')) {
$is_admin = $this->app->user_manager->is_admin();
if ($is_admin == true) {
include mw_includes_path() . 'debug.php';
}
}
}
if ($show_404_to_non_admin) {
$response = \Response::make($l);
$response->setStatusCode(404);
return $response;
}
return $l;
} else {
echo 'Error! Page is not found? Please login in the admin and make a page.';
$this->app->cache_manager->clear();
return;
}
}