sangoku Posted March 22, 2010 Share Posted March 22, 2010 hy i have a logical dilema(math sorta) so i figured il ask it here i have a tidynes problem so if enyone know how to tidy up this thing plese do so... PLEASE !!!! i have a switch($withAValue){ case 1: //i do a complex for loop //which has in in 2 statement that compare the given value against 0 if it is bigger or smaller than 0 case 2 : //again the complex loop but the jobs that are to be done are reversed the one that i need to do when a value is bigger than 0 is now the one i need to do when the vlaue is smaller than 0.... can zou help me out the code is here,,, only a theoretical approach is enough i can change the file my self just a idea is good enough for future mesees like this one,,,, i dont have a slightest intent to shange this mess... <?php /** * @copyright at ©sinisaculic@gmail.com, all rights reserverd 2009-2010 * @author Siniša Čulić * @version 1.0 * @created 19-03-2010 15:04:17 */ //provijera pristupa i logovanje napada if (!defined('ACESS')){// ukoliko pristup nije opravdan radi: if (!defined('SITE_ROOT')) { $sada = $_SERVER['PHP_SELF']; //saznajemo lokaciju samoga fajla $root = explode('/',$sada, 3);// izdvajamo samo lokacju osnovnog foldera define ('SITE_ROOT',$_SERVER['DOCUMENT_ROOT'].$root[1]); // i date informacije definisemo } include_once(SITE_ROOT.'/protected/internaSigurnost.php'); }// kraj provjere sigurnosti class votingHistory extends DatabaseObject { protected $kljuc; protected static $table_name = 'voting_history'; protected static $kolone_u_bazi = array ('object_id','tip','user_ID','vote_value','vote_date','user_value','user_action') ; protected $object_id; //INT(10) UNSIGNED NOT NULL , protected $tip; //VARCHAR(45) NOT NULL , protected $user_ID;// INT(10) NOT NULL , protected $vote_value;// SMALLINT NOT NULL DEFAULT 0 , protected $vote_date; //TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , protected $user_value; //SMALLINT NOT NULL , protected $user_action; //ENUM('default_value', 'vote_value', '0') /** * Nalazi unose koji su vezani za neki određeni objekt * * @param int $id * @param string $name * */ private function findObjects($id, $name){ $sql = "SELECT * from {$this->tabela_u_bazi} WHERE object_id = {$id} and tip = {$tip}"; return $this->find_by_sql($sql); } /** * Pravi novi unos u bazi tabeli reputacione istorije * * @param int $id * @param string $object_name * @param int $user_ID * @param int $user_value * @param int $vote_value * * @returns true/false */ public function newEntry($id, $object_name,$user_ID, $user_value, $vote_value ){ //provijeravamo dali su sve vrednosti koje su date yadovoljavaju kriterije tipa podataka if(is_int($id)and is_string($object_name)and is_int($user_ID) and is_int($user_value) and is_int($vote_value)){ $this->object_id = $id; $this->tip = $object_name; $this->user_ID= $user_ID; $this->vote_value = $vote_value; $this->user_value = $user_value; $this->vote_date = time(); }else { return false; } //poslije kreiramo unos podataka u bazu podataka, ukoliko je on uspijesan vracamo true return $this->create(); } /** * Pravi novi unos u bazi tabeli reputacione istorije * * @param int $id * @param string $object_name * @param int $user_ID * @param int $user_value * @param int $vote_value * * @returns true/false */ public static function generateNewEntry($id, $object_name,$user_ID, $user_value, $vote_value ){ //staticka zamijena za novi unos $entry = new votingHistoy(); return $entry->newEntry($id,$object_name,$user_ID,$user_value,$vote_value); } /** * Dati objekat pri skoku objekta svakom korisniku koji je potvrdi pozitivnu/negativnu * ocjenu daje poene, dok korisnicima koji su ocijelnilli drugacije radi prma kongif fajlu * * @param pozitivan/negativan $skok */ public static function uradiFinalniObracun($skok = 'pozitivan', $id, $object_name){ $obracun = new votingHistory(); $obracun->finalniObracun($skok, $id, $object_name); } /** * Dati objekat pri skoku objekta svakom korisniku koji je potvrdi pozitivnu/negativnu * ocjenu daje poene, dok korisnicima koji su ocijelnilli drugacije radi prma kongif fajlu * * @param pozitivan/negativan $skok */ public function finalniObracun($skok = 'pozitivan', $id, $object_name){ //prvo nalazimo sve aktere koji su ocjenili dati objekat $akteri = $this->findObjects($id,$object_name); $error = false; //postavljamo varijablu koja ce pratiti dali je nastala greska switch($skok){//pravimo swithc koji ce gledati koji je skok u pitanju poz/neg case 'pozitivan': foreach ($akteri as $akter){ //ukoliko imamo vrednost glasanja vecu od nule jednostavno nagradjujemo ocjenjivaca if ($akter->vote_value > 0){ //ukoliko je korisnik pozitivno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$akter->user_value); }else if($akter->vote_value < 0){ //obradjujemo sta je admin zadao kao akciju korisnika if ($akter->user_action == 0){ // suer action = ENUM('default_value', 'vote_value', '0') }else if($akter->user_action == 'vote_value'){ $vrednost= - $akter->vote_value; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else if ($akter->user_action =='default_value'){ $vrednost= - NEGATIVNA_REAKCIJA_REPUTACIJA; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else{ $error = true; } } } break; case 'negativan': foreach ($akteri as $akter){ //ukoliko imamo vrednost glasanja vecu od nule jednostavno nagradjujemo ocjenjivaca if ($akter->vote_value < 0){ //ukoliko je korisnik pozitivno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$akter->user_value); }else if($akter->vote_value > 0){ //obradjujemo sta je admin zadao kao akciju korisnika if ($akter->user_action == 0){ // suer action = ENUM('default_value', 'vote_value', '0') }else if($akter->user_action == 'vote_value'){ $vrednost= - $akter->vote_value; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else if ($akter->user_action =='default_value'){ $vrednost= - NEGATIVNA_REAKCIJA_REPUTACIJA; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else{ $error = true; } } } break; } //end switcha skok XD bas veliko haaaa ~.~ ... QQ moram naci jednostavnije if ($error){ return false; }else { return true; } } protected function nagradiKorisnika($id, $vrednoscu){ $user = new korisnik(0,$id); $user->energy = $user->energy + ($vrednoscu); //dajemo niski prioritet izvrsenja upita upadte $user->update(true); } }//kraj klase ?> Link to comment https://forums.phpfreaks.com/topic/196165-do-zou-kno-bether-way-less-messy-one/ Share on other sites More sharing options...
sangoku Posted March 22, 2010 Author Share Posted March 22, 2010 damn keyboard it switched my z for y.... dint notice the numb topic name until it was to late..... aaaa i miss my laptop ... a lightning struck him.... Link to comment https://forums.phpfreaks.com/topic/196165-do-zou-kno-bether-way-less-messy-one/#findComment-1030166 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.