Remove useless functions.php, common.php and vendor/evolibs
This commit is contained in:
parent
791d0169ac
commit
b4555a166b
|
@ -14,7 +14,6 @@ Evolix trademark and logo are not freely reusable and are protected by copyright
|
|||
|
||||
Vendor files in htdocs/vendor have their own license :
|
||||
|
||||
* [Evolibs](http://evolix.com/) : GPLv2+
|
||||
* [Bootstrap](https://getbootstrap.com/) : MIT
|
||||
* [Jquery](https://jquery.org/) : MIT
|
||||
* [DataTables](https://www.datatables.net/) : MIT
|
||||
|
|
|
@ -6,8 +6,6 @@ require_once("lib/config.php");
|
|||
// Force authentication on this page
|
||||
require_once("lib/auth.php");
|
||||
|
||||
require_once("lib/common.php");
|
||||
|
||||
if (empty($_GET['domain'])) {
|
||||
header("location: superadmin.php\n\n");
|
||||
exit(1);
|
||||
|
|
|
@ -6,8 +6,6 @@ require_once("lib/config.php");
|
|||
// Force authentication on this page
|
||||
require_once("lib/auth.php");
|
||||
|
||||
require_once('lib/common.php');
|
||||
|
||||
include('inc/haut.php');
|
||||
include('inc/debut.php');
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ require_once("lib/config.php");
|
|||
// Force authentication on this page
|
||||
require_once("lib/auth.php");
|
||||
|
||||
require_once('lib/common.php');
|
||||
|
||||
include('inc/haut.php');
|
||||
include('inc/debut.php');
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ require_once("lib/config.php");
|
|||
// Force authentication on this page
|
||||
require_once("lib/auth.php");
|
||||
|
||||
require_once("lib/common.php");
|
||||
|
||||
include("inc/haut.php");
|
||||
include("inc/debut.php");
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ class LdapDomain extends LdapServer {
|
|||
|
||||
public function addAccount($uid,$name,$password,$active=false,$admin=false,$accountactive=false,$courieractive=false,$webmailactive=false,$authsmtpactive=false,$amavisBypassSpamChecks=false) {
|
||||
global $conf;
|
||||
if (badname($uid)) {
|
||||
if (!preg_match('/^([a-z0-9][a-z0-9\-\.\_]{0,28}[a-z0-9])$/', $uid)) {
|
||||
throw new Exception("Erreur, <u>$name</u> est un nom invalide.");
|
||||
}
|
||||
$mail = $uid.'@'.$this->getName();
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Copyright (c) 2004-2008 Evolix - Tous droits reserves
|
||||
* $Id: common.php,v 1.13 2009-02-21 03:55:15 gcolpart Exp $
|
||||
*/
|
||||
|
||||
/**
|
||||
* common.php
|
||||
* file included in every PHP file
|
||||
*/
|
||||
|
||||
/**
|
||||
* Functions
|
||||
*/
|
||||
function test_exist($file) {
|
||||
if(!file_exists($file)) {
|
||||
die("Erreur, vous devez mettre en place le fichier $file !\n");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Includes
|
||||
*/
|
||||
|
||||
// PEAR libs
|
||||
// change include_path for PEAR
|
||||
// http://pear.php.net/manual/en/installation.shared.php
|
||||
//if (!(ini_set('include_path', CONF_PWD . 'pear/' . PATH_SEPARATOR . ini_get('include_path'))))
|
||||
if (!(ini_set('include_path', ini_get('include_path')))) {
|
||||
die('bibliotheques PEAR non presentes');
|
||||
} else {
|
||||
|
||||
require_once 'PEAR.php';
|
||||
require_once 'Log.php';
|
||||
|
||||
// config files
|
||||
// (here because need Log PEAR lib)
|
||||
test_exist('config/connect.php');
|
||||
require_once('config/connect.php');
|
||||
test_exist('config/conf.php');
|
||||
require_once('config/conf.php');
|
||||
|
||||
global $conf;
|
||||
|
||||
// only for samba mode
|
||||
if (($conf['admin']['what'] == 2) || ($conf['admin']['what'] == 3)) {
|
||||
require_once 'Crypt/CHAP.php';
|
||||
}
|
||||
}
|
||||
|
||||
// functions
|
||||
require_once 'lib/functions.php';
|
||||
if ($conf['admin']['use_hook']) {
|
||||
require_once 'lib/hook.php';
|
||||
} else {
|
||||
require_once 'lib/hook-dist.php';
|
||||
}
|
||||
|
||||
// lib
|
||||
require_once 'vendor/evolibs/Ldap.php';
|
||||
require_once 'vendor/evolibs/Html.php';
|
||||
require_once 'vendor/evolibs/Math.php';
|
||||
require_once 'vendor/evolibs/EvoLog.php';
|
||||
require_once 'vendor/evolibs/Auth.php';
|
|
@ -4,12 +4,8 @@ const CONFIG_FILE = './config/conf.php';
|
|||
const CONNECT_FILE = './config/connect.php';
|
||||
|
||||
spl_autoload_register(function ($class) {
|
||||
if (file_exists("vendor/evolibs/$class.php")) {
|
||||
include_once("vendor/evolibs/$class.php");
|
||||
} else {
|
||||
$class = strtolower($class);
|
||||
include_once("lib/class.$class.php");
|
||||
}
|
||||
});
|
||||
|
||||
if (file_exists(CONFIG_FILE)) {
|
||||
|
|
|
@ -1,323 +0,0 @@
|
|||
<?php
|
||||
|
||||
function display($msg)
|
||||
{
|
||||
echo "<p class='display'>" . $msg . "</p>\n";
|
||||
}
|
||||
|
||||
// teste si l'utilisateur est superadmin
|
||||
function superadmin($login) {
|
||||
|
||||
global $conf;
|
||||
|
||||
foreach ($conf['admin']['logins'] as $admin) {
|
||||
if ( Html::clean($login) == $admin ) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
// execution du script shell associe
|
||||
function evoexec($cmd) {
|
||||
//exec(SUBIN . " " . SUUSER . " -c " . SUDOBIN . " '$cmd'");
|
||||
return exec(SUDOBIN . " " . SUDOSCRIPT . " -p " . SUDOPASS . " $cmd");
|
||||
}
|
||||
|
||||
|
||||
// retourne le quota d'un utilisateur ou d'un groupe
|
||||
function getquota($who,$what) {
|
||||
|
||||
global $conf;
|
||||
|
||||
if ( $what == 'user') {
|
||||
$quota = evoexec("-qu $who");
|
||||
} elseif ( $what == 'group') {
|
||||
if ( $conf['domaines']['driver'] == 'file' ) {
|
||||
$quota = evoexec("-s");
|
||||
} elseif ( $conf['domaines']['driver'] == 'ldap' ) {
|
||||
$quota = evoexec("-qg $who");
|
||||
}
|
||||
}
|
||||
|
||||
list ($now,$limit) = explode("/",$quota);
|
||||
$now = $now / 1024;
|
||||
$limit = $limit / 1024;
|
||||
$quota = "<b>" . Math::arrondi($now). "M</b>/" .Math::arrondi($limit). "M";
|
||||
|
||||
return $quota;
|
||||
}
|
||||
|
||||
// commande shell a lancer pour creer un utilisateur
|
||||
function unix_add($user,$group=NULL) {
|
||||
|
||||
if ( $group == NULL) {
|
||||
$group = getgid();
|
||||
}
|
||||
evoexec("-a -u $user -g $group");
|
||||
}
|
||||
|
||||
// commande shell a lancer pour creer un domaine
|
||||
function domain_add($group) {
|
||||
evoexec("-a -v -g $group");
|
||||
}
|
||||
|
||||
// commande shell a lancer pour supprimer un utilisateur
|
||||
function unix_del($user) {
|
||||
|
||||
evoexec("-d -u $user");
|
||||
}
|
||||
|
||||
// renvoie le gidNumber associe a un domaine
|
||||
function getgid($domain=NULL) {
|
||||
|
||||
global $conf;
|
||||
|
||||
if ( $conf['domaines']['driver'] == 'file' ) {
|
||||
return $conf['domaines']['file']['gid'];
|
||||
} elseif ( $conf['domaines']['driver'] == 'ldap' ) {
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(&(cn=" .$domain. ")(gidnumber=*))";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
|
||||
if ($info['count']) {
|
||||
return (int) $info[0]["gidnumber"][0];
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
// renvoie le 1er uidNumber disponible
|
||||
function getfreeuid() {
|
||||
|
||||
global $conf;
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(uidNumber=*)";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
|
||||
$uids = array();
|
||||
|
||||
foreach ($info as $entry) {
|
||||
array_push($uids,$entry['uidnumber'][0]);
|
||||
}
|
||||
|
||||
sort($uids);
|
||||
$uid = max(array_pop($uids)+1,$conf['unix']['minuid']);
|
||||
|
||||
return (int) $uid;
|
||||
}
|
||||
|
||||
// renvoie le 1er uidNumber disponible
|
||||
function getfreegid() {
|
||||
|
||||
global $conf;
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(gidNumber=*)";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
|
||||
$gids = array();
|
||||
|
||||
foreach ($info as $entry) {
|
||||
array_push($gids,$entry['gidnumber'][0]);
|
||||
}
|
||||
|
||||
sort($gids);
|
||||
$gid = max(array_pop($gids)+1,$conf['unix']['mingid']);
|
||||
|
||||
return (int) $gid;
|
||||
}
|
||||
|
||||
|
||||
// get number of account or aliases for a domain
|
||||
function getnumber($domain,$type) {
|
||||
|
||||
global $conf;
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
if ( $type == 'compte' ) {
|
||||
$filter="(&(objectClass=posixAccount)(!(uid=*$)))";
|
||||
|
||||
} elseif ( $type == 'mail' ) {
|
||||
$filter="(objectClass=mailAccount)";
|
||||
|
||||
} elseif ( $type == 'alias' ) {
|
||||
$filter="(objectClass=mailAlias)";
|
||||
|
||||
// compatibilite anciens schemas
|
||||
if ($conf['evoadmin']['version'] == 1) {
|
||||
$filter="(&(objectClass=mailAlias)(onlyAlias=TRUE))";
|
||||
}
|
||||
|
||||
} elseif ( $type == 'smb' ) {
|
||||
$filter="(objectClass=sambaSamAccount)";
|
||||
}
|
||||
|
||||
if (! $conf['domaines']['onlyone']) {
|
||||
|
||||
// compatibilite anciens schemas
|
||||
if ($conf['evoadmin']['version'] <= 2) {
|
||||
$rdn= "domain=" .$domain. "," .LDAP_BASE;
|
||||
} else {
|
||||
$rdn= "cn=" .$domain. "," .LDAP_BASE;
|
||||
}
|
||||
|
||||
} else {
|
||||
//$rdn= "ou=people," .LDAP_BASE;
|
||||
$rdn= LDAP_BASE;
|
||||
}
|
||||
|
||||
$sr=ldap_search($ldapconn, $rdn, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
|
||||
return $info['count'];
|
||||
}
|
||||
|
||||
function getsambagroups($type) {
|
||||
|
||||
global $conf;
|
||||
|
||||
// Si la liste des groupes est defini dans la config on l'utilise
|
||||
|
||||
if($type == "unix" && isset($conf['samba']['unixgroups'])) {
|
||||
return $conf['samba']['unixgroups'];
|
||||
}
|
||||
|
||||
if($type == "smb" && isset($conf['samba']['smbgroups'])) {
|
||||
return $conf['samba']['smbgroups'];
|
||||
}
|
||||
|
||||
// sinon on interroge LDAP
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter = "(objectClass=sambaGroupMapping)";
|
||||
$rdn = LDAP_BASE;
|
||||
$sr=ldap_search($ldapconn, $rdn, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
|
||||
$ret = array();
|
||||
for($i=0; $i<$info['count']; $i++) {
|
||||
|
||||
$entry = $info[$i];
|
||||
$cn = $entry['cn'][0];
|
||||
|
||||
if($type == "unix") {
|
||||
$ret[$cn] = $entry['gidnumber'][0];
|
||||
} elseif($type == "smb") {
|
||||
$tmp = explode('-', $entry['sambasid'][0]);
|
||||
$ret[$cn] = "-".array_pop($tmp);
|
||||
}
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifie qu'un login est incorrect
|
||||
* entre 2 et 30 caracteres
|
||||
* en lettres minuscule, chiffres, '-', '.' ou '_'
|
||||
* pour le premier et dernier caracteres : seuls lettres et minuscules
|
||||
* et chiffres sont possibles
|
||||
*/
|
||||
function badname($login)
|
||||
{
|
||||
return (!preg_match('/^([a-z0-9][a-z0-9\-\.\_]{0,28}[a-z0-9])$/',$login));
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajouter la composante @domaine
|
||||
*/
|
||||
function adddomain(&$item,$key)
|
||||
{
|
||||
if (preg_match('/@/',$item)) {
|
||||
print "<p class='error'>Ne pas inclure de @ dans les mails acceptes !</p>";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!empty($item)) {
|
||||
$item = "$item". "@".$_SESSION['domain'];
|
||||
}
|
||||
}
|
||||
|
||||
// renvoie la date d'expiration d'un compte
|
||||
function get_expiration_date($name) {
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(&(uid=" .$name. "))";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
$val = $info[0]["sambakickofftime"][0];
|
||||
if($val > 0) {
|
||||
return date('d/m/Y', $val);
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
// change la date d'expiration d'un compte
|
||||
function set_expiration_date($name, $date) {
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
list($day, $month, $year) = explode('/', $date);
|
||||
$timestamp = mktime(0, 0, 0, $month, $day, $year);
|
||||
$val = array('sambakickofftime' => $timestamp);
|
||||
if(!ldap_modify($ldapconn, "uid=$name,ou=people,".LDAP_BASE, $val)) {
|
||||
die('Echec de la modification de la date d\'expiration');
|
||||
}
|
||||
ldap_unbind($ldapconn);
|
||||
}
|
||||
|
||||
function account_is_locked($name) {
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(&(uid=" .$name. "))";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
ldap_unbind($ldapconn);
|
||||
$val = $info[0]["sambaacctflags"][0];
|
||||
if(strpos($val, 'L')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function account_lock($name, $lock_state) {
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(&(uid=" .$name. "))";
|
||||
$sr=ldap_search($ldapconn, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
$val = $info[0]["sambaacctflags"][0];
|
||||
if($lock_state == true) {
|
||||
if(!strpos($val, 'L')) {
|
||||
// ajouter le L
|
||||
$newval = substr_replace($val, 'L', 2, 0);
|
||||
}
|
||||
} else {
|
||||
if(strpos($val, 'L')) {
|
||||
// virer le L
|
||||
$newval = str_replace('L', '', $val);
|
||||
}
|
||||
}
|
||||
if($newval) {
|
||||
//print "$val -> $newval";
|
||||
$info = array('sambaacctflags' => $newval);
|
||||
if(!ldap_modify($ldapconn, "uid=$name,ou=people,".LDAP_BASE, $info)) {
|
||||
die('Echec de la modification du verrouillage');
|
||||
}
|
||||
}
|
||||
ldap_unbind($ldapconn);
|
||||
}
|
56
htdocs/vendor/evolibs/Auth.php
vendored
56
htdocs/vendor/evolibs/Auth.php
vendored
|
@ -1,56 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Copyright (c) 2004-2005 Evolix - Tous droits reserves
|
||||
* $Id: Auth.php,v 1.1 2009-09-02 16:22:45 gcolpart Exp $
|
||||
*
|
||||
* Fonctions utiles pour authentification
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class Auth
|
||||
{
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Verifie qu'un login est incorrect
|
||||
* entre 3 et 30 caractères
|
||||
* en lettres minuscule, chiffres, '-', '.' ou '_'
|
||||
* pour le premier et dernier caractères : seuls lettres et minuscules
|
||||
* et chiffres sont possibles
|
||||
*/
|
||||
|
||||
function badname($login)
|
||||
{
|
||||
return (!preg_match('/^([a-z0-9][a-z0-9\-\.\_]{1,28}[a-z0-9])$/',$login));
|
||||
}
|
||||
|
||||
/**
|
||||
* verifie qu'un mot de passe est incorrect
|
||||
* entre 5 et 12 caractères
|
||||
* caractères imprimables
|
||||
*/
|
||||
|
||||
function badpassword($pass)
|
||||
{
|
||||
return ( (strlen($pass) > 42) ||
|
||||
(strlen($pass) < 5) ||
|
||||
(!preg_match('/^([[:graph:]]*)$/',$pass)) );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* verifie qu'un FQDN semble correct
|
||||
*/
|
||||
|
||||
function badfqdn($domain)
|
||||
{
|
||||
return (!preg_match('/^([[:alnum:]\.\-]{2,70}.[[:alpha:]]{2,5})$/',$domain));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
56
htdocs/vendor/evolibs/EvoLog.php
vendored
56
htdocs/vendor/evolibs/EvoLog.php
vendored
|
@ -1,56 +0,0 @@
|
|||
<?php
|
||||
|
||||
|
||||
/*
|
||||
* gestion des Logs
|
||||
* inspire de Horde
|
||||
*/
|
||||
|
||||
|
||||
class EvoLog
|
||||
{
|
||||
|
||||
function log($message, $priority = PEAR_LOG_INFO)
|
||||
{
|
||||
|
||||
global $conf;
|
||||
|
||||
if (!$conf['log']['enabled'])
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$logger = Log::singleton('file', $conf['log']['name'] ,'evoadmin');
|
||||
$logger->log($message, $priority);
|
||||
}
|
||||
|
||||
function debug()
|
||||
{
|
||||
if (DEBUG > 2)
|
||||
{
|
||||
echo "<hr /><hr /> SESSION DEBUG : <br />";
|
||||
print_r($_SESSION);
|
||||
echo "<br />";
|
||||
echo 'session_name() : ' . session_name() . "<br>\n" ;
|
||||
echo 'session_id() : ' . session_id() . "<br>\n" ;
|
||||
echo 'session_cache_expire() : ' . session_cache_expire() . "<br>\n" ;
|
||||
echo 'session_cache_limiter() : ' . session_cache_limiter() . "<br>\n" ;
|
||||
echo 'session_get_cookie_params() : ';
|
||||
print_r(array_values(session_get_cookie_params()));
|
||||
echo "<br>\n";
|
||||
echo 'session_module_name() : ' . session_module_name() . "<br>\n" ;
|
||||
echo 'session_save_path() : ' . session_save_path() . "<br>\n" ;
|
||||
|
||||
echo "<hr /><hr /> POST DEBUG : <br />";
|
||||
print_r($_POST);
|
||||
echo "<hr /><hr /> GET DEBUG : <br />";
|
||||
print_r($_GET);
|
||||
echo "<hr /><hr />";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
101
htdocs/vendor/evolibs/Html.php
vendored
101
htdocs/vendor/evolibs/Html.php
vendored
|
@ -1,101 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Copyright (c) 2004-2006 Evolix - Tous droits reserves
|
||||
* $Id: Html.php,v 1.1.1.1 2006-11-03 14:56:45 reg Exp $
|
||||
*
|
||||
* Evolib HTML (PHP4)
|
||||
* Fonctions utiles pour utilisation avec champs FORM
|
||||
* Fonctions diverses sur manipulation de caractères
|
||||
*/
|
||||
|
||||
class Html
|
||||
{
|
||||
|
||||
/**
|
||||
* Nettoie un texte
|
||||
* Supprime toutes les balises HTML
|
||||
*/
|
||||
|
||||
function justclean($texte)
|
||||
{
|
||||
return strip_tags($texte);
|
||||
}
|
||||
|
||||
/**
|
||||
* Nettoie un texte
|
||||
* Supprime toutes les balises HTML
|
||||
* convertit en caracteres HTML
|
||||
* TODO : ENT_NOQUOTES ou ENT_QUOTES ??
|
||||
*/
|
||||
|
||||
function clean($texte)
|
||||
{
|
||||
return htmlentities(strip_tags($texte),ENT_NOQUOTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Nettoie un texte en permettant l'utilisation de liens A HREF
|
||||
* Supprime toutes les balises HTML
|
||||
* convertit en caracteres HTML
|
||||
* permet l'utilisation de liens [Evolixn=http://www.evolix.fr]
|
||||
* convertion automatique (inspire des liens SPIP, http://www.spip.net)
|
||||
*/
|
||||
|
||||
function clean2($texte)
|
||||
{
|
||||
$texte = htmlentities(strip_tags($texte),ENT_NOQUOTES);
|
||||
$texte = preg_replace('/\[([^"^=]+)=(http:\/\/[^"^[:space:]]+)\]/',
|
||||
|
||||
'<a href="\\2">\\1</a>',$texte);
|
||||
return addslashes($texte);
|
||||
}
|
||||
|
||||
/**
|
||||
* Nettoie une requete SQL
|
||||
* Ajoute des antislashes devant : guillements simples, doubles, antislashes
|
||||
* caractere NULL
|
||||
* Cette fonction n'agit que si la directive magic_quotes_gpc est sur Off
|
||||
*/
|
||||
|
||||
function sqlclean($texte)
|
||||
{
|
||||
return (get_magic_quotes_gpc()) ? $texte : addslashes($texte);
|
||||
}
|
||||
|
||||
|
||||
function purgeaccents($texte)
|
||||
{
|
||||
|
||||
// liste des caracteres accentuees
|
||||
$couple["é"] = "e"; $couple["è"] = "e"; $couple["ê"] = "e"; $couple["ë"] = "e";
|
||||
$couple["È"] = "e"; $couple["É"] = "e"; $couple["Ê"] = "e"; $couple["Ë"] = "e";
|
||||
$couple["à"] = "a"; $couple["ä"] = "a"; $couple["â"] = "a"; $couple["å"] = "a";
|
||||
$couple["á"] = "a"; $couple["ã"] = "a"; $couple["æ"] = "a";
|
||||
$couple["À"] = "a"; $couple["Á"] = "a"; $couple["Â"] = "a"; $couple["Ã"] = "a";
|
||||
$couple["Ä"] = "a"; $couple["Å"] = "a"; $couple["Æ"] = "a";
|
||||
$couple["ù"] = "u"; $couple["ü"] = "u"; $couple["û"] = "u"; $couple["ú"] = "u";
|
||||
$couple["ô"] = "o"; $couple["ö"] = "o"; $couple["ò"] = "o"; $couple["ó"] = "o"; $couple["õ"] = "o";
|
||||
$couple["î"] = "i"; $couple["ï"] = "i"; $couple["ì"] = "i"; $couple["í"] = "i";
|
||||
$couple["ç"] = "c"; $couple["Ç"] = "c";
|
||||
$couple["ÿ"] = "y"; $couple["ý"] = "y"; $couple["ñ"] = "n";
|
||||
|
||||
while(list($car,$val) = each($couple))
|
||||
{
|
||||
$texte = preg_replace("/".$car."/",$val,$texte);
|
||||
}
|
||||
|
||||
return $texte;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* renvoie un entier
|
||||
*/
|
||||
|
||||
function toint($var)
|
||||
{
|
||||
return number_format($var, 0, '', '');
|
||||
}
|
||||
}
|
||||
?>
|
189
htdocs/vendor/evolibs/Ldap.php
vendored
189
htdocs/vendor/evolibs/Ldap.php
vendored
|
@ -1,189 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Bibliotheques LDAP (PHP4 et PHP5)
|
||||
*
|
||||
* Copyright (c) 2004-2008 Evolix - Tous droits reserves
|
||||
* $Id: Ldap.php,v 1.2 2008-09-29 11:04:52 tmartin Exp $
|
||||
*
|
||||
* Fonctions utiles pour utilisation PHP et OpenLDAP
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class Ldap {
|
||||
|
||||
/**
|
||||
* Connexion a une base OpenLDAP
|
||||
* les constantes LDAP_URI devront etre definies
|
||||
* il convient de les definir dans un fichier connect.php
|
||||
*/
|
||||
|
||||
function lda_connect($binddn="none",$pass="") {
|
||||
|
||||
$ldapconn = @ldap_connect(LDAP_URI)
|
||||
or die( "Impossible de se connecter au serveur LDAP {$ldaphost}" );
|
||||
if (!ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
|
||||
echo 'Impossible de modifier la version du protocole à 3';
|
||||
}
|
||||
|
||||
if ($binddn != "none") {
|
||||
if (!ldap_bind($ldapconn, $binddn, $pass)) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return $ldapconn;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* suppression d'entrees OpenLDAP
|
||||
* recursivite possible
|
||||
*/
|
||||
|
||||
function lda_del($ldapconn, $dn , $recursive=FALSE) {
|
||||
if($recursive == FALSE) {
|
||||
return(ldap_delete($ldapconn, $dn));
|
||||
} else {
|
||||
$sr=ldap_list($ldapconn, $dn, "ObjectClass=*");
|
||||
$info = ldap_get_entries($ldapconn, $sr);
|
||||
|
||||
for($i=0;$i<$info['count'];$i++) {
|
||||
$result= lda_del($ldapconn, $info[$i]['dn'],$recursive);
|
||||
if(!$result) {
|
||||
return($result);
|
||||
}
|
||||
}
|
||||
return(ldap_delete($ldapconn, $dn));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getfreegid()
|
||||
* obtenir le plus petit GID disponible
|
||||
*/
|
||||
|
||||
function getfreegid() {
|
||||
$gid = exec("sudo /usr/share/scripts/script.sh -g");
|
||||
return $gid;
|
||||
}
|
||||
|
||||
/**
|
||||
* getfreeuid()
|
||||
* obtenir le plus petit UID disponible
|
||||
*/
|
||||
|
||||
function getfreeuid() {
|
||||
$gid = exec("sudo /usr/share/scripts/script.sh -u");
|
||||
return $gid;
|
||||
}
|
||||
|
||||
/**
|
||||
* getgid($group)
|
||||
* obtenir GID en fonction du nom du groupe
|
||||
*/
|
||||
|
||||
function getgid($group) {
|
||||
$ldapconngetgid = lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(cn=" .$group. ")";
|
||||
$sr=ldap_search($ldapconngetgid, "ou=group," .LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconngetgid, $sr);
|
||||
if ($info['count']) {
|
||||
return (int) $info[0]["gidnumber"][0];
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getgroup($login)
|
||||
* obtenir le nom du groupe en fonction du login
|
||||
* particulier au l'organisation du serveur JPS
|
||||
*/
|
||||
|
||||
function getgroup($login) {
|
||||
$ldapconngetgroup = lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(uid=" .$login. ")";
|
||||
$sr=ldap_search($ldapconngetgroup, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconngetgroup, $sr);
|
||||
if ($info['count']) {
|
||||
$result = $info[0]['dn'];
|
||||
list ($foo,$mydomain,$foo2) = explode(',',$result);
|
||||
list ($foo,$group) = explode('=',$mydomain);
|
||||
return $group;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
function is_uid($login) {
|
||||
$ldapconnisuid = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(uid=" .$login. ")";
|
||||
$sr=ldap_search($ldapconnisuid, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconnisuid, $sr);
|
||||
if (($info['count']) && ($info[0]['uid'][0] == $login )) {
|
||||
ldap_unbind($ldapconnisuid);
|
||||
return TRUE;
|
||||
} else {
|
||||
ldap_unbind($ldapconnisuid);
|
||||
$stack = array ("root","nobody","news","daemon","bin","sys","sync","postmaster","mailer-daemon",
|
||||
"games","man","lp","mail","uucp","proxy","www-data","backup","list","irc","gnats","abuse",
|
||||
"postfix","sshd","forquota","amavis","clamav","mysql","gcolpart","aanriot","log2mail");
|
||||
while (count($stack)) {
|
||||
$unixuid = array_shift($stack);
|
||||
if ( $login == $unixuid ) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function is_what($login,$what) {
|
||||
$ldapconnisuid = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
$filter="(" .$what. "=" .$login. ")";
|
||||
$sr=ldap_search($ldapconnisuid, LDAP_BASE, $filter);
|
||||
$info = ldap_get_entries($ldapconnisuid, $sr);
|
||||
if ($info['count']) {
|
||||
ldap_unbind($ldapconnisuid);
|
||||
return $info['count'];
|
||||
}
|
||||
else
|
||||
{
|
||||
ldap_unbind($ldapconnisuid);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
function sha($pass) {
|
||||
return base64_encode(pack("H*", sha1($pass)));
|
||||
}
|
||||
|
||||
// necessite php(4|5)-mhash
|
||||
function ssha($pass) {
|
||||
mt_srand((double)microtime()*1000000);
|
||||
$salt = mhash_keygen_s2k(MHASH_SHA1, $pass, substr(pack('h*', md5(mt_rand())), 0, 8), 4);
|
||||
return base64_encode(mhash(MHASH_SHA1, $pass.$salt).$salt);
|
||||
}
|
||||
|
||||
// necessite Crypt/CHAP -> http://gcolpart.evolix.net/debian/php-crypt-chap/
|
||||
// inspire de lib/Driver/smbldap.php (Horde Password)
|
||||
function sambalm($pass) {
|
||||
$hash = new Crypt_CHAP_MSv2();
|
||||
$hash->password = $pass;
|
||||
return strtoupper(bin2hex($hash->lmPasswordHash()));
|
||||
}
|
||||
|
||||
// necessite Crypt/CHAP -> http://gcolpart.evolix.net/debian/php-crypt-chap/
|
||||
// inspire de lib/Driver/smbldap.php (Horde Password)
|
||||
function sambant($pass) {
|
||||
$hash = new Crypt_CHAP_MSv2();
|
||||
$hash->password = $pass;
|
||||
return strtoupper(bin2hex($hash->ntPasswordHash()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
38
htdocs/vendor/evolibs/Math.php
vendored
38
htdocs/vendor/evolibs/Math.php
vendored
|
@ -1,38 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Copyright (c) 2004-2006 Evolix - Tous droits reserves
|
||||
* $Id: Math.php,v 1.1 2008-09-29 09:02:52 tmartin Exp $
|
||||
*
|
||||
* Fonctions mathematiques
|
||||
*/
|
||||
|
||||
|
||||
class Math
|
||||
{
|
||||
|
||||
function EvoFormat($param)
|
||||
{
|
||||
// Pour eviter -0.00
|
||||
if ( number_format($param, 2, '.', ' ') == -0.00 ) $param = 0.00;
|
||||
|
||||
return preg_replace('/x/',' ',number_format($param, 2, '.', 'x'));
|
||||
}
|
||||
|
||||
function LongCode($param)
|
||||
{
|
||||
return sprintf("%03s", $param);
|
||||
}
|
||||
|
||||
function LongId($param)
|
||||
{
|
||||
return sprintf("%08s", $param);
|
||||
}
|
||||
|
||||
function arrondi($num) {
|
||||
//return number_format($num, 0, ',', '.');
|
||||
return number_format($num, 0, '', '');
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in a new issue