1; } /** * Indica si un usuario es administrador * * @return true si es administrador, false si no. */ function file_admins_es_admin($user) { if (!($admins = file('data/admins.txt'))) return false; foreach ($admins as $admin) if (trim($admin) == $user) return true; return false; } /** * Obtiene los administradores actuales. * * @return array con los administradores actuales (false si hay error). */ function file_admins_get() { if (!($admins = file('data/admins.txt'))) return false; if (array_walk($admins, '_file_admins_walk_trim')) return false; return $admins; } /** * Guarda un nuevo administrador. * * @return bool true si no hay error. */ function file_admins_add($user) { if (file_admins_check()) return false; // Si ya hay 2, no se puede agregar if (($f = fopen('data/admins.txt', 'a')) === false) return false; fwrite($f, "$user\n"); fclose($f); return true; } /** * Reemplaza un administrador por otro. * * @return bool true si no hay error. */ function file_admins_replace($viejo, $nuevo) { if (($admins = file_admins_get()) === false) return false; // error if (array_walk($admins, '_file_admins_walk_replace', array($viejo, $nuevo))) return false; //error if (($f = fopen('data/admins.txt', 'w')) === false) return false; //error foreach ($admins as $admin) fwrite($f, "$admin\n"); fclose($f); return true; } function _file_admins_walk_trim(&$item, $clave) { $item = trim($item); } function _file_admins_walk_replace(&$item, $clave, $que) { if ($item == $que[0]) $item = $que[1]; } ?>