GetShopValues('', true); // Make path for back make_back_path(); // Define what to do $action = $_GET['action']; if ( isset($_POST['action']) ) $action = $_POST['action']; switch ( $action ) { case 'descr' : descr_view(); break; case 'save_vote' : save_vote(); show_voting(); break; case 'show_voting' : show_voting(); break; default : vote_tree(); } // switch // Echo page compilate time echo_page_time($gEndPoint); } /** * Function descr_view * Show description for vote option **/ function descr_view() { global $gData, $gOptions, $gTpl, $gStartPoint, $gEndPoint; // Init templates $gTpl = new FastTemplate('./'.TEMPLATES.'/_vote/descr'); $gTpl->DefineTemplate(array('main' => 'main.htm' )); $id = $_GET['vote_list']*1; if ( $id > 0 ) { $gTpl->Assign('CONTENT', $gData->GetVoteDescr($id)); } else { $gTpl->Assign('CONTENT', ' '); } // Echo shop variables echo_shop_variables('in_techpage'); // Parse main page $gTpl->Parse('MAIN', 'main'); $gEndPoint = run_time($gStartPoint); $gTpl->FastPrint('MAIN'); } /** * Function save_vote * Save votes **/ function save_vote() { global $gData, $gOptions, $gTpl, $gStartPoint, $gEndPoint; $vote = explode('I', rtrim($_GET['vote_list'], 'I')); $vote_list = ''; foreach ( $vote as $id ) { if ( $id*1 > 0 ) $vote_list .= ($id*1).','; } $gData->AddVote(rtrim($vote_list, ','), session_id(), get_now()); } /** * Function show_voting * Show voting results **/ function show_voting() { global $gData, $gOptions, $gTpl, $gStartPoint, $gEndPoint; // Init templates $gTpl = new FastTemplate('./'.TEMPLATES.'/_vote/result'); $gTpl->DefineTemplate(array('main' => 'main.htm', 'unit' => 'unit.htm', 'between_row' => 'between_row.htm', 'between_group' => 'between_group.htm', 'descr' => 'descr.htm', 'more' => 'more.htm' )); // Get votes $id = $_GET['vote']*1; $hash = $gData->GetVote($id); if ( strlen($hash[0]) == 0 ) exit; $all_vote = $gData->GetVoteResultSum($id); $real_all_vote = $all_vote; if ( $all_vote == 0 ) $all_vote = 1; $vote_list = $gData->GetVoteResult($id); $vote_list_rows = $gData->GetNumRows($vote_list); $group_id = 0; $num = 1; $gTpl->Assign('UNIT', ''); for ( $n = 1; $n <= $vote_list_rows; $n++ ) { $hash_list = $gData->FetchRow($vote_list); if ( $n == $vote_list_rows ) $gTpl->Assign('BETWEENROW', ''); if ( $group_id != $hash_list[5] && $n > 1 ) { $gTpl->Parse('UNIT', '.between_group'); $num = 1; } $gTpl->Assign(array('NAME' => htmlspecialchars($hash_list[2]), 'NOTE' => $hash_list[3], 'ID' => $hash_list[1], 'VOTE' => $hash_list[7], 'WIDTH' => 10+ceil($hash_list[7]*370/$all_vote), 'PROC' => ceil($hash_list[7]/$all_vote*100), 'NUM' => $num )); $group_id = $hash_list[5]; $num++; if ( strlen($hash_list[3]) > 0 ) { $gTpl->Parse('MORE', 'more'); } else { $gTpl->Assign('MORE', ''); } // Parse unit $gTpl->Parse('UNIT', '.unit'); } $gTpl->Parse('BETWEENROW', 'between_row'); $gTpl->Assign(array('NAME' => htmlspecialchars($hash[1]), 'DESCR' => '', 'STARTDATE' => date($gOptions['main_fmt_date'], strtotime($hash[8])), 'ENDDATE' => date($gOptions['main_fmt_date'], strtotime($hash[9])), 'ID' => $hash[0], 'ALLVOTE' => $real_all_vote )); if ( strlen($hash[6]) > 0 ) { $gTpl->Assign('CONTENT', $hash[6]); $gTpl->Parse('DESCR', 'descr'); } // Echo shop variables echo_shop_variables('in_techpage'); // Parse main page $gTpl->Parse('MAIN', 'main'); $gEndPoint = run_time($gStartPoint); $gTpl->FastPrint('MAIN'); } /** * Function vote_tree * Print vote tree **/ function vote_tree() { global $gData, $gOptions, $gTpl, $gStartPoint, $gEndPoint, $gCharset; // Init templates $gTpl = new FastTemplate('./'.TEMPLATES); $gTpl->DefineTemplate(array('blank' => 'blank.htm', 'page_title' => '_vote/tree/page_title.htm' )); // Init vars $gTpl->Parse('PAGETITLE', 'page_title'); // Get news $vote = $gData->GetVoteTree(); $rows = $gData->GetNumRows($vote); // Parse vote tree $tpl = new FastTemplate('./'.TEMPLATES.'/_vote/tree'); $tpl->DefineTemplate(array('main' => 'main.htm', 'unit' => 'unit.htm', 'elem_file' => 'elem_file.htm', 'elem_folder' => 'elem_folder.htm' )); $code = ''; for ( $n = 1; $n <= $rows; $n++ ) { $hash = $gData->FetchRow($vote); // common vars $tpl->Assign(array('ID' => $hash[0], 'NAME' => htmlspecialchars($hash[1]), 'STARTDATE' => date($gOptions['main_fmt_date'], strtotime($hash[8])), 'ENDDATE' => date($gOptions['main_fmt_date'], strtotime($hash[9])), 'DESCR' => $hash[6], 'LEVEL' => $hash[2] )); // if folder if ( $hash[5] == 1) { $tpl->Parse('ELEMENT', 'elem_folder'); } // if not folder else { $tpl->Parse('ELEMENT', 'elem_file'); } $tpl->Parse('UNIT', '.unit'); } if ( $rows == 0) { $gTpl->Assign('CONTENT', ''); } else { $tpl->Parse('MAIN', 'main'); $gTpl->Assign('CONTENT', $tpl->Fetch('MAIN')); } // Echo shop variables echo_shop_variables('in_techpage', true); // Additional modules use_php_mod('other'); // Parse main page $gTpl->Parse('BLANK', 'blank'); $gEndPoint = run_time($gStartPoint); $gTpl->FastPrint('BLANK'); } ?>