template_number = 32; // Module types $this->module_types = array( // GK_HEADER // GK_MAINBODY // gk_left "left_top" => 'gavickpro', "left_one" => 'gavickpro', "left_two" => 'gavickpro', "left_bottom" => 'gavickpro', // gk_right "right_top" => 'gavickpro', "right_one" => 'gavickpro', "right_two" => 'gavickpro', "right_bottom" => 'gavickpro', // gk_content - content_top "top_up" => 'gavickpro', "top_down" => 'gavickpro', "user1" => 'gavickpro', "user2" => 'gavickpro', "user3" => 'gavickpro', "user4" => 'gavickpro', "user5" => 'gavickpro', "user6" => 'gavickpro', // gk_content - current_wrap "inset_left" => 'gavickpro', "inset_right" => 'gavickpro', "adv1" => 'gavickpro', "adv2" => 'gavickpro', "adv3" => 'gavickpro', "mainbody" => 'gavickpro', "adv4" => 'gavickpro', "adv5" => 'gavickpro', "adv6" => 'gavickpro', // gk_content - content_bottom "bottom_up" => 'gavickpro', "bottom_down" => 'gavickpro', "user7" => 'gavickpro', "user8" => 'gavickpro', "user9" => 'gavickpro', "user10" => 'gavickpro', "user11" => 'gavickpro', "user12" => 'gavickpro', // GK_BOTTOM // bottom1 "user13" => 'gavickpro', "user14" => 'gavickpro', "user15" => 'gavickpro', "user16" => 'gavickpro', "user17" => 'gavickpro', "user18" => 'gavickpro', "user19" => 'gavickpro', "user20" => 'gavickpro', // bottom2 "user21" => 'gavickpro', "user22" => 'gavickpro', "user23" => 'gavickpro', "user24" => 'gavickpro', "user25" => 'gavickpro', "user26" => 'gavickpro', "user27" => 'gavickpro', "user28" => 'gavickpro', // GK_FOOTER "footer_menu" => 'raw' ); // Box model for main blocks $this->boxModels["content"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); $this->boxModels["left_column"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "left_column" => array("margin" => array(0,18,0,0), "padding" => array(0,18,0,0), "border" => 0), "left_one" => array("margin" => 0, "padding" => 0, "border" => 0), "left_two" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); $this->boxModels["right_column"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "right_column" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "right_one" => array("margin" => 0, "padding" => 0, "border" => 0), "right_two" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); $this->boxModels["both_columns"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "left_column" => array("margin" => array(0,18,0,0), "padding" => array(0,18,0,0), "border" => 0), "left_one" => array("margin" => 0, "padding" => 0, "border" => 0), "left_two" => array("margin" => 0, "padding" => 0, "border" => 0), "right_column" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "right_one" => array("margin" => 0, "padding" => 0, "border" => 0), "right_two" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); $this->boxModels["two_columns_left"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "left_column" => array("margin" => array(0,18,0,0), "padding" => array(0,18,0,0), "border" => 0), "left_one" => array("margin" => 0, "padding" => 0, "border" => 0), "left_two" => array("margin" => 0, "padding" => 0, "border" => 0), "right_column" => array("margin" => array(0,18,0,0), "padding" => array(0,18,0,0), "border" => 0), "right_one" => array("margin" => 0, "padding" => 0, "border" => 0), "right_two" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); $this->boxModels["two_columns_right"] = array( "gk_mainbody" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "left_column" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "left_one" => array("margin" => 0, "padding" => 0, "border" => 0), "left_two" => array("margin" => 0, "padding" => 0, "border" => 0), "right_column" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "right_one" => array("margin" => 0, "padding" => 0, "border" => 0), "right_two" => array("margin" => array(0,0,0,18), "padding" => array(0,0,0,18), "border" => 0), "gk_content" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_left" => array("margin" => 0, "padding" => 0, "border" => 0), "inset_right" => array("margin" => 0, "padding" => 0, "border" => 0), "current" => array("margin" => 0, "padding" => 0, "border" => 0), "gk_bottom" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_bottom1" => array("margin" => array(0,0,18,0), "padding" => 0, "border" => 0), "gk_bottom2" => array("margin" => array(18,0,0,0), "padding" => 0, "border" => 0), "gk_footer" => array("margin" => array(18,0,18,0), "padding" => array(6,0,6,0), "border" => array(1,0,4,0)) ); // Equal columns in blocks $this->equalColumns = array( "gk_mainbody" => false, "left_col" => false, "right_col" => false, "content_top" => true, "content_wrap" => false, "current_top" => false, "current_bottom" => false, "content_bottom" => false, "gk_bottom1" => false, "gk_bottom2" => false ); // set main wrapper full width - 100% $this->fullWidth = true; ///////////////////////////////////////////////////// // // End of user settings // ///////////////////////////////////////////////////// // handler to template helper object $this->template = $tmpl_handler; // URI class $this->URI = clone(JURI::getInstance()); // getting User object and user ID $user =& JFactory::getUser(); // getting User ID $this->UID = $user->get('id'); // config arrays $this->dimensions = array( "template" => 0, "left_column" => 0, "right_column" => 0, "left_one" => 0, "right_one" => 0, "left_two" => 0, "right_two" => 0, "inset_left" => 0, "inset_right" => 0, "gk_content" => 0, "current" => 0 ); // initialization of settings array $this->settings = array( "skeleton" => "content", "stylearea" => true, "template_color" => 1, "mainbody_pos" => 1, // 0 - no mainbody,1 - mainbody or component,2 - mainbody before component,3 - mainbody after component "footer_content" => "", "ie6info" => true, "frontpage" => false, "login_button" => true, "register_button" => true, "logo_as_image" => true, "menutype" => 'power', "menuname" => 'mainmenu' ); // initialization of widths array $this->widths = array( "user_block1" => "", "user_block2" => "", "user_block3" => "", "user_block4" => "", "user_block5" => "", "user_block6" => "" ); // template base URL $this->template_baseurl = str_replace("index.php/","",$this->URI->root()) . 'templates/' . $this->template->template; // loading data and calculating $this->loadSettings(); $this->calculateColumns(); $this->calculateUserBlocks(); // Getting document handler $document = &JFactory::getDocument(); // Loading module renderer $renderer = $document->loadRenderer( 'module' ); // Setting rendering as RAW $options = array( 'style' => "raw" ); // Getting mod_mainmenu module $module = JModuleHelper::getModule( 'mod_mainmenu' ); // initializing empty variable $main_navigation = false; // Getting menu name from params $menu_name = $this->settings["menuname"]; // Getting menu type from params $mtype = $this->settings["menutype"]; // If menu setted as moomenu or suckerfish if($mtype == "moomenu" || $mtype == "suckerfish") { // render module with showing submenus $module->params = "menutype=$menu_name\nshowAllChildren=1"; } else // if menu is not setted as moomenu or suckerish menu { // render module without showing submenus $module->params = "menutype=$menu_name\nshowAllChildren=0"; } // saving results of rendering module in variable $this->main_navigation = $renderer->render( $module, $options ); } /** * * Function to check component existing * * @return bool * */ function checkComponent() { $menu = & JSite::getMenu(); return !(($this->settings["frontpage"]) ? false : ($menu->getActive() == $menu->getDefault())); } /** * * Function to check mainbody position * * @return bool * */ function checkMainbody() { return $this->settings['mainbody_pos'] != 0 && $this->modules("mainbody") > 0; } /** * * Function to check status of existing modules * * @return bool * */ function modules($check) { return $this->template->countModules($check); //return true; } /** * * Function to sum a box-model width * * @return int * */ function sumBoxModel($name) { $sumOfBox = 0; // margins if($this->boxModels[$this->settings["skeleton"]][$name]["margin"] === 0) $sumOfBox += 0; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["margin"]) == 1) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["margin"][0]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["margin"]) == 2) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["margin"][1]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["margin"]) == 4) $sumOfBox += $this->boxModels[$this->settings["skeleton"]][$name]["margin"][1] + $this->boxModels[$this->settings["skeleton"]][$name]["margin"][3]; // paddings if($this->boxModels[$this->settings["skeleton"]][$name]["padding"] === 0) $sumOfBox += 0; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["padding"]) == 1) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["padding"][0]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["padding"]) == 2) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["padding"][1]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["padding"]) == 4) $sumOfBox += $this->boxModels[$this->settings["skeleton"]][$name]["padding"][1] + $this->boxModels[$this->settings["skeleton"]][$name]["padding"][3]; // borders if($this->boxModels[$this->settings["skeleton"]][$name]["border"] === 0) $sumOfBox += 0; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["border"]) == 1) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["border"][0]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["border"]) == 2) $sumOfBox += 2 * $this->boxModels[$this->settings["skeleton"]][$name]["border"][1]; elseif(count($this->boxModels[$this->settings["skeleton"]][$name]["border"]) == 4) $sumOfBox += $this->boxModels[$this->settings["skeleton"]][$name]["border"][1] + $this->boxModels[$this->settings["skeleton"]][$name]["border"][3]; return $sumOfBox; } /** * * Function to load template settings * * @return void * */ function loadSettings() { // loading other settings $this->settings["skeleton"] = $this->template->params->get("skeleton", "right_column"); $this->settings["stylearea"] = (bool) $this->template->params->get("stylearea", 1); $this->settings["template_color"] = $this->template->params->get("template_color", 1); $this->settings["ie6info"] = (bool) $this->template->params->get("ie6info", 1); $this->settings["frontpage"] = (bool) $this->template->params->get("frontpage", 0); $this->settings["login_button"] = (bool) $this->template->params->get("login_button", 1); $this->settings["register_button"] = (bool) $this->template->params->get("register_button", 1); $this->settings["logo_as_image"] = (bool) $this->template->params->get("logo_as_image", 1); $this->settings["mainbody_pos"] = $this->template->params->get("mainbody_pos", 1); $this->settings["menutype"] = (bool) $this->template->params->get("menutype", "power"); $this->settings["footer_content"] = $this->template->params->get("footer_content", "Template Design © Joomla Templates | GavickPro. All rights reserved."); // loading dimension settings $this->dimensions["template"] = $this->template->params->get("template", 0); $this->dimensions["left_column"] = ($this->modules('left_top or left_one or left_two or left_bottom') && (($this->settings["skeleton"] == "left_column") || ($this->settings["skeleton"] == "both_columns") || ($this->settings["skeleton"] == "two_columns_left") || ($this->settings["skeleton"] == "two_columns_right"))) ? $this->template->params->get("left_column", 200) : 0; $this->dimensions["right_column"] = ($this->modules('right_top or right_one or right_two or right_bottom') && (($this->settings["skeleton"] == "right_column") || ($this->settings["skeleton"] == "both_columns") || ($this->settings["skeleton"] == "two_columns_left") || ($this->settings["skeleton"] == "two_columns_right"))) ? $this->template->params->get("right_column", 200) : 0; $this->dimensions["left_one"] = ($this->modules('left_one or left_two')) ? (($this->modules('left_one and left_two')) ? $this->template->params->get("left_one", 0) : '100%') : 0; $this->dimensions["right_one"] = ($this->modules('right_one or right_two')) ? (($this->modules('right_one and right_two')) ? $this->template->params->get("right_one", 0) : '100%') : 0; $this->dimensions["inset_left"] = ($this->modules('inset_left')) ? $this->template->params->get("inset_left", 0) : 0; $this->dimensions["inset_right"] = ($this->modules('inset_right')) ? $this->template->params->get("inset_right", 0) : 0; // loading font settings } /** * * Function to calculate columns width * * @return void * */ function calculateColumns() { $this->dimensions["left_two"] = ($this->modules('left_one and left_two')) ? $this->dimensions["left_column"] - $this->dimensions["left_one"] - $this->sumBoxModel('left_one') - $this->sumBoxModel('left_two') : '100%'; $this->dimensions["right_two"] = ($this->modules('right_one and right_two')) ? $this->dimensions["right_column"] - $this->dimensions["right_one"] - $this->sumBoxModel('right_one') - $this->sumBoxModel('right_two') : '100%'; $this->dimensions["gk_content"] = $this->dimensions["template"] - ($this->dimensions["left_column"] + $this->dimensions["right_column"] + (($this->dimensions["left_column"] != 0) ? $this->sumBoxModel('left_column') : 0) + (($this->dimensions["right_column"] != 0) ? $this->sumBoxModel('right_column') : 0) + $this->sumBoxModel('gk_content') + $this->sumBoxModel("gk_mainbody")); $this->dimensions["current"] = $this->dimensions["gk_content"] - ($this->dimensions["inset_left"] + $this->dimensions["inset_right"] + (($this->modules('inset_left')) ? $this->sumBoxModel("inset_left") : 0) + (($this->modules('inset_right')) ? $this->sumBoxModel("inset_right") : 0) + $this->sumBoxModel("current")); } /** * * Function to output box-model of selected block * * @return void * */ function sizeOutput($id) { if(isset($this->dimensions[$id])) { if($id == 'template' && $this->full_width) { echo 'width:100%;'; } else { if($this->dimensions[$id] === '100%') { echo 'width:100%;'; } else { echo 'width:'.$this->dimensions[$id].'px;'; } } } if(isset($this->boxModels[$this->settings["skeleton"]][$id])) { // margins if($this->boxModels[$this->settings["skeleton"]][$id]['margin'] !== 0) { echo 'margin:'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['margin'][0])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['margin'][0].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['margin'][1])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['margin'][1].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['margin'][2])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['margin'][2].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['margin'][3])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['margin'][3].'px'; echo ';'; } else { echo 'margin:0;'; } // paddings if($this->boxModels[$this->settings["skeleton"]][$id]['padding'] !== 0) { echo 'padding:'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['padding'][0])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['padding'][0].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['padding'][1])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['padding'][1].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['padding'][2])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['padding'][2].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['padding'][3])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['padding'][3].'px'; echo ';'; } else { echo 'padding:0;'; } // borders if($this->boxModels[$this->settings["skeleton"]][$id]['border'] !== 0) { echo 'border-width:'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['border'][0])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['border'][0].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['border'][1])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['border'][1].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['border'][2])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['border'][2].'px'; if(isset($this->boxModels[$this->settings["skeleton"]][$id]['border'][3])) echo ' '.$this->boxModels[$this->settings["skeleton"]][$id]['border'][3].'px'; echo ';'; } else { echo 'border-width:0;'; } } } /** * * Function to calculate width of user blocks * * @return void * */ function calculateUserBlocks() { // user block 1 $sum_modules = 0; $this->last_child[0] = array(false, false, false, false, false, false); if($this->modules('user1') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, false, false, false, false, false); } if($this->modules('user2') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, true, false, false, false, false); } if($this->modules('user3') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, false, true, false, false, false); } if($this->modules('user4') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, false, false, true, false, false); } if($this->modules('user5') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, false, false, false, true, false); } if($this->modules('user6') > 0) { $sum_modules += 1; $this->last_child[0] = array(false, false, false, false, false, true); } if($sum_modules == 6) $this->widths['user_block1'] = 'us_width-16 us_width'; else if($sum_modules == 5) $this->widths['user_block1'] = 'us_width-20 us_width'; else if($sum_modules == 4) $this->widths['user_block1'] = 'us_width-25 us_width'; else if($sum_modules == 3) $this->widths['user_block1'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block1'] = 'us_width-50 us_width'; else $this->widths['user_block1'] = 'us_width-100'; // user block 2 $sum_modules = 0; $this->last_child[1] = array(false, false, false); if($this->modules('adv1') > 0) { $sum_modules += 1; $this->last_child[1] = array(false, false, false); } if($this->modules('adv2') > 0) { $sum_modules += 1; $this->last_child[1] = array(false, true, false); } if($this->modules('adv3') > 0) { $sum_modules += 1; $this->last_child[1] = array(false, false, true); } if($sum_modules == 3) $this->widths['user_block2'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block2'] = 'us_width-50 us_width'; else $this->widths['user_block2'] = 'us_width-100'; // user block 3 $sum_modules = 0; $this->last_child[2] = array(false, false, false); if($this->modules('adv4') > 0) { $sum_modules += 1; $this->last_child[2] = array(false, false, false); } if($this->modules('adv5') > 0) { $sum_modules += 1; $this->last_child[2] = array(false, true, false); } if($this->modules('adv6') > 0) { $sum_modules += 1; $this->last_child[2] = array(false, false, true); } if($sum_modules == 3) $this->widths['user_block3'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block3'] = 'us_width-50 us_width'; else $this->widths['user_block3'] = 'us_width-100'; // user block 4 $sum_modules = 0; $this->last_child[3] = array(false, false, false, false, false, false); if($this->modules('user7') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, false, false, false, false, false); } if($this->modules('user8') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, true, false, false, false, false); } if($this->modules('user9') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, false, true, false, false, false); } if($this->modules('user10') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, false, false, true, false, false); } if($this->modules('user11') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, false, false, false, true, false); } if($this->modules('user12') > 0) { $sum_modules += 1; $this->last_child[3] = array(false, false, false, false, false, true); } if($sum_modules == 6) $this->widths['user_block4'] = 'us_width-16 us_width'; else if($sum_modules == 5) $this->widths['user_block4'] = 'us_width-20 us_width'; else if($sum_modules == 4) $this->widths['user_block4'] = 'us_width-25 us_width'; else if($sum_modules == 3) $this->widths['user_block4'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block4'] = 'us_width-50 us_width'; else $this->widths['user_block4'] = 'us_width-100'; // user block 5 $sum_modules = 0; $this->last_child[4] = array(false, false, false, false, false, false, false, false); if($this->modules('user13') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, false, false, false, false, false); } if($this->modules('user14') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, true, false, false, false, false, false, false); } if($this->modules('user15') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, true, false, false, false, false, false); } if($this->modules('user16') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, true, false, false, false, false); } if($this->modules('user17') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, false, true, false, false, false); } if($this->modules('user18') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, false, false, true, false, false); } if($this->modules('user19') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, false, false, false, true, false); } if($this->modules('user20') > 0) { $sum_modules += 1; $this->last_child[4] = array(false, false, false, false, false, false, false, true); } if($sum_modules == 8) $this->widths['user_block5'] = 'us_width-12 us_width'; else if($sum_modules == 7) $this->widths['user_block5'] = 'us_width-14 us_width'; else if($sum_modules == 6) $this->widths['user_block5'] = 'us_width-16 us_width'; else if($sum_modules == 5) $this->widths['user_block5'] = 'us_width-20 us_width'; else if($sum_modules == 4) $this->widths['user_block5'] = 'us_width-25 us_width'; else if($sum_modules == 3) $this->widths['user_block5'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block5'] = 'us_width-50 us_width'; else $this->widths['user_block5'] = 'us_width-100'; // user block 6 $sum_modules = 0; $this->last_child[5] = array(false, false, false, false, false, false, false, false); if($this->modules('user21') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, false, false, false, false, false); } if($this->modules('user22') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, true, false, false, false, false, false, false); } if($this->modules('user23') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, true, false, false, false, false, false); } if($this->modules('user24') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, true, false, false, false, false); } if($this->modules('user25') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, false, true, false, false, false); } if($this->modules('user26') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, false, false, true, false, false); } if($this->modules('user27') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, false, false, false, true, false); } if($this->modules('user28') > 0) { $sum_modules += 1; $this->last_child[5] = array(false, false, false, false, false, false, false, true); } if($sum_modules == 8) $this->widths['user_block6'] = 'us_width-12 us_width'; else if($sum_modules == 7) $this->widths['user_block6'] = 'us_width-14 us_width'; else if($sum_modules == 6) $this->widths['user_block6'] = 'us_width-16 us_width'; else if($sum_modules == 5) $this->widths['user_block6'] = 'us_width-20 us_width'; else if($sum_modules == 4) $this->widths['user_block6'] = 'us_width-25 us_width'; else if($sum_modules == 3) $this->widths['user_block6'] = 'us_width-33 us_width'; else if($sum_modules == 2) $this->widths['user_block6'] = 'us_width-50 us_width'; else $this->widths['user_block6'] = 'us_width-100'; } /** * * Function to loading skeletons * * @return void * */ function loadSkeleton($name) { if($name != "default") { include('skeletons/'.$name.'.php'); } else { include('skeletons/'.$this->settings["skeleton"].'.php'); } } /** * * Function to loading blocks * * @return void * */ function loadBlock($name) { include('blocks/'.$name.'.php'); } /** * * Function to detect IE6 browser * * @return bool * */ function IE6Detection() { return !$this->spider_detect() && preg_match('/msie\s6\.[0-9]/i',substr($_SERVER['HTTP_USER_AGENT'],0, 40)); } /** * * Function to return font-family * * @return font-family string * */ function fontFamily($n) { switch($n) { case 1: return 'Verdana, Geneva, sans-serif';break; case 2: return 'Georgia, "Times New Roman", Times, serif';break; case 3: return 'Arial, Helvetica, sans-serif';break; case 4: return 'Tahoma, Geneva, sans-serif';break; case 5: return '"Trebuchet MS", Arial, Helvetica, sans-serif';break; case 6: return '"Arial Black", Gadget, sans-serif';break; case 7: return '"Times New Roman", Times, serif';break; case 8: return '"Palatino Linotype", "Book Antiqua", Palatino, serif';break; case 9: return '"Lucida Sans Unicode", "Lucida Grande", sans-serif';break; case 10: return '"MS Serif", "New York", serif';break; case 11: return '"Comic Sans MS", cursive';break; case 12: return '"Courier New", Courier, monospace';break; case 13: return '"Lucida Console", Monaco, monospace';break; default: return '';break; } } /** * * Function to measure columns width * * @return font-family string * */ function columnsWidth() { $this->left_column_width = 0; $this->right_column_width = 0; $this->left_cols_width = 0; $this->right_cols_width = 0; if($this->settings["skeleton"] == "left_column") { $marginLeft = 0; if($this->boxModels["left_column"]["left_column"]["margin"] != 0){ if(count($this->boxModels["left_column"]["left_column"]["margin"]) == 1) $marginLeft = $this->boxModels["left_column"]["left_column"]["margin"][0]; elseif(count($this->boxModels["left_column"]["left_column"]["margin"]) == 2) $marginLeft = $this->boxModels["left_column"]["left_column"]["margin"][1]; elseif(count($this->boxModels["left_column"]["left_column"]["margin"]) == 4) $marginLeft = $this->boxModels["left_column"]["left_column"]["margin"][3]; } $this->left_column_width = $this->dimensions["left_column"] + $marginLeft + $this->parseCSS($this->boxModels["left_column"]["left_column"]["padding"]); } elseif($this->settings["skeleton"] == "right_column") { $marginRight = 0; if($this->boxModels["right_column"]["right_column"]["margin"] != 0){ if(count($this->boxModels["right_column"]["right_column"]["margin"]) == 1) $marginRight = $this->boxModels["right_column"]["right_column"]["margin"][0]; elseif(count($this->boxModels["right_column"]["right_column"]["margin"]) == 2) $marginRight = $this->boxModels["right_column"]["right_column"]["margin"][1]; elseif(count($this->boxModels["right_column"]["right_column"]["margin"]) == 4) $marginRight = $this->boxModels["right_column"]["right_column"]["margin"][1]; } $this->right_column_width = $this->dimensions["template"] - ($this->dimensions["right_column"] + $marginRight + $this->parseCSS($this->boxModels["right_column"]["right_column"]["padding"])); } elseif($this->settings["skeleton"] == "both_columns") { $marginLeft = 0; if($this->boxModels["both_columns"]["left_column"]["margin"] != 0){ if(count($this->boxModels["both_columns"]["left_column"]["margin"]) == 1) $marginLeft = $this->boxModels["both_columns"]["left_column"]["margin"][0]; elseif(count($this->boxModels["both_columns"]["left_column"]["margin"]) == 2) $marginLeft = $this->boxModels["both_columns"]["left_column"]["margin"][1]; elseif(count($this->boxModels["both_columns"]["left_column"]["margin"]) == 4) $marginLeft = $this->boxModels["both_columns"]["left_column"]["margin"][3]; } $marginRight = 0; if($this->boxModels["both_columns"]["right_column"]["margin"] != 0){ if(count($this->boxModels["both_columns"]["right_column"]["margin"]) == 1) $marginRight = $this->boxModels["both_columns"]["right_column"]["margin"][0]; elseif(count($this->boxModels["both_columns"]["right_column"]["margin"]) == 2) $marginRight = $this->boxModels["both_columns"]["right_column"]["margin"][1]; elseif(count($this->boxModels["both_columns"]["right_column"]["margin"]) == 4) $marginRight = $this->boxModels["both_columns"]["right_column"]["margin"][1]; } $this->left_column_width = $this->dimensions["left_column"] + $marginLeft + $this->parseCSS($this->boxModels["both_columns"]["left_column"]["padding"]); $this->right_column_width = $this->dimensions["template"] - ($this->dimensions["right_column"] + $marginRight + $this->parseCSS($this->boxModels["both_columns"]["right_column"]["padding"])); } elseif($this->settings["skeleton"] == "two_columns_left") { $marginLeft = 0; if($this->boxModels["two_columns_left"]["left_column"]["margin"] != 0){ if(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 1) $marginLeft = $this->boxModels["two_columns_left"]["left_column"]["margin"][0]; elseif(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 2) $marginLeft = $this->boxModels["two_columns_left"]["left_column"]["margin"][1]; elseif(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 4) $marginLeft = $this->boxModels["two_columns_left"]["left_column"]["margin"][3]; } $marginRight = 0; if($this->boxModels["two_columns_left"]["right_column"]["margin"] != 0){ if(count($this->boxModels["two_columns_left"]["right_column"]["margin"]) == 1) $marginRight = $this->boxModels["two_columns_left"]["right_column"]["margin"][0]; elseif(count($this->boxModels["two_columns_left"]["right_column"]["margin"]) == 2) $marginRight = $this->boxModels["two_columns_left"]["right_column"]["margin"][1]; elseif(count($this->boxModels["two_columns_left"]["right_column"]["margin"]) == 4) $marginRight = $this->boxModels["two_columns_left"]["right_column"]["margin"][3]; $marginRight += $marginLeft; if($this->boxModels["two_columns_left"]["left_column"]["margin"] != 0){ if(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 1) $marginRight += $this->boxModels["two_columns_left"]["left_column"]["margin"][0]; elseif(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 2) $marginRight += $this->boxModels["two_columns_left"]["left_column"]["margin"][1]; elseif(count($this->boxModels["two_columns_left"]["left_column"]["margin"]) == 4) $marginRight += $this->boxModels["two_columns_left"]["left_column"]["margin"][1]; } } $this->left_column_width = $this->dimensions["left_column"] + $marginLeft + $this->parseCSS($this->boxModels["two_columns_left"]["left_column"]["padding"]); $this->right_column_width = $this->left_column_width + $marginRight + $this->dimensions["right_column"] + $this->parseCSS($this->boxModels["two_columns_left"]["right_column"]["padding"]); } elseif($this->settings["skeleton"] == "two_columns_right") { $marginLeft = 0; if($this->boxModels["two_columns_right"]["left_column"]["margin"] != 0){ if(count($this->boxModels["two_columns_right"]["left_column"]["margin"]) == 1) $marginLeft = $this->boxModels["two_columns_right"]["left_column"]["margin"][0]; elseif(count($this->boxModels["two_columns_right"]["left_column"]["margin"]) == 2) $marginLeft = $this->boxModels["two_columns_right"]["left_column"]["margin"][1]; elseif(count($this->boxModels["two_columns_right"]["left_column"]["margin"]) == 4) $marginLeft = $this->boxModels["two_columns_right"]["left_column"]["margin"][3]; } $marginRight = 0; if($this->boxModels["two_columns_right"]["right_column"]["margin"] != 0){ if(count($this->boxModels["two_columns_right"]["right_column"]["margin"]) == 1) $marginRight = $this->boxModels["two_columns_right"]["right_column"]["margin"][0]; elseif(count($this->boxModels["two_columns_right"]["right_column"]["margin"]) == 2) $marginRight = $this->boxModels["two_columns_right"]["right_column"]["margin"][1]; elseif(count($this->boxModels["two_columns_right"]["right_column"]["margin"]) == 4) $marginRight = $this->boxModels["two_columns_right"]["right_column"]["margin"][1]; } $this->right_column_width = $this->dimensions["template"] - ($this->dimensions["right_column"] + $marginRight + $this->parseCSS($this->boxModels["two_columns_right"]["right_column"]["padding"])); $this->left_column_width = $this->dimensions["template"] - ($this->dimensions["right_column"] + $marginLeft + $this->parseCSS($this->boxModels["two_columns_right"]["right_column"]["padding"])) - ($this->dimensions["left_column"] + $this->parseCSS($this->boxModels["two_columns_right"]["left_column"]["padding"])); } $marginLCLeft = 0; if($this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"] != 0){ if(count($this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"]) == 1) $marginLCLeft = $this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"][0]; elseif(count($this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"]) == 2) $marginLCLeft = $this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"][1]; elseif(count($this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"]) == 4) $marginLCLeft = $this->boxModels[$this->settings["skeleton"]]["left_two"]["margin"][2]; } $this->left_cols_width = $this->dimensions["left_column"] - $this->dimensions["left_two"] - $this->parseCSS($this->boxModels[$this->settings["skeleton"]]["left_one"]["padding"]) - $marginLCLeft; $marginRCLeft = 0; if($this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"] != 0){ if(count($this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"]) == 1) $marginRCLeft = $this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"][0]; elseif(count($this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"]) == 2) $marginRCLeft = $this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"][1]; elseif(count($this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"]) == 4) $marginRCLeft = $this->boxModels[$this->settings["skeleton"]]["right_two"]["margin"][2]; } $this->right_cols_width = $this->dimensions["right_column"] - $this->dimensions["right_two"] - $this->parseCSS($this->boxModels[$this->settings["skeleton"]]["right_two"]["padding"]) + $marginRCLeft; } function parseCSS($arr){ if($arr != 0){ return ($arr[1] + $arr[3]); }else{ return 0; } } function spider_detect() { // If you want more - please add selected spiders from that list: // http://www.user-agents.org/index.shtml $spider_list = array( 'acme.spider', 'ahoythehomepagefinder', 'aleksika spider', 'ia_archiver', 'alkaline', 'emcspider', 'antibot', 'arachnophilia','architext', 'aretha', 'ariadne', 'arks', 'aspider', 'atn.txt', 'atomz', 'auresys', 'awbot', 'backrub', 'baiduspider', 'bigbrother', 'bjaaland', 'blackwidow', 'blogsphere', 'isspider', 'blogshares bot', 'blogvisioneye', 'blogwatcher', 'blogwise.com-metachecker', 'bloodhound', 'bobby', 'bordermanager', 'boris', 'bravobrian bstop', 'brightnet', 'bspider', 'bumblebee', 'catvschemistryspider', 'calif[^r]', 'cassandra', 'ccgcrawl', 'checkbot', 'christcrawler', 'churl', 'cj spider', 'cmc', 'collective', 'combine', 'computer_and_automation_research_institute_crawler', 'robi', 'conceptbot', 'coolbot', 'cosmixcrawler', 'crawlconvera', 'cscrawler', 'cusco', 'cyberspyder', 'cydralspyder', 'daviesbot', 'deepindex', 'denmex websearch', 'deweb', 'blindekuh', 'dienstspider', 'digger','webreader', 'cgireader', 'diibot', 'digout4u', 'directhit', 'dnabot', 'downes/referrers', 'download_express', 'dragonbot', 'dwcp', 'e-collector', 'e-societyrobot', 'ebiness', 'echo', 'eit', 'elfinbot', 'emacs', 'enterprise_search', 'esther', 'evliyacelebi', 'exabot', 'exactseek', 'exalead ng', 'ezresult', 'fangcrawl', 'fast-webcrawler', 'fastbuzz.com', 'faxobot', 'feedster crawler', 'felix', 'fetchrover', 'fido', '[^a]fish', 'flurryv', 'fdse', 'fouineur', 'franklin locator', 'freecrawl', 'frontier', 'funnelweb', 'gaisbot', 'galaxybot', 'gama', 'gazz', 'gcreep', 'getbot', 'puu', 'geturl', 'gigabot', 'gnodspider', 'golem', 'googlebot', 'gornker', 'grapnel', 'griffon', 'gromit', 'grub-client', 'hambot', 'hatena antenna', 'havindex', 'octopus', 'hometown', 'htdig', 'htmlgobble', 'pitkow', 'hyperdecontextualizer', 'finnish', 'irobot', 'iajabot', 'ibm', 'illinois state tech labs', 'imagelock', 'incywincy', 'informant', 'infoseek', 'infoseeksidewinder', 'infospider', 'ilse', 'ingrid', 'slurp', 'inspectorwww', 'intelliagent', 'cruiser', 'internet ninja', 'myweb', 'internetseer', 'iron33', 'israelisearch', 'javabee', 'jbot', 'jcrawler', 'jeeves', 'jennybot', 'jetbot', 'jobo', 'jobot', 'joebot', 'jumpstation', 'justview', 'katipo', 'kdd', 'kilroy', 'fireball', 'ko_yappo_robot', 'labelgrabber.txt', 'larbin', 'legs', 'linkidator', 'linkbot', 'linkchecker', 'linkfilter.net url verifier', 'linkscan', 'linkwalker', 'lockon', 'logo_gif', 'lycos', 'mac finder', 'macworm', 'magpie', 'marvin', 'mattie', 'mediafox', 'mediapartners-google', 'mercator', 'mercubot', 'merzscope', 'mindcrawler', 'moget', 'momspider', 'monster', 'mixcat', 'motor', 'mozdex', 'msiecrawler', 'msnbot', 'muscatferret', 'mwdsearch', 'my little bot', 'naverrobot', 'naverbot', 'meshexplorer', 'nederland.zoek', 'netresearchserver', 'netcarta', 'netcraft', 'netmechanic', 'netscoop', 'newscan-online', 'nextopiabot', 'nhse', 'nitle blog spider', 'nomad', 'gulliver', 'npbot', 'nutch', 'nzexplorer', 'obidos-bot', 'occam', 'sitegrabber', 'openfind', 'orb_search', 'overture-webcrawler', 'packrat', 'pageboy', 'parasite', 'patric', 'pegasus', 'perlcrawler', 'perman', 'petersnews', 'pka', 'phantom', 'piltdownman', 'pimptrain', 'pioneer', 'pipeliner', 'plumtreewebaccessor', 'polybot', 'pompos', 'poppi', 'iconoclast', 'pjspider', 'portalb', 'psbot', 'quepasacreep', 'raven', 'rbse', 'redalert', 'resumerobot', 'roadrunner', 'rhcs', 'robbie', 'robofox', 'francoroute', 'robozilla', 'roverbot', 'rules', 'seochat', 'safetynetrobot', 'scooter', 'search_au', 'searchprocess', 'searchspider', 'seekbot', 'semanticdiscovery', 'senrigan', 'sgscout', 'shaggy', 'shaihulud', 'sherlock-spider', 'shoutcast', 'sift', 'simbot', 'ssearcher', 'site-valet', 'sitespider', 'sitetech', 'slcrawler', 'slysearch', 'smartspider', 'snooper', 'solbot', 'soziopath', 'space bison', 'spanner', 'speedy', 'spiderbot', 'spiderline', 'spiderman', 'spiderview', 'spider_monkey', 'splatsearch.com', 'spry', 'steeler', 'suke', 'suntek', 'surveybot', 'sven', 'syndic8', 'szukacz', 'tach_bw', 'tarantula', 'tarspider', 'techbot', 'technoratibot', 'templeton', 'teoma_agent1', 'teradex', 'jubii', 'northstar', 'w3index', 'perignator', 'python', 'tkwww', 'webmoose', 'wombat', 'webfoot', 'wanderer', 'worm', 'timbobot', 'titan', 'titin', 'tlspider', 'turnitinbot', 'ucsd', 'udmsearch', 'ultraseek', 'unlost_web_crawler', 'urlck', 'vagabondo', 'valkyrie', 'victoria', 'visionsearch', 'voila', 'voyager', 'vspider', 'vwbot', 'w3m2', 'wmir', 'wapspider', 'appie', 'wallpaper', 'waypath scout', 'corev', 'web downloader', 'webbandit', 'webbase', 'webcatcher', 'webcompass', 'webcopy', 'webcraftboot', 'webfetcher', 'webfilter', 'webgather', 'weblayers', 'weblinker', 'webmirror', 'webquest', 'webrace', 'webreaper', 'websnarf', 'webspider', 'wolp', 'webstripper', 'webtrends link analyzer', 'webvac', 'webwalk', 'webwalker', 'webwatch', 'wz101', 'wget', 'whatuseek', 'whowhere', 'ferret', 'wired-digital', 'wisenutbot', 'wwwc', 'xenu link sleuth', 'xget', 'cosmos', 'yahoo', 'yandex', 'zao', 'zeus', 'zyborg' ); foreach ($spider_list as $spider) { if (eregi($spider, $_SERVER['HTTP_USER_AGENT'])) return TRUE; } return FALSE; } }