Sindbad~EG File Manager

Current Path : /home/escuelai/public_html/biblioteca.escuelaintegral.edu.uy/admin/empr/
Upload File :
Current File : /home/escuelai/public_html/biblioteca.escuelaintegral.edu.uy/admin/empr/empr_exldap.inc.php

<?php
// +-------------------------------------------------+
// ? 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: empr_exldap.inc.php,v 1.13 2022/01/03 10:20:17 dgoron Exp $

if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");

global $class_path, $include_path, $msg, $action, $uu;

require_once("$include_path/ldap_param.inc.php");
require_once("$include_path/templates/ldap_users.tpl.php");
require_once ("$class_path/emprunteur.class.php");

function find_exldap_users() {
	global $charset, $ldap_encoding_utf8;
	$ret = "";
	$fields = explode(",", LDAP_FIELDS);
	$conn = ldap_connect(LDAP_SERVER, LDAP_PORT);
	ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, LDAP_PROTO);
	$b = ldap_bind($conn);

	$clause = "WHERE empr_ldap = 1";

	$req = "SELECT COUNT(1) FROM empr $clause ";
	$res = pmb_mysql_query($req);
	$nbr_lignes = pmb_mysql_result($res, 0, 0);
	if (!empty($nbr_lignes)) {
		$req = "SELECT * FROM empr $clause ORDER BY empr_cb, empr_prenom, empr_nom ";
		$res = pmb_mysql_query($req);
		while ($empr = pmb_mysql_fetch_object($res)) {
			$filter = "(uid=$empr->empr_cb)";
			//Gestion encodage
			if (!empty($ldap_encoding_utf8) && $charset != "utf-8") {
				$filter = utf8_encode($filter);
			} elseif (empty($ldap_encoding_utf8) && $charset == "utf-8") {
				$filter = utf8_decode($filter);
			}
			$r = ldap_search($conn, LDAP_BASEDN, $filter, $fields, 0, 0);
			$info = ldap_get_entries($conn, $r);
			# if empr n'existe pas dans ldap...
			$uid = $info[0]['uid'][0];
			if (!empty($ldap_encoding_utf8) && $charset != "utf-8") {
				$uid = utf8_decode($uid);
			} elseif (empty($ldap_encoding_utf8) && $charset == "utf-8") {
				$uid = utf8_encode($uid);
			}
			if (empty($uid)) {
				# cherche prĂȘts
				$req = "SELECT COUNT(1) FROM pret,empr WHERE pret.pret_idempr = $empr->id_empr";
				$rpr = pmb_mysql_query($req);
				$npr = pmb_mysql_result($rpr, 0, 0);
				# s'il n'y a pas des prĂȘts...
				if (empty($npr)) {
					$ret .= "$empr->id_empr|$empr->empr_cb|$empr->empr_nom|$empr->empr_prenom;";
				}
			}
		}
	}
	ldap_unbind($conn);
	$fp = fopen("./temp/exldap_users.txt", "w");
    fwrite($fp, $ret);
    fclose($fp);
	return $ret;
}

