classes ужас..

nom3r1

Registered
Дадоха ми следния код за сайта ми. Обаче кода е classes , а в сайта ми използвам само функции и обикновени заявки. Някой може ли да ми направи следния код като функции или като обикновени заявки?
Ето двата файла:


home/tasks.php
Код:
<?php
session_start();
require('functions.php');
if(file_exists('classes/Tasks.php')){
	include('classes/Tasks.php');
} else {
   echo message(35, 'error');
}

$db = new Database;
$Task = new Tasks;

switch($_GET['page']){
       case 'add':
           $body = $Task->InsertTask($_POST['description_Pascal'], $_POST['description_C'], $_POST['Answer_Pascal'], $_POST['Answer_C'], $_POST['categories'], $_POST['levels']); 
       break;
       case 'show':
           $body = $Task->Show($_GET['task']); 
       break;
       case 'categories':
           $body = $Task->Categories($_GET['level']); 
       break;
       case 'tasks':
           $body = $Task->ShowTasks($_GET['category'], $_GET['level']); 
       break;
       case 'comment':
            if (trim($_POST['content']) <> ""){
                $body = $Task->update_comment($_GET['id'], $_POST['content']); 
                $body .= "<meta http-equiv=\"Refresh\" content=\"2; URL=$HTTP_REFERER\">"; 
            } else {
               $body .= message(40, 'error');
               $body .= "<meta http-equiv=\"Refresh\" content=\"2; URL=$HTTP_REFERER\">";   
            }
       break;
       case 'submit':
       		if($_SESSION['loged_in_user']){
       			$body = $Task->showEnterForm();
       		} else {
       			$body = message('38', 'text');
       		}
       break;
       case 'del':
       		if($_SESSION['premissions_user'] == 'admin'){
       			$body = $Task->Delete($_GET['task']);
       		} else {
       			$body = message('39', 'error');
       		}
       break;
       case 'edit':
       		if($_SESSION['premissions_user'] == 'admin'){
       			$body = $Task->edit($_GET['task']);
       		} else {
       			$body = message('39', 'error');
       		}
       break;
       case 'update':
       		if($_SESSION['premissions_user'] == 'admin'){
       			$body = $Task->update($_POST['description_Pascal'], $_POST['description_C'], $_POST['Answer_Pascal'], $_POST['Answer_C'], $_POST['categories'], $_POST['levels'], $_POST['task_ID']);
       		} else {
       			$body = message('39', 'error');
       		}
       break;
       case 'mark':
           $body = $Task->Mark($_GET['id']); 
       break;
       case 'list':
           $body = $Task->Lista($_GET['id']); 
       break;
        case 'last_comments':
           $body = $Task->Last_comments(); 
       break;
       case 'tosolve':
           $body = $Task->ToSolve(); 
       break;
       case 'answer':
           $body = $Task->Answer($_GET['id']); 
       break;
       case 'submitAnswer':
           $body = $Task->submitAnswer($_POST['code'], $_POST['taskID']); 
       break;
       case 'delAnswer':
       		if($_SESSION['premissions_user'] == 'admin'){
           		$body = $Task->delAnswer($_GET['task']); 
       		} else {
       			$body = message('39', 'error');
       		}
       break;
       case 'editAnswer':
       		if($_SESSION['premissions_user'] == 'admin'){
           		$body = $Task->editAnswer($_GET['task']);
           	} else {
       			$body = message('39', 'error');
       		}
       break;
       case 'updateAnswer':
       		if($_SESSION['premissions_user'] == 'admin'){
           		$body = $Task->updateAnswer($_POST['code'], $_POST['taskID']);
           	} else {
       			$body = message('39', 'error');
       		}
       break;
       default:
            $body = $Task->Levels();
       break;
}

// Generate template  
template();
?>


class/Tasks.php
Код:
<?php
require_once('functions.php');

class Tasks {
    
    var $Database;
    var $info;
    var $result;
    
