Screensaver Pass Switcher

screensaver pass switcher

Depois de muitas intrusões indesejadas em computadores vizinhos no CeSIUM, Tiago Dias, um colega nosso, resolveu criar um widget que prevenisse essa situação, a activar a password do screensaver.

Disso nasceu o Screensaver Pass Switcher, um widget simples e, na minha honesta opinião, uma bofetada na confiança que se tem nos amigos que ficam no CeSIUM enquanto se vai tomar um cafézinho. De qualquer das maneiras, aqui fica o link para o download a quem desejar experimentar.

Download

Paginação de resultados com PHP/Oracle

Aqui está um pequeno script que criei para a cadeira de Base de Dados utilizando PHP e o motor de base de dados Oracle.

Provavelmente não é a solução óptima para o problema visto ter de fazer duas queries à base de dados, mas foi a maneira que encontrei de conseguir por isto a funcionar. Em MySQL a segunda query seria simplificada através da função LIMIT, que permitiria uma visualização mais fácil do código, mas visto tar a trabalhar em uma base de dados Oracle teve de ser assim mesmo…

Script em PHP que pega em resultados de uma query à tabela “table” e divide por páginas:

$nres = 5; // numero de resultados a mostrar por pagina

$c = ocilogon($user, $pass, $host); // ligação à base de dados

if(isset($_GET[‘page’])){

   $p_ant = $_GET[‘page’] -1; // página anterior

   $p_seg = $_GET[‘page’] +1; // página seguinte

   $s = oci_parse($c, “select * from table); // seleccionar todos os resultados

   oci_execute($s, OCI_DEFAULT);

   $cont = 1;

   while(oci_fetch($s)) $cont++; // conta o numero de resultados da query

   $pag_max = $cont/$nres;  // calcula o numero de paginas

   // se não estiver na primeira página, mostra o link para a anterior

   if($_GET[‘page’]>1)

      echo “<a href=’index.php?page=”. $p_ant . “‘>Pagina anterior</a> “;

   echo “<a href=’index.php’>Home</a> “;

  // semelhante ao anterior, se não estiver na última página, mostra um link para a página seguinte

   if($pag_max>$_GET[‘page’])

      echo “<a href=’index.php?page=”. $p_seg . “‘>Pagina seguinte</a>”;

   echo “<br/><br/>”;

   // query que trata de buscar os elementos que se encontram entre pagina-1*$nres e pagina*$nres

   $q = “select * from ( select a.*, rownum rnum 

                               from ( select * from table ) a

                               where rownum <= ” . $_GET[‘page’]*$nres . ” )

                               where rnum >” . ($_GET[‘page’]-1)*$nres;

   $s = OCI_Parse($c, $q);

   OCI_Execute($s, OCI_DEFAULT);

   while (OCI_Fetch($s)) {

      // efectuar acções com os dados

}

else header(“Location: ../index.php?page=1”);