<?php
// Necesita connect.inc
// Funció que comproba el password de la cookie a la BD
// si li passem un argument, compara l'argument amb el password de la BD (útil per canvi de
// password)
function ident() {
  if (func_num_args() == 0){    // L'utilitzarem per validar sessió
    $sessio=addslashes($_COOKIE["sessio"]);
    $text="Login o password incorrecte: no esta autoritzat.";
    $tornar="<a href=\"../index.php\"><input type=\"image\" src=\"images/tornar.jpg\" border=\"0\"></a>";
    $link=Conectar();
    $result=mysql_query("SELECT login FROM usuaris WHERE sessio LIKE '$sessio'");
  } else {    // L'utilitzarem al canvi de password
    $sessio=addslashes($_COOKIE["sessio"]);
    $pass=addslashes(func_get_arg(0));
    $text="Password actual incorrecte!";
    $tornar="<input type=\"image\" src=\"images/tornar.jpg\" onClick=\"history.go(-1)\">";
    $link=Conectar();
    $result=mysql_query("SELECT login FROM usuaris WHERE password=PASSWORD('$pass')");
  }
    $row = mysql_fetch_array($result);
    // (strlen($sessio)!=32) -> Per no autoritzar cookies sense valor i sessio nula a la BD
    // la sessió ha de ser de 32 caracters, sino es incorrecta
    if (($row["login"] != $_COOKIE["login"]) || ($row == NULL) || (strlen($sessio)!=32)) {
      echo $text . "<br><br>";
      echo $tornar;
      mysql_free_result($result);
      mysql_close($link);
      exit;
    }
    mysql_free_result($result);
    mysql_close($link);
}

// Comprova que l'id que li passem com argument es correspon
// amb el nom d'usuari (login) de la seva cookie. Abans de cridar
// aquesta funció s'ha de cridar a ident(); per comprovar la validesa de l'usuari
function es_el_seu_id(){
  if (func_num_args() == 0){
    return;
  }
  $id=addslashes(func_get_arg(0));
  $login=addslashes($_COOKIE["login"]);
  $link=Conectar();
  $result=mysql_query("SELECT login FROM usuaris WHERE id=$id");
  $row = mysql_fetch_array($result);
  if ($row["login"] != $login) {
    echo "No esta autoritzat!<br><br>";
    echo "<input type=\"image\" src=\"images/tornar.jpg\" onClick=\"history.go(-1)\">";
    mysql_free_result($result);
    mysql_close($link);
    exit;
  }
  mysql_free_result($result);
  mysql_close($link);
}

// Comprova que un dels 3 ids que li passem com argument es correspon
// amb el nom d'usuari (login) de la seva cookie. Abans de cridar
// aquesta funció s'ha de cridar a ident(); per comprovar la validesa de l'usuari
function es_el_seu_id123(){
  if (func_num_args() < 3){
      return;
  }
  $id1=addslashes(func_get_arg(0));
  $id2=addslashes(func_get_arg(1));
  $id3=addslashes(func_get_arg(2));
  $login=addslashes($_COOKIE["login"]);
  $link=Conectar();
  $result=mysql_query("SELECT login FROM usuaris WHERE id=$id1 OR id=$id2 OR id=$id3");
  while($row = mysql_fetch_array($result)){
    if ($row["login"] == $login) {
      mysql_free_result($result);
      mysql_close($link);
      return;
    }
  }
  echo "No esta autoritzat!<br><br>";
  echo "<input type=\"image\" src=\"images/tornar.jpg\" onClick=\"history.go(-1)\">";
  mysql_free_result($result);
  mysql_close($link);
  exit;
}

/* Comprova si te permis per accedir a certa zona */

function permis($login, $zona) {
  $login=addslashes($login);
  $zona=addslashes($zona);
  $link=Conectar();
  $result=mysql_query("SELECT
           novetats,personal,personal_propi,tesis_total,tesis_propies,deiminaris,usuaris,cercador
           FROM usuaris
           WHERE login LIKE '$login'");
  $row = mysql_fetch_array($result);
  mysql_free_result($result);
  mysql_close($link);
  if (($zona=="novetats") AND ($row["novetats"]=="true")) return "true";

  // Personal = accés a totes les fiches
  if (($zona=="personal") AND ($row["personal"]=="true")) return "true";
  if (($zona=="personal_propi") AND (($row["personal_propi"]=="true") OR
  ($row["personal"]=="true"))) return "true";

  // tesis = accés a la teva tesi
  if (($zona=="tesis") AND (($row["tesis_total"]=="true") OR ($row["tesis_propies"]=="true"))) return "true";
  if (($zona=="tesis_total") AND ($row["tesis_total"]=="true")) return "true";
  if (($zona=="tesis_propies") AND ($row["tesis_propies"]=="true")) return "true";
  if (($zona=="deiminaris") AND ($row["deiminaris"]=="true")) return "true";
  if (($zona=="usuaris") AND ($row["usuaris"]=="true")) return "true";
  if (($zona=="cercador") AND ($row["cercador"]=="true")) return "true";

  return "false";
}

/* Mostra missatge d'error i atura la cárrega si no te permis en una zona */
function autoritzar($login, $zona) {
  $login=addslashes($login);
  $zona=addslashes($zona);
  if (permis($login,$zona)!="true") {
    echo "No esta autoritzat!<br><br>";
    echo "<a href=\"../index.php\"><input type=\"image\" src=\"images/tornar.jpg\" border=\"0\"></a>";
    exit;
  }
}
?>