    function ToSolve(){
        $this->Database = new Database();
        $array = $this->Database->Query("SELECT * FROM `marked` WHERE `Type` = 'list' AND `User` = '".user2id($_SESSION[loged_in_user])."' ORDER BY `ID` DESC");
        if (empty($array)) $body = "<h1>Задачи чакащи за решение</h1>\n<div style=\"text-align:center;\"><em>Няма задачи в списъка</em></div>";
        else {
        $body .="<h1>Задачи чакащи за решение</h1>\n <table border=\"0\" width=\"100%\" class=\"colored\"><tr><th>Задача</th><th>Премахни от списъка</th></tr>";
        foreach ($array as $key => $value){
            $body .= "<tr><td><a href=\"tasks.php?page=show&task=".$array[$key]['Task']."\">Задача ".$array[$key]['Task']."</a></td><td><a href=\"tasks.php?page=list&id=".$array[$key]['Task']."\">[x]</a></td></tr>\n";
        }
        $body .="</table>";
        }
        return $body;           
               
    }
    function Last_comments(){
        $this->Database = new Database();
        $array = $this->Database->Query("SELECT * FROM `comments` ORDER BY `Date` DESC");
        $body .="<h1>Последни коментари</h1>\n <table border=\"0\" width=\"100%\" class=\"colored\"><tr><th>Потребител</th><th>Съобщение</th><th>Дата</th><th>[x]</th></tr>";
        foreach ($array as $key => $value){
            $body .= "<tr><td>".id2user($array[$key]['Author'])."</td><td><a href=\"tasks.php?page=show&task=".$array[$key]['TaskID']."\">".filter($array[$key]['Content'])."</a></td><td>".$array[$key]['Date']."</td><td><a href=\"comment_del.php?id=".$array[$key]['TaskID']."&c=".$array[$key]['id']."&admin=1\">[x]</a></td></tr>\n";
        }
        $body .="</table>";
        return $body;          
               
    }
    function showCategories(){
        //Use Database class
        $this->Database = new Database();
        $this->Database->MySQLExec("SELECT * FROM `tasks_categories`");
        
        $body = '<select size="1" id="mySelect1" name="categories">';
                                                                      
        while($Row = $this->Database->MySQLFetchRow()){
            $body .= '<option value="'.$Row['ID'].'">'.$Row['Name'].'</option>';
        }
        
        $body .= '</select>';
        
        return $body;  
    }
    
    function showEditCategories($ID){
        //Use Database class
        $this->Database = new Database();
        $this->db = new Database();
        
        $this->Database->MySQLExec("SELECT * FROM `tasks_categories`");
        $this->db->MySQLExec("SELECT `Category` FROM `tasks` WHERE `ID` = '".$ID."'");
        $Record = $this->db->MySQLFetchRow();
        
        $body = '<select size="1" id="mySelect1" name="categories">';
                                                                      
        while($Row = $this->Database->MySQLFetchRow()){
        	if($Row['ID'] == $Record['Category']){
            	$body .= '<option value="'.$Row['ID'].'" selected="selected">'.$Row['Name'].'</option>';
        	} else {
        		$body .= '<option value="'.$Row['ID'].'">'.$Row['Name'].'</option>';
        	}
        }
        
        $body .= '</select>';
        
        return $body;  
    }
    
    function showLevels(){
        //Use Database class
        $this->Database = new Database();
        $this->Database->MySQLExec("SELECT * FROM `tasks_levels`");
        
        $body = '<select size="1" id="mySelect2" name="levels">';
                                                                          
        while($Row = $this->Database->MySQLFetchRow()){
            $body .= '<option value="'.$Row['ID'].'">'.$Row['Name'].'</option>';
        }
        
        $body .= '</select>';
        
        return $body;  
    }
    
     function showEditLevels($ID){
        //Use Database class
        $this->Database = new Database();
        $this->db = new Database();
        
        $this->Database->MySQLExec("SELECT * FROM `tasks_levels`");
        $this->db->MySQLExec("SELECT `Level` FROM `tasks` WHERE `ID` = '".$ID."'");
        $Record = $this->db->MySQLFetchRow();
        
        $body = '<select size="1" id="mySelect2" name="levels">';
                                                                          
        while($Row = $this->Database->MySQLFetchRow()){
        	if($Row['ID'] == $Record['Level']){
            	$body .= '<option value="'.$Row['ID'].'" selected="selected">'.$Row['Name'].'</option>';
        	} else {
        		$body .= '<option value="'.$Row['ID'].'">'.$Row['Name'].'</option>';
        	}
        }
        
        $body .= '</select>';
        
        return $body;  
    }
    
    function showEnterForm(){
    	$body .= '<h1>Добави задача</h1>';
        $body .= '<form action="tasks.php?page=add" method="post">';
        $body .= '<p>Ниво на задачите</p>'; 
        $body .= $this->showLevels();
        $body .= '<p>Категория на задачите</p>';
        $body .= $this->showCategories();
        $body .='
                <p>Описание на задачата на Pascal</p>'.editor('description_Pascal').'
                <textarea name="description_Pascal" rows="10" cols="77" id="description_Pascal"></textarea><br />
                <p>Решение на задачата на Pascal</p>
                <textarea name="Answer_Pascal" rows="10" cols="77"></textarea><br />
                <p>Описание на задачата на C</p>'.editor('description_C').'
                <textarea name="description_C" rows="10" cols="77" id="description_C"></textarea><br />
                <p>Решение на задачата на C</p>
                <textarea name="Answer_C" rows="10" cols="77" id="Answer_C"></textarea><br />
                <input type="submit" value="Добави" />
            </form>';
            
        return $body;
    }
    
    function InsertTask($description_Pascal, $description_C, $Answer_Pascal, $Answer_C, $categories, $levels){
    	if($_SESSION['premissions_user'] == 'admin'){
    		$publish = 1;
    	} else {
    		$publish = 0;
    	}
        //Use Database class
        $this->Database = new Database();
        $this->Database->MySQLExec("INSERT INTO `tasks` VALUES ('', '$description_Pascal', '$description_C', '$Answer_Pascal', '$Answer_C', '$_SESSION[loged_in_user]', '$categories', '$levels', '0', '0', '$publish')");
        
        return 'Успено добавено! <a href="tasks.php?page=submit">Назад</a>';   
    }
    
    function vote($id){
        	$this->db = new Database;
        	$this->db->MySQLExec("SELECT * FROM `vote` WHERE `TaskID` = '".$id."' AND `Username` = '".$_SESSION['loged_in_user']."'");
        	if($this->db->MySQLAffectRows() > 0){
        		$this->db->MySQLExec("SELECT `vote`, `vote_people` FROM `tasks` WHERE `ID` = '".$id."'");
        		$Row = $this->db->MySQLFetchRow();
        		
        		return '<strong style="float:left;">Трудност: </strong><img src="design/img/vote/rate'.round($Row['vote']/$Row['vote_people']).'.gif" alt="'.round($Row['vote']/$Row['vote_people']).'" />';
        	} else {
				return "\t\t".'<strong style="float:left;">Трудност:</strong>
					<div id="vote">
						<a href="vote.php?vote=1&id='.$id.'" class="vote1" title="Оценете тази задача с Много лесна" onmouseover=\'vote("1");\' onmouseout=\'vote("0");\'><em>1</em></a>
						<a href="vote.php?vote=2&id='.$id.'" class="vote1" title="Оценете тази задача с Лесна" onmouseover=\'vote("2");\' onmouseout=\'vote("0");\'><em>2</em></a>
						<a href="vote.php?vote=3&id='.$id.'" class="vote1" title="Оценете тази задача с Нормална" onmouseover=\'vote("3");\' onmouseout=\'vote("0");\'><em>3</em></a>
						<a href="vote.php?vote=4&id='.$id.'" class="vote1" title="Оценете тази задача с Трудна" onmouseover=\'vote("4");\' onmouseout=\'vote("0");\'><em>4</em></a>
						<a href="vote.php?vote=5&id='.$id.'" class="vote1" title="Оценете тази задача с Много трудна" onmouseover=\'vote("5");\' onmouseout=\'vote("0");\'><em>5</em></a>
					</div>';
        	}
    }  


