]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - src/lib/file.admins.php
alguna modificacion de algo que no validaba
[z.facultad/75.43/tp1.git] / src / lib / file.admins.php
1 <?php
2 // vim: set binary noeol et sw=4 sts=4 :
3 // Grupo 10
4 //
5 // Lucarella, Schein, Arena
6 //
7 // Creado: Leandro Lucarella (mar may  3 00:14:11 ART 2005)
8 //
9 // $Id$
10
11 /**
12  * Indica si ya hay 2 administradores.
13  *
14  * @return true si hay 2 administradores, false si no.
15  */
16 function file_admins_check()
17 {
18     return count(@file('data/admins.txt')) > 1;
19 }
20
21 /**
22  * Indica si un usuario es administrador
23  *
24  * @return true si es administrador, false si no.
25  */
26 function file_admins_es_admin($user)
27 {
28     if (in_array($user, file_admins_get())) return true;
29     return false;
30 }
31
32 /**
33  * Obtiene los administradores actuales.
34  *
35  * @return array con los administradores actuales (false si hay error).
36  */
37 function file_admins_get()
38 {
39     if (!($admins = file('data/admins.txt'))) return false;
40     array_walk($admins, '_file_admins_walk_trim');
41     return $admins;
42 }
43
44 /**
45  * Guarda un nuevo administrador.
46  *
47  * @return bool true si no hay error.
48  */
49 function file_admins_add($user)
50 {
51     if (file_admins_check()) return false; // Si ya hay 2, no se puede agregar
52     if (($f = fopen('data/admins.txt', 'a')) === false) return false;
53     fwrite($f, "$user\n");
54     fclose($f);
55     return true;
56 }
57
58 /**
59  * Reemplaza un administrador por otro.
60  *
61  * @return bool true si no hay error.
62  */
63 function file_admins_replace($viejo, $nuevo)
64 {
65     if (($admins = file_admins_get()) === false) return false; // error
66     array_walk($admins, '_file_admins_walk_replace', array($viejo, $nuevo));
67     if (($f = fopen('data/admins.txt', 'w')) === false) return false; //error
68     foreach ($admins as $admin) fwrite($f, "$admin\n");
69     fclose($f);
70     return true;
71 }
72
73 function _file_admins_walk_trim(&$item, $clave)
74 {
75     $item = trim($item);
76 }
77
78 function _file_admins_walk_replace(&$item, $clave, $que)
79 {
80     if ($item == $que[0]) $item = $que[1];
81 }
82
83 ?>