<commit_before><?php
/**
* @package    Iconito
* @subpackage Gestionautonome
* @author     <NAME>
*/
class ZonePersonsData extends CopixZone {

	function _createContent (& $toReturn) {
	  
	  $ppo = new CopixPPO ();                               
	  
	  // Récupération des paramètres
	  $id        = $this->getParam ('node_id');
	  $ppo->type = $this->getParam ('node_type');
	  $ppo->tab  = ($this->getParam('tab')) ? $this->getParam('tab') : 0;                                 
    
    // Récupération de l'utilisateur connecté
	  $ppo->user = _currentUser ();
	  
	  if (!is_null($ppo->type) && !is_null($id)) {
                                
      $ppo->parent = Kernel::getNodeInfo ($ppo->type, $id);
      
	    $personnelDAO = _ioDAO ('kernel|kernel_bu_personnel');
	    switch ($ppo->type) {
	      
	      case 'BU_GRVILLE':
	        $ppo->persons = $personnelDAO->findCitiesAgentsByCitiesGroupId ($id);
	        break;
	      case 'BU_VILLE':
  	      $ppo->persons = $personnelDAO->findCityAgentsByCityId ($id);
  	      break;
  	    case 'BU_ECOLE':
  	      $personEntityDAO = _ioDAO ('kernel|kernel_bu_personnel_entite');
  	      $classroomDAO = _ioDAO ('kernel|kernel_bu_ecole_classe');
  	      $classnames = array();
  	      
    	    $ppo->persons = $personnelDAO->findAdministrationStaffAndPrincipalBySchoolId ($id);
    	    
    	    foreach ($ppo->persons as $person) {
    	      
    	      // Pour les enseignants, on récupère leurs affectations pour déterminer s'il est possible de les désaffecter de l'école
    	      if ($person->role == DAOKernel_bu_personnel_entite::ROLE_TEACHER
    	        && $personEntityDAO->hasTeacherRoleInSchool ($person->numero, $id, true)) {
    	        
    	        $person->hasTeacherRoleInSchool = true;
    	        
    	        // Récupération du nom des classes ou il est affecté
    	        $personEntities = $personEntityDAO->getTeacherRoleInSchool ($person->numero, $id, true);
    	        foreach ($personEntities as $personEntity) {
    	          
            	  $class = $classroomDAO->get ($personEntity->pers_entite_reference);
            	  $classnames[] = $class->nom;
    	        }
    	        
    	        $person->classrooms = implode(', ', $classnames);
    	      }
    	      else {
    	        
    	        $person->hasTeacherRoleInSchool = false;
    	      }
    	    }
    	    
    	    break;
    	  case 'BU_CLASSE':
    	    // Récupération des enseignants
    	    $ppo->persons = $personnelDAO->findTeachersByClassroomId ($id);
    	    
    	    // Récupération des élèves
    	    $studentDAO = _ioDAO ('kernel|kernel_bu_ele');
    	    $ppo->students = $studentDAO->getStudentsByClass ($id);
    	    
    	    // Récupération des parents
    	    $responsableDAO = _ioDAO ('kernel|kernel_bu_res');
    	    $ppo->responsables =$responsableDAO->getParentsInClasse($id);

    	    break;<commit_msg>Gestion des usagers - Correction des classes par enseignants qui n'étaient pas remises à 0<commit_after><?php
/**
* @package    Iconito
* @subpackage Gestionautonome
* @author     <NAME>
*/
class ZonePersonsData extends CopixZone {

	function _createContent (& $toReturn) {
	  
	  $ppo = new CopixPPO ();                               
	  
	  // Récupération des paramètres
	  $id        = $this->getParam ('node_id');
	  $ppo->type = $this->getParam ('node_type');
	  $ppo->tab  = ($this->getParam('tab')) ? $this->getParam('tab') : 0;                                 
    
    // Récupération de l'utilisateur connecté
	  $ppo->user = _currentUser ();
	  
	  if (!is_null($ppo->type) && !is_null($id)) {
                                
      $ppo->parent = Kernel::getNodeInfo ($ppo->type, $id);
      
	    $personnelDAO = _ioDAO ('kernel|kernel_bu_personnel');
	    switch ($ppo->type) {
	      
	      case 'BU_GRVILLE':
	        $ppo->persons = $personnelDAO->findCitiesAgentsByCitiesGroupId ($id);
	        break;
	      case 'BU_VILLE':
  	      $ppo->persons = $personnelDAO->findCityAgentsByCityId ($id);
  	      break;
  	    case 'BU_ECOLE':
  	      $personEntityDAO = _ioDAO ('kernel|kernel_bu_personnel_entite');
  	      $classroomDAO = _ioDAO ('kernel|kernel_bu_ecole_classe');
  	      $classnames = array();
  	      
    	    $ppo->persons = $personnelDAO->findAdministrationStaffAndPrincipalBySchoolId ($id);
    	    
    	    foreach ($ppo->persons as $person) {
    	      
    	      // Pour les enseignants, on récupère leurs affectations pour déterminer s'il est possible de les désaffecter de l'école
    	      if ($person->role == DAOKernel_bu_personnel_entite::ROLE_TEACHER
    	        && $personEntityDAO->hasTeacherRoleInSchool ($person->numero, $id, true)) {
    	        
    	        $person->hasTeacherRoleInSchool = true;
    	        
    	        // Récupération du nom des classes ou il est affecté
    	        $classnames = array();
				$personEntities = $personEntityDAO->getTeacherRoleInSchool ($person->numero, $id, true);
    	        foreach ($personEntities as $personEntity) {
    	          
            	  $class = $classroomDAO->get ($personEntity->pers_entite_reference);
            	  $classnames[] = $class->nom;
    	        }
    	        
    	        $person->classrooms = implode(', ', $classnames);
    	      }
    	      else {
    	        
    	        $person->hasTeacherRoleInSchool = false;
    	      }
    	    }
    	    
    	    break;
    	  case 'BU_CLASSE':
    	    // Récupération des enseignants
    	    $ppo->persons = $personnelDAO->findTeachersByClassroomId ($id);
    	    
    	    // Récupération des élèves
    	    $studentDAO = _ioDAO ('kernel|kernel_bu_ele');
    	    $ppo->students = $studentDAO->getStudentsByClass ($id);
    	    
    	    // Récupération des parents
    	    $responsableDAO = _ioDAO ('kernel|kernel_bu_res');
    	    $ppo->responsables =$responsableDAO->getParentsInClasse($id);

    	    break;
{'fraction_non_alphanumeric': 0.12137069547602972, 'fraction_numerical': 0.0005064145847400405, 'mean_word_length': 1.975891511803114, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 75, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1092464', 'n_tokens_mistral': 2022, 'n_tokens_neox': 1954, 'n_words': 332}