PageRenderTime 58ms CodeModel.GetById 34ms RepoModel.GetById 0ms app.codeStats 0ms

/corregir_usuarios_canaima.php

https://bitbucket.org/phenobarbital/php-ldap
PHP | 43 lines | 26 code | 4 blank | 13 comment | 2 complexity | 9aa08a71b1a9bb9c4e4825f81dd935e0 MD5 | raw file
  1. #!/usr/bin/php
  2. <?php
  3. include "conf/base.inc.php";
  4. include BASE_DIR . "conf/include_ldap.inc.php";
  5. #carga del objeto ldap
  6. #base de inserciĆ³n y busqueda en canaima:
  7. $basecanaima = 'ou=gente,ou=plataforma,o=canaima';
  8. $canaima = ldap::load('canaima');
  9. #cargar los schemas de mppef (para razones de creacion y validacion de entradas)
  10. #objeto unico dentro de todo el arbol LDAP
  11. ldap_schema::setAdapter($canaima);
  12. #construyo el arbol:
  13. ldap_schema::build();
  14. //#creo mi archivo de log de usuarios malos:
  15. //$file = new file();
  16. //$file->filename('canaimabad.ldif');
  17. //$file->open();
  18. if ($canaima->open()) {
  19. #filtro de busqueda:
  20. $filter = "(&(objectClass=tracUser)(tracperm=WIKI_VIEW)(uid=*))";
  21. #primero, verificamos las unidades de Canaima
  22. $entries = $canaima->query($filter, $basecanaima, 'sub');
  23. $i = 0;
  24. foreach($entries as $entry) {
  25. $entry->baseAttribute('uid');
  26. $entry->setRDN('');
  27. $entry->tracperm = 'none';
  28. $entry->employeeType = 'usuario';
  29. #actualizar:
  30. if (!$entry->save()) {
  31. print_r($entry->dn());
  32. $i++;
  33. }
  34. }
  35. echo 'Se importaron ' . $entries->count() . " usuarios.\n";
  36. echo "Hubo {$i} errores de modificacion; revisar log\n";
  37. $canaima->close();
  38. }
  39. ?>