function show_exldap_users($uu,$pag,$npp) {
	global $msg;
	global $form_show_exldap_users;

	$auu=explode(';',$uu);
	$nuu=count($auu);
	if (!$npp) $npp=10;
	$npag = ceil($nuu/$npp);
	$nextp = $pag+1;
	$precp = $pag-1;
	
	$npp_ctrl="
	<input type='text' class='saisie-4emc' name='npp' value='$npp' />
	<input type='image' src='".get_url_icon('tick.gif')."' border='0' alt='$msg[708]' hspace='0' title='$msg[708]'  class='align_middle bouton-nav' name='btsubmit' value='=' />
	";

	if($precp > 0){
		$nav_barL = "<input type='image' src='".get_url_icon('left.gif')."' border='0' alt='$msg[48]' hspace='0' title='$msg[48]' class='align_middle bouton-nav' name='btsubmit' value='<' />";
	}else{
		$nav_barL = "<input  disabled type='image' src='".get_url_icon('left.gif')."' border='0' alt='$msg[48]' hspace='0' title='$msg[48]' class='align_middle bouton-nav' name='btsubmit' value='<' />";
	}

	$nav_barC = "$pag/$npag";

	if($nextp<=$npag) {
		$nav_barR .= "<input type='image' src='".get_url_icon('right.gif')."' border='0' alt='$msg[49]' hspace='0' title='$msg[48]'  class='align_middle bouton-nav' name='btsubmit' value='>' />";
	}else{
		$nav_barR = "<input disabled type='image' src='".get_url_icon('right.gif')."' border='0' alt='$msg[49]' hspace='0' title='$msg[48]'  class='align_middle bouton-nav' name='btsubmit' value='>' /> ";
	}


	if(!$pag) $pag=1;

	$iniz=($pag-1)*$npp;
	$fine=min($nuu,$iniz+$npp);
	$r=1;
	for ($k=$iniz;$k<$fine;$k++){
		$cc=explode('|',$auu[$k]);
		if ($cc[0]){
			$usr_entry="
				<td style='vertical-align:top'><input type='checkbox' id='id_to_del$r' name='usrdel[]' value='$cc[0]'/></td>
				<td style='vertical-align:top'>$cc[1]</td>
				<td style='vertical-align:top'>$cc[2]</td>
				<td style='vertical-align:top'>$cc[3]</td>";

			if ($k % 2) $pair_impair = "even"; else	$pair_impair = "odd";
		
			$tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"setCheckboxColumn('id_to_del$r')\" ";

			$usr_list .= "<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>
						<td style='vertical-align:top'>$usr_entry</td>
						</tr>";
			}

		$r++;
	}

//    $pag++;
	$hid_vars="
		<input type='hidden' name='pag' value='$pag' />
		<input type='hidden' name='uu' value='$uu'>";

	$form_show_exldap_users=str_replace('!!npp_ctrl!!',$npp_ctrl,$form_show_exldap_users);
	$form_show_exldap_users=str_replace('!!nav_barL!!',$nav_barL,$form_show_exldap_users);
	$form_show_exldap_users=str_replace('!!nav_barC!!',$nav_barC,$form_show_exldap_users);
	$form_show_exldap_users=str_replace('!!nav_barR!!',$nav_barR,$form_show_exldap_users);
	$form_show_exldap_users=str_replace('!!usr_list!!',$usr_list,$form_show_exldap_users);
	$form_show_exldap_users=str_replace('!!hid_vars!!',$hid_vars,$form_show_exldap_users);

	print $form_show_exldap_users;

}

function erase_exldap_users($uu){
	$auu=explode(';',$uu);
	$nuu=count($auu);
	$n=0;
	if($nuu) {
		foreach ($auu as $u){
			$cc=explode('|',$u);
			$id=$cc[0];
	      	$res=emprunteur::del_empr($id);
	      	if ($res) ++$n;
		}
	}
//	print "<h2> utenti exldap eliminati: $n su $nuu</h2>";
}

//------------------- main -------------------
$op=$_POST['btsubmit'];
switch($action)
{
	case 'exldapDEL':
		switch($op){
			case '=':
				//$pag=$_POST['pag'];
				$npp=$_POST['npp'];
				show_exldap_users($uu,1,$npp);
				break;
			case '<':
				$pag=max(1,$_POST['pag']-1);
				$npp=$_POST['npp'];
				show_exldap_users($uu,$pag,$npp);
				break;
			case '>':
				$pag=$_POST['pag']+1;
				show_exldap_users($uu,$pag,$npp);
				break;

			case $msg['exldap_elimina']:
				$uu=$_POST['uu'];
				erase_exldap_users($uu);
				$uu=find_exldap_users();
				$pag=1;
				$npp=10;
				show_exldap_users($uu,$pag,$npp);
				break;
				
			case $msg['exldap_conserva']:
				$xx=$_POST['usrdel'];
				$uu=$_POST['uu'];
				$pag=$_POST['pag'];
				$npp=$_POST['npp'];
				foreach ($xx as $x){
					$u="/$x"."[^;]+;/";
					$uu=preg_replace($u,'',$uu,1);
				}
				show_exldap_users($uu,$pag,$npp);
				break;
			case $msg['exldap_normale']:
				$xx=$_POST['usrdel'];
				$uu=$_POST['uu'];
				$pag=$_POST['pag'];
				$npp=$_POST['npp'];
				foreach ($xx as $x){
					$u="/$x"."[^;]+;/";
					$uu=preg_replace($u,'',$uu,1);
					$req = "UPDATE empr SET empr_ldap=0 WHERE id_empr=$x";
					pmb_mysql_query($req);
				}
				show_exldap_users($uu,$pag,$npp);
				break;		
			default:
					$pag=$_POST['pag'];
					$npp=$_POST['npp'];
					if (!$pag) $pag=1;
					show_exldap_users($uu,$pag,$npp);
				break;
		}
		break;

	default:
		$uu=find_exldap_users();
		$pag=$_POST['pag'];
		$npp=$_POST['npp'];
		if (!$pag) $pag=1;
		show_exldap_users($uu,$pag,$npp);
		break;
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists