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 ©[email protected], 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 ?> Quote 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.... Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.