Pereiti prie turinio

fluxas

Patvirtinti nariai
  • Pranešimai

    185
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    100%

fluxas Pranešimai

  1. Metas padraugauti. Aišku, vien šiai funkcijai tai nebūtina, bet tikrai labai populiari paradigma, kurią sutiksi bet kur, kur daugiau PHP kodo (bet kuris ne-mini frameworkas, ORM, ir t.t.).

     

    Šiaip jau nematau, kame problema. Net be OOP darant, galima pasidaryti kažką tokio:

    define('RIGHTS_USER', 10);
    define('RIGHTS_MODERATOR', 100);
    define('RIGHTS_ADMIN', 1000);
    
    function hasRightLevel($level) {
       // su sąlyga, kad, kaip kažkas minėjo,
       // turėsi tuos duomenis sesijoje
       return $_SESSION['user']['rights'] >= $level;
    }
    
    var_dump(hasRightLevel(RIGHTS_MODERATOR));
    

     

    Štai ir viskas, vienos eilutės funkcija :D

     

    Aišku, nesakau, kad čia geras kodas (panašėja į php-fusion, kur viskas globalu, kas kur ką nori, tą daro), bet labai greitas sprendimas. Kaip sakiau, tiesiog nelabai suprantu, ko nemokėjai pasidaryti.

     

     

    Hm, o kas čia per mada rašyti keywordus iš didžiosios raidės? Atrodo kaip kažkoks Visual Basic košmaras :/

     

    Ne tik, kad kodo stilius sako visiškai kitaip, bet išvis nemačiau niekada realiam kode, kad rašytų iš didžiosios raidės. :huh:

     

    Per wordą iš pradžių pasirašiau, tai automatiškai didžiosiomis padarė ir nepakeičiau.

  2. Kurk kartu ir $_SESSION[’user_rights’] = rigts.

    Pakurk users class. Turėk class atributus:

     

    Static Private $user_type1 = 10;
    Static Private $user_type2 = 100;
    Static Private $user_type3 = 1000; 

    (Nu vienu žodžiu tiek tu atributu, kiek yra user tipų).

     

    Tada daryk tarp class metodą:

     

    Static function user_rights($session_rights=““) {
    If($session_rights == $this-> user_type1) {
    Return $nario_tipas = “Narys“;
    } elseif ($session_rights == $this-> user_type2) {
    Return $nario_tipas = “Moderatorius“;
    } elseif ($session_rights == $this-> user_type3) {
    Return $nario_tipas = “Vadovas“;
    } else {
           Return $nario_tipas = ““;
    }
    }

     

    Na ir vienu žodžiu, tame pagrindiniame page dėk:

     

    If(Users::user_rights($_SESSION[“user_rights“]) == “Narys“) {
    //Display tą sritį.
    }

     

    Na gal ir nedaug ką pakeičia, aišku galima ir geriau padaryt, ir su daugiau visokių smulkmenų, bet funkcionalumas šioks toks yra. Jei ką reikės keist tai klasėje, o pagrindiniam tik tą vieną žodį.

     

    P.S. Net nesu garantuotas, kad veiks (turėtų veikt), nes netikrinau.

     

    P.P.S. Tas string (pvz. Narys) gali keist konstantom ar panašiai. Tada dar geriau bus, jei reikės ką keist. Galėsi pakeist tik tas reikšmes, tame faile, kur tos konstantos.

  3. $DeviceID = "1";
    $Code = "695484";
    $Description = "";
    $Quantity = "20";
    $Price = "5";
    
    $vars = array(
    "ID"=>$DeviceID,
    "Code"=>$Code,
    "Description"=>$Description,
    "Quantity"=>$Quantity,
    "Price"=>$Price);
    
    foreach($vars as $key=>$value) {
    
    if($value==null) {
    
    	header('HTTP/1.1 403 Forbidden');
                   echo "Empty ".$key;
                   break;
    	}
    
    }
    
    

     

     

    Lyg ir veikia :)

  4. Tiksliai nepamenu, bet kartais su a nesigaudavo man. Pabandyk Span pridėjęs uždėt tą custom font. a nenaudok.

     

    Pvz.

     

    <a href="#"><span>RU</span></a> (su class ar div, jei reikia).

     

    header div#languages span.

  5. Gal pabandyk išskaidyt.

    Pvz.

     

    @font-face{

    font-family:'Graublau Web';

    src: url('GraublauWeb.eot'); /* here you go, IE */

    }

    @font-face{

    font-family:'Graublau Web';

    src: url('GraublauWeb.otf'); /* everyone else take this */

    }

×
×
  • Pasirinkite naujai kuriamo turinio tipą...