@ -5,6 +5,9 @@ use Doctrine\ORM\EntityManager; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\CoreBundle\Entity\ExtraField;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\CoreBundle\Entity\ExtraFieldOptions;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\CoreBundle\Entity\ExtraFieldValues;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\TicketBundle\Entity\Project as TicketProject;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\TicketBundle\Entity\Category as TicketCategory;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					use Chamilo\TicketBundle\Entity\Priority as TicketPriority;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 * Chamilo LMS  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -2734,7 +2737,100 @@ function finishInstallation( 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $sysPath = !empty($sysPath) ? $sysPath : api_get_path(SYS_PATH);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Inserting data  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $connection = $manager->getConnection();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Add version table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $connection->executeQuery('CREATE TABLE IF NOT EXISTS version (id int unsigned NOT NULL AUTO_INCREMENT, version varchar(20), PRIMARY KEY(id), UNIQUE(version))');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Add tickets defaults  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $ticketProject = new TicketProject();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $ticketProject  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ->setId(1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ->setName('Ticket System')  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ->setInsertUserId(1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $manager->persist($ticketProject);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $manager->flush();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $categories = array(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketEnrollment') => get_lang('TicketsAboutEnrollment'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketGeneralInformation') => get_lang('TicketsAboutGeneralInformation'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketRequestAndPapework') => get_lang('TicketsAboutRequestAndPapework'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketAcademicIncidence') => get_lang('TicketsAboutAcademicIncidence'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketVirtualCampus') => get_lang('TicketsAboutVirtualCampus'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        get_lang('TicketOnlineEvaluation') => get_lang('TicketsAboutOnlineEvaluation')  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $i = 1;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @var string $category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @var string $description  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    foreach ($categories as $category => $description) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // Online evaluation requires a course  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ticketCategory = new TicketCategory();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ticketCategory  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setId($i)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setName($category)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setDescription($description)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setProject($ticketProject)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setInsertUserId(1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $isRequired = $i == 6;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ticketCategory->setCourseRequired($isRequired);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $manager->persist($ticketCategory);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $manager->flush();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $i++;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Default Priorities  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $defaultPriorities = array(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::PRIORITY_NORMAL => get_lang('PriorityNormal'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::PRIORITY_HIGH => get_lang('PriorityHigh'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::PRIORITY_LOW => get_lang('PriorityLow')  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $table = Database::get_main_table(TABLE_TICKET_PRIORITY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $i = 1;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    foreach ($defaultPriorities as $code => $priority) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ticketPriority = new TicketPriority();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ticketPriority  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setId($i)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setName($priority)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setCode($code)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ->setInsertUserId(1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $manager->persist($ticketPriority);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $manager->flush();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $i++;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $table = Database::get_main_table(TABLE_TICKET_STATUS);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Default status  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $defaultStatus = array(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::STATUS_NEW => get_lang('StatusNew'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::STATUS_PENDING => get_lang('StatusPending'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::STATUS_UNCONFIRMED => get_lang('StatusUnconfirmed'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::STATUS_CLOSE => get_lang('StatusClose'),  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TicketManager::STATUS_FORWARDED => get_lang('StatusForwarded')  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $i = 1;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    foreach ($defaultStatus as $code => $status) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $attributes = array(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            'id' => $i,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            'code' => $code,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            'name' => $status  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        Database::insert($table, $attributes);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $i++;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Inserting data.sql  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $data = file_get_contents($sysPath.'main/install/data.sql');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $result = $manager->getConnection()->prepare($data);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    $result->execute();