     // Коментари 
    function show_comments($id) {
	    $query = "SELECT * FROM `comments` WHERE `TaskID` = '".$id."' ";
	    $result = mysql_query($query);
	    if (mysql_num_rows($result) > 6){
		    $this->info .= "\n\t\t<br /><br />
		    <h5>
			    <a href=\"#\" onclick=\"Effect.toggle('changetemplate', 'appear'); return false;\" title=\"Показва Цялата дискусия\">Покажи дискусията</a>
		    </h5>
		    <div id=\"changetemplate\" style=\"display: none;\">
			    <div style=\"background-color: inherit; width:462x; border:1px solid #f1f1f1; padding:10px;\">
		    \n\t\t  "
		    ;
	    }elseif(mysql_num_rows($result) <> 0){
		    
            $this -> info .= "\n\t\t<br /><h1>Дискусия по задачата:</h1>\n\t\t";
	    }
	     if (mysql_num_rows($result) <> 0){
	    while ($record = mysql_fetch_assoc($result)){
            $this -> info .= "\n\t\t"."<div id=\"comments\">"; 
           $this -> info .= "<table border=\"0\" class=\"colored\" width=\"100%\">\n";
               
		    $this -> info .= "\t\t\t<tr>\n\t\t\t\t
						    <th style=\"text-align:center; font-weight: bolder;\">".id2user($record[Author])."</th>\n\t\t\t\t
						    <th><div style=\"float:left; font-weight: bolder;\">Пуснато на: ".$record[Date]."</div>";
		    if ($_SESSION[premissions_user] == "admin"){
			     $this -> info.=" <div style=\"text-align:right;\">
							    <a href=\"comment_edit.php?id=".$id."&c=".$record[id]."\" title=\"Промяна на коментара\" >Редактирай</a>   
							    <a href=\"comment_del.php?id=".$id."&c=".$record[id]."\" title=\"Изтрива коментара\">Изтрий</a>
						    </div>";
		    }		
		   $this -> info .= "\t\t\t\t</th>\n\t\t\t</tr>\n\t\t\t\t<tr>
					    <td colspan=\"2\">".filter($record[Content])."</td>\n\t\t\t</tr>\n";
	    }	
	   // $comment = emoticons($comment);
	   // $this -> info .= makeHref($comment);

	    $this -> info .= "\t\t</table></div>";
	    if (mysql_num_rows($result) > 3){
		    $this -> info .="</div></div>";
	    }
		    //	$this -> info = $this -> info. "\n\t\t<div id=\"artmenu\"><a href=\"javascript:history.back();\" title=\"Назад към уроците\" id=\"back\">Назад</a><a href=\"javascript:history.go(-2);\" title=\"Назад към категориите\" id=\"menukat\">Към категориите</a><a href=\"#\" onclick=\"new Effect.ScrollTo('header'); return false\" title=\"Към началото на страницата\" id=\"menuup\">Нагоре</a></div>";
    }
    }

    function post_comment($id){
	    if ($_SESSION['loged_in_user']) {
		   return  "<br /><br /><div style=\"display:block;  margin: 0 50px;\"><h1>Коментирай</h1>
			    <form action=\"tasks.php?page=comment&id=".$id."\" method=\"post\" class=\"dictsearch\">
                ".editor('commentarea')."
				    <div style=\"text-align:center;\"><textarea name=\"content\" cols=\"64\" rows=\"5\" id=\"commentarea\" class=\"commentarea\"></textarea><br />
				    <input type=\"submit\" value=\"Коментирай\" />
			    </form></div></div>";
	    }
    }

	function update_comment($id,$content){
	$query = "INSERT INTO `comments` ( `id` , `TaskID` , `Author` , `Content` , `Date`, `lang`  ) VALUES ('', '".$id."', '".user2id($_SESSION[loged_in_user])."', '".$content."', '".date("Y-m-d H:i:s")."', '".changeLang()."')";
    if (mysql_query($query))return "Благодарим Ви за коментара !";
}                                         


    function Is_Marked($ID){
    $query = "SELECT * FROM `marked` WHERE `User` = '".user2id($_SESSION[loged_in_user])."' AND `Task` = '$ID' and `Type` = 'read'";
    $result = mysql_query($query);
    if (mysql_num_rows($result) > 0) return true; else return false;   
    }
    function Mark($ID){
        if ($this->Is_Marked($ID)) return $this->UnMark_Task($ID); else return  $this->Mark_Task($ID);;    
    }
    function Mark_Task($ID){
         $query = "INSERT INTO `marked` (`ID` ,`User` ,`Task`,`Type`) VALUES (NULL , '".user2id($_SESSION[loged_in_user])."', '$ID', 'read')";
         $result = mysql_query($query);
         return "Маркирането успешно. Моля изчакайте секунда.. <meta http-equiv=\"Refresh\" content=\"0 URL=$_SERVER[HTTP_REFERER]\">";       
    }
     function UnMark_Task($ID){
         $query = "DELETE FROM `marked` WHERE `User` = '".user2id($_SESSION[loged_in_user])."' and Task='$ID' and `Type` = 'read'";
         $result = mysql_query($query);
         return "Размаркирането успешно. Моля изчакайте секунда.. <meta http-equiv=\"Refresh\" content=\"0; URL=$_SERVER[HTTP_REFERER]\">";      
    }
    
      function Is_List($ID){
    $query = "SELECT * FROM `marked` WHERE `User` = '".user2id($_SESSION[loged_in_user])."' AND `Task` = '$ID' and `Type` = 'list'";
    $result = mysql_query($query);
    if (mysql_num_rows($result) > 0) return true; else return false;   
    }
    function Lista($ID){
        if ($this->Is_List($ID)) return $this->UnMark_List($ID); else return  $this->Mark_List($ID);;    
    }
    function Mark_List($ID){
         $query = "INSERT INTO `marked` (`ID` ,`User` ,`Task`,`Type`) VALUES (NULL , '".user2id($_SESSION[loged_in_user])."', '$ID','list')";
         $result = mysql_query($query);
         return "Добавянето в списъка е успешно. Моля изчакайте секунда.. <meta http-equiv=\"Refresh\" content=\"0 URL=$_SERVER[HTTP_REFERER]\">";       
    }
     function UnMark_List($ID){
         $query = "DELETE FROM `marked` WHERE `User` = '".user2id($_SESSION[loged_in_user])."' and Task='$ID' and `Type` = 'list'";
         $result = mysql_query($query);
         return "Премахването от списъка е успешно. Моля изчакайте секунда.. <meta http-equiv=\"Refresh\" content=\"0; URL=$_SERVER[HTTP_REFERER]\">";      
    }
    
    function Show($ID){
        //Use Database class
        $this->Database = new Database();
        
        if(is_numeric($ID)){
            $this->Database->MySQLExec("SELECT * FROM `tasks` WHERE `ID` = '".$ID."' AND `publish` = '1'");
            
            if($this->Database->MySQLAffectRows() == 1){
            	
            	$Row = $this->Database->MySQLFetchRow();
            	if($_SESSION['premissions_user'] == 'admin'){
            		$body .= "<br /><div style=\"background:#fbf4bf; text-align:right; color: #fff;\"> 
						<a href=\"tasks.php?page=edit&task=".$Row['ID']."\" title=\"Редактирай задачата\">Редактирай задачата</a>
						<a href=\"tasks.php?page=del&task=".$Row['ID']."\" title=\"Изтрий задачата\">Изтрий задачата</a></div>";
            	}
                if ($Row[vote_people] >= 1) { $body .= "<div id=\"vote_res\">Трудност: ".round($Row[vote]/$Row[vote_people],2)."</div>"; }
                
            	if (changeLang() == 'Pascal'){
                     $body .= filter($Row['Description_Pascal']).'<br /><br />';  
                } else {
                      $body .= filter($Row['Description_C']).'<br /><br />';   
                }
                
                if($_SESSION['loged_in_user']) {
                    if (changeLang() == 'Pascal'){
            	        if (!($Row['Answer_Pascal'])) {$body .= '<div style="clear:both; text-align:center;"><br />Все още няма решение на <em>Pascal</em> за тази задача публикувано от автора. Предложи решение? <a href="tasks.php?page=answer&id='.$ID.'">Тук</a></div>';
            	        if ($Row['Answer_C'] <> "") $body .= "<div style=\"clear:both; text-align:center;\">Има решение на <em>C++</em> желаете ли да го видите? <a href=\"javascript: changeLang();\">Да</a></div>"; } 
                        else $body .= 'Решение публикувано от <strong>'.$Row['Author'].'</strong>: <pre class="sh_pascal">'.filter($Row['Answer_Pascal']).'</pre><form action="get_task.php" method="post"><input type="hidden" name="id" value="'.$Row['ID'].'"/><input type="hidden" name="lang" value="pascal"/><input type="submit" value="Свали като .pas" /></form><br />';
            	    } else {
                        if (!($Row['Answer_C'])) { $body .= '<div style="clear:both; text-align:center;"><br />Все още няма решение на <em>C++</em> за тази задача публикувано от автора. Предложи решение? <a href="tasks.php?page=answer&id='.$ID.'">Тук</a></div>';
                        if ($Row['Answer_Pascal'] <> "") $body .= "<div style=\"clear:both; text-align:center;\">Има решение на Pascal желаете ли да го видите? <a href=\"javascript: changeLang();\">Да</a></div>"; }
            	        else $body .= 'Решение публикувано от <strong>'.$Row['Author'].'</strong> <pre class="sh_cpp">'.filter($Row['Answer_C']).'</pre><form action="get_task.php" method="post"><input type="hidden" name="id" value="'.$Row['ID'].'"/><input type="hidden" name="lang" value="c"/><input type="submit" value="Свали като .cpp" /></form>';
            	    }
            	    $body .= $this->showAnswers($ID);
                } else {
                    $body .= '<div style="color:red; text-align:center; margin: 10px;">За да видите решението трябва да влезете като потребител или да се регистрирате от <a href="index.php?page=register">тук</a></div>';
                }
                 if($_SESSION['loged_in_user']) {$body .="<div style=\"text-align:center; margin-top: 10px;\"><a href=\"tasks.php?page=answer&id=".$ID."\">[Предложи решение]</a> <a href=\"tasks.php?page=mark&id=".$Row['ID']."\">"; if ($this->Is_Marked($Row['ID'])) $body .="[Маркирай като нерешена задача]"; else $body .="[Маркирай като решена задача]"; $body .="</a>  <a href=\"report_bug.php?action=task\">[Съобщи за грешна задача/решение]</a>  <a href=\"tasks.php?page=list&id=".$Row['ID']."\">"; if ($this->Is_List($Row['ID']))$body .= "<br />[Премахни от списък \"чакащи за решение\"]"; else $body .="<br />[Постави в списък \"чакащи за решение\"]"; $body .="</a></div><br /><br />"; }
                 if($_SESSION['loged_in_user']) $body .= $this->vote($Row[ID]).$this->show_comments($Row[ID]).$this->info.$this->post_comment($Row[ID]);
            } else {
            	$body = message(25, 'error');
            }
        } else {
            $body = message(25, 'error');
        }
          
        return $body;  
    }
    
    function Levels(){
        //Use Database class
        $this->Database = new Database();
        $this->Database->MySQLExec("SELECT * FROM `tasks_levels`");
        
        $body .= '<h1>Задачи://Нива</h1><div style="float: left; width: 100%; margin-top: 20px;">';
        
        while ($Row = $this->Database->MySQLFetchRow()){
            $body .= '<div class="blockFull"><div class="blockTop"></div>
            	<div class="blockCenter">
            		<a href="tasks.php?page=categories&level='.$Row['ID'].'">'.$Row['Name'].'</a>
            	</div>
					<div class="blockBottom"></div></div>';	
        }
        
        $body .= '</div>';
        
        return $body;
    }
    
    function Categories($level){
        //Use Database class
        $this->Database = new Database();
        
        if(is_numeric($level)){
            $this->Database->MySQLExec("SELECT * FROM `tasks_levels` WHERE `ID` = '".$level."'");
            if($this->Database->MySQLAffectRows() == 1){
            	
            	$this->Database->MySQLExec("SELECT * FROM `tasks_categories`");
            	
            	$body .= '<h1>Задачи://Категории</h1><div style="float: left; width: 100%; margin-top: 20px;">';
            	
            	while ($Row = $this->Database->MySQLFetchRow()){
                          $result = mysql_query("SELECT * FROM `tasks` WHERE `Category` = '".$Row[ID]."' AND `Level` = '".$level."'"); 
                          $i=0;
                          while ($rec = mysql_fetch_assoc($result)) {
                          $i++;
                          }       
            		$body .='<div class="blockFull"><div class="blockTop"></div>
            	<div class="blockCenter">
            		<span style="float:left; width: 80%;"><a  href="tasks.php?page=tasks&category='.$Row['ID'].'&level='.$level.'">'.$Row['Name'].'</a></span><span style="float:right; margin-right: 10px;">('.$i.' зад.) </span>  
          		</div>
					<div class="blockBottom"></div></div>';	
            	}
            	
            	$body .= '</div>';
            
            } else {
            	$body = message(22, 'text');	
            }
        } else {
            $body = message(22, 'text');
        }
        
        return $body;
    }
    
    function ShowTasks($category, $level){
        //Use Database class
        $this->Database = new Database();
        
        if(is_numeric($category) && is_numeric($level)){
            if (isset($_GET[paget]) && is_numeric($_GET[paget])) { $page  = $_GET[paget]; } else { $page=1; };
            $tasks_page = 8;
            $start_from = ($page-1) * $tasks_page;
            $this->Database->MySQLExec("SELECT * FROM `tasks` WHERE `Category` = '".$category."' AND `Level` = '".$level."' AND `publish` = '1' LIMIT $start_from, $tasks_page ");
               $result = mysql_query("SELECT * FROM `tasks_categories` WHERE `ID` = '".$category."'");
               $rec = mysql_fetch_assoc($result);
               $body .= "<h1 style=\"margin-bottom: 30px;\">Ниво ";
               if ($level == 1) $body .= "A";
               elseif($level == 2) $body .= "Б";
               elseif($level == 3) $body .= "В";
               else $body .= $level; 
                        $body .= "://Раздел: \"$rec[Name]\"</h1>";   
            if($this->Database->MySQLAffectRows() > 0){
                $j=1;
            	while ($Row = $this->Database->MySQLFetchRow()){
                   switch ($j) {
                        case 1:
                            $top = "taskTop";
                            $bottom = "taskBottom";
                            break;
                        case 2:
                            $top = "taskTop";
                            $bottom = "taskBottomLeft";
                            break;
                        case 3:
                            $top = "taskTopBottomLeft";
                            $bottom = "taskBottomBottom";
                             break;  
                        case 4: 
                            $top = "taskTopBottomRight";
                            $bottom = "taskBottomBottom";
                            break;
                        }
            		$body .= '<div class="taskAll"><div class="'.$top.'"></div>
            			<div class="taskCenter">
            				<a href="tasks.php?page=show&task='.$Row['ID'].'">'.filter(cutString($Row['Description_Pascal'], 170)).'</a>
            			</div>
            			<div class="'.$bottom.'"></div></div>';
                        if($j == 4) { $j=1;	}else { $j++;}
            	}
                $sql = "SELECT COUNT(ID) FROM `tasks` WHERE `Category` = '".$category."' AND `Level` = '".$level."' AND `publish` = '1'";
                $rs_result = mysql_query($sql);
                $row = mysql_fetch_row($rs_result);
                $total_records = $row[0];
                $total_pages = ceil($total_records / $tasks_page);
                $body .= "<div style=\"display:block; clear:both; text-align:center;\">Страница <br />";
                for ($i=1; $i<=$total_pages; $i++) {
                            $body .= "<a href=\"$_SERVER[PHP_SELF]?page=tasks&category=$category&level=$level&paget=".$i."\">".$i."</a> ";
                }
$body .= "</div>";
            } else {
            	$body .= message(24, 'text');
            }
        } else {
            $body = message(23, 'text');
        }
        
        return $body;
    }
    
    function Delete($ID){
    	 $this->Database = new Database();
    	 $this->Database->MySQLExec("DELETE FROM `tasks` WHERE `ID` = '".$ID."'");
    	 
    	 return '<p>Задачата е изтрита. <a href="tasks.php">Назад</a></p>';
    }
    
    function edit($ID){
    	$this->Database = new Database;
    	$this->Database->MySQLExec("SELECT * FROM `tasks` WHERE `ID` = '".$ID."'");
    	$Row = $this->Database->MySQLFetchRow();
    	
    	$body .= '<h1>Редактиране на задача</h1>';
        $body .= '<form action="tasks.php?page=update" method="post" id="bbcode">';
        $body .= '<p>Ниво на задачите</p>'; 
        $body .= $this->showEditLevels($ID);
        $body .= '<p>Категория на задачите</p>';
        $body .= $this->showEditCategories($ID);
        $body .='
                <p>Описание на задачата на Pascal</p>'.editor('description_Pascal').'
                <textarea name="description_Pascal" rows="10" cols="77" id="description_Pascal">'.$Row['Description_Pascal'].'</textarea>
                <p>Решение на задачата на Pascal</p>
                <textarea name="Answer_Pascal" rows="10" cols="77">'.$Row['Answer_Pascal'].'</textarea><br />
                <p>Описание на задачата на C</p>'.editor('description_C').'
                <textarea name="description_C" rows="10" cols="77" id="description_C">'.$Row['Description_C'].'</textarea><br />
                <p>Решение на задачата на C</p>
                <textarea name="Answer_C" rows="10" cols="77" id="Answer_C">'.$Row['Answer_C'].'</textarea><br />
                <input type="hidden" name="task_ID" value="'.$ID.'" />
                <input type="submit" value="Добави" />
            </form>';
            
        return $body;
    }
    
    function update($description_Pascal, $description_C, $Answer_Pascal, $Answer_C, $categories, $levels, $ID){
    	$this->Database = new Database;
    	$this->Database->MySQLExec("UPDATE `tasks` SET `Description_Pascal` = '$description_Pascal', `Description_C` = '$description_C', `Answer_Pascal` = '$Answer_Pascal', `Answer_C` = '$Answer_C', `Category` = '$categories', `Level` = '$levels' WHERE `ID` = '$ID'");
    	
    	 return '<p>Задачата е редактирана. <a href="tasks.php?page=show&task='.$ID.'">Назад</a></p>';
    }
    
    function Answer($ID){
    	$this->Database = new Database();
        
        if(is_numeric($ID)){
            $this->Database->MySQLExec("SELECT `ID` FROM `tasks` WHERE `ID` = '".$ID."' AND `publish` = '1'");
            
            if($this->Database->MySQLAffectRows() == 1){
            	$Row = $this->Database->MySQLFetchRow();
            	$body = '<h1>Предложи решение на задачата</h1>
            		<form action="tasks.php?page=submitAnswer" method="post">
            		'.editor('code').'
            			<textarea rows="10" cols="70" name="code" id="code" /></textarea>
            			<input type="hidden" name="taskID" value="'.$ID.'" />
            			<p><input type="submit" value="Предложи" /></p>
            		</form>
          		';	
            } else {
            	$body = message(25, 'error');
            }
        } else {
            $body = message(25, 'error');
        }
        
        return $body;
    }
    
    function submitAnswer($code, $id){
    	$this->Database = new Database();
    	$matches = strstr($code, "[pre class='sh_pascal']");
    	/*preg_match("[pre class='sh_pascal']", $code, $matches, PREG_OFFSET_CAPTURE);*/
    	if($matches == False) $lang = 'C'; else $lang = 'Pascal';
    	
    	$this->Database->MySQLExec("INSERT INTO `tasks_answers` VALUES ('', '".$id."', '".$code."', '".$_SESSION['loged_in_user']."', '".$lang."', '0')");
    	
    	return '<p>Решението е предложено! <a href="tasks.php?page=show&task='.$id.'">Назад</a></p>';
    }
    
    function delAnswer($id){
    	$this->Database = new Database();
    	$this->Database->MySQLExec("DELETE FROM `tasks_answers` WHERE `ID` = '".$id."'");
    	
    	return '<p>Решението е изтрито! <a href="javascript: history.go(-1);">Назад</a></p>';
    }
    
    function editAnswer($id){
    	$this->Database = new Database();
    	$this->Database->MySQLExec("SELECT * FROM `tasks_answers` WHERE `ID` = '".$id."'");
    	$Row = $this->Database->MySQLFetchRow();
    	
    	$body = '<h1>Редактирай решение на задачата</h1>
            		<form action="tasks.php?page=updateAnswer" method="post">
            		'.editor('code').'
            			<textarea rows="10" cols="70" name="code" id="code" />'.$Row['Answer'].'</textarea>
            			<input type="hidden" name="taskID" value="'.$Row['ID'].'" />
            			<p><input type="submit" value="Редактирай" /></p>
            		</form>
          		';
    	
    	return $body;
    }
    
     function updateAnswer($code, $id){
    	$this->Database = new Database();
    	preg_match("[pre class='sh_pascal']", $code, $matches);
    	if($matches != '') $lang = 'Pascal'; else $lang = 'C';
    	
    	$this->Database->MySQLExec("UPDATE `tasks_answers` SET `Answer` = '".$code."', `Language` = '".$lang."' WHERE `ID` = '".$id."'");
    	
    	return '<p>Решението е редактирано! <a href="javascript: history.back(-1);">Назад</a></p>';
    }
    
    function showAnswers($taskID){
    	$this->Database = new Database();
    	$this->Database->MySQLExec("SELECT * FROM `tasks_answers` WHERE `TaskID` = '".$taskID."' AND `Language` = '".changeLang()."' AND `Published` = '1'");
    	
    	if($this->Database->MySQLAffectRows() > 0){
    		$body = '<h1>Решения предложени от потребителите:</h1>';
    		while($Row = $this->Database->MySQLFetchRow()){
    			$body .= '
    				<div style="width: 100%; height: auto; float left;">
    					'.filter($Row['Answer']).'
    					<p><strong>Автор:</strong> '.$Row['Author'].'</p>
    					<a href="tasks.php?page=editAnswer&task='.$Row['ID'].'" title="Редактирай задачата">Редактирай</a>
						<a href="tasks.php?page=delAnswer&task='.$Row['ID'].'" title="Изтрий задачата">Изтрий	</a>
    				</div>';
    		}
    	}
    	
    	return $body;
    }
}
?>
 
Код:
class.mytestclass.php
class MyTestClass {
//blabla разни фуцнкии и деклариране на променливи 
function test() 
{   }
}
index.php
$myclass = new MyTestClass();
$myclass->test();
И сега когато ти потрябва фунцкия в index.php от класа MyTestClass я викаш по следния начин: $myclass->test(); а ако искаш в друг файл трябва да поставиш и $myclass = new MyTestClass(); и естествено да инклуднеш файла с класа. :?:
малко обяснение за класовете - видео клип
 
SveXteZ каза:
Код:
class.mytestclass.php
class MyTestClass {
//blabla разни фуцнкии и деклариране на променливи 
function test() 
{   }
}
index.php
$myclass = new MyTestClass();
$myclass->test();
И сега когато ти потрябва фунцкия в index.php от класа MyTestClass я викаш по следния начин: $myclass->test(); а ако искаш в друг файл трябва да поставиш и $myclass = new MyTestClass(); и естествено да инклуднеш файла с класа. :?:
малко обяснение за класовете - видео клип

Просто не искам въобще да има класове във кодовете ми. Надявам се някой да помогне с това, което искам..
 

Back
Горе