Proyectos de Subversion LeadersLinked - Services

Rev

Rev 227 | Rev 230 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 227 Rev 229
Línea 30... Línea 30...
30
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserInstitutionMapper;
30
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserInstitutionMapper;
31
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserPartnerMapper;
31
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserPartnerMapper;
32
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserProgramMapper;
32
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserProgramMapper;
33
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserStudentTypeMapper;
33
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserStudentTypeMapper;
34
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserSectorMapper;
34
use LeadersLinked\Mapper\CompanyMicrolearningExtendUserSectorMapper;
-
 
35
use LeadersLinked\Mapper\CompanyMicrolearningQuizMapper;
-
 
36
use LeadersLinked\Mapper\CompanyMicrolearningQuestionMapper;
-
 
37
use LeadersLinked\Mapper\CompanyMicrolearningAnswerMapper;
Línea 35... Línea 38...
35
 
38
 
36
 
39
 
37
class MicrolearningUserAccessGrantedIds
40
class MicrolearningUserAccessGrantedIds
Línea 1516... Línea 1519...
1516
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
1519
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
1517
            ]);
1520
            ]);
1518
        }
1521
        }
1519
    }
1522
    }
Línea -... Línea 1523...
-
 
1523
    
-
 
1524
    private function getQuiz($id) 
-
 
1525
    {
-
 
1526
        $serviceDatetimeFormat = $this->config['leaderslinked.services.datetime'];
-
 
1527
        
-
 
1528
        $data = [];
-
 
1529
        
-
 
1530
        $quizMapper = CompanyMicrolearningQuizMapper::getInstance($this->adapter);
-
 
1531
        $quiz = $quizMapper->fetchOne($id);
-
 
1532
        
-
 
1533
        if(!$quiz) {
-
 
1534
            return [];
-
 
1535
        }
-
 
1536
        
-
 
1537
        $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
1538
        $company = $companyMapper->fetchOne($quiz->company_id);
-
 
1539
        
-
 
1540
        $questionMapper = CompanyMicrolearningQuestionMapper::getInstance($this->adapter);
-
 
1541
        $answerMapper = CompanyMicrolearningAnswerMapper::getInstance($this->adapter);
-
 
1542
        
-
 
1543
        $record_questions = [];
-
 
1544
        $questions = $questionMapper->fetchAllByQuizId($quiz->id);
-
 
1545
        foreach($questions as $question)
-
 
1546
        {
-
 
1547
            $record_answers = [];
-
 
1548
                
-
 
1549
            $answers = $answerMapper->fetchAllByQuizIdAndQuestionId($question->quiz_id, $question->id);
-
 
1550
            foreach($answers as $answer)
-
 
1551
            {
-
 
1552
                $dtAddedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $answer->added_on);
-
 
1553
                $dtUpdatedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $answer->updated_on);
-
 
1554
                    
-
 
1555
                array_push($record_answers, [
-
 
1556
                    'uuid' => $answer->uuid,
-
 
1557
                    'text' => trim($answer->text),
-
 
1558
                    'correct' => $answer->correct ? $answer->correct  : 0 ,
-
 
1559
                    'points' => strval(intval($answer->points, 10)),
-
 
1560
                    'added_on'  => $dtAddedOn->format($serviceDatetimeFormat),
-
 
1561
                    'updated_on'    => $dtUpdatedOn->format($serviceDatetimeFormat),
-
 
1562
                ]);
-
 
1563
            }
-
 
1564
                
-
 
1565
            $dtAddedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $question->added_on);
-
 
1566
            $dtUpdatedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $question->updated_on);
-
 
1567
                
-
 
1568
            array_push($record_questions, [
-
 
1569
                'uuid'          => $question->uuid,
-
 
1570
                'text'          => trim($question->text),
-
 
1571
                'type'          => $question->type,
-
 
1572
                'maxlength'     => strval($question->maxlength),
-
 
1573
                'points'        => strval($question->points),
-
 
1574
                'answers'       => $record_answers,
-
 
1575
                'added_on'      => $dtAddedOn->format($serviceDatetimeFormat),
-
 
1576
                'updated_on'    => $dtUpdatedOn->format($serviceDatetimeFormat),
-
 
1577
            ]);
-
 
1578
        }
-
 
1579
            
-
 
1580
        $dtAddedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $quiz->added_on);
-
 
1581
        $dtUpdatedOn = \DateTime::createFromFormat('Y-m-d H:i:s', $quiz->updated_on);
-
 
1582
            
-
 
1583
        array_push($data, [
-
 
1584
            'uuid' => $quiz->uuid,
-
 
1585
            'name' => $quiz->name,
-
 
1586
            'text' => trim($quiz->text ? $quiz->text : ''),
-
 
1587
            'failed' => trim($quiz->failed ? $quiz->failed : ''),
-
 
1588
            'points' => strval($quiz->points),
-
 
1589
            'minimum_points_required' => strval($quiz->minimum_points_required),
-
 
1590
            'max_time' => $quiz->max_time ? $quiz->max_time : 5,
-
 
1591
            'company_uuid' => $company->uuid,
-
 
1592
            'company_name' => $company->name,
-
 
1593
            'company_image' => $this->url()->fromRoute('services/storage',['type' => 'company', 'code' => $company->uuid, 'filename' => $company->image], ['force_canonical' => true]),
-
 
1594
            'questions'     => $record_questions,
-
 
1595
            'added_on'      => $dtAddedOn->format($serviceDatetimeFormat),
-
 
1596
            'updated_on'    => $dtUpdatedOn->format($serviceDatetimeFormat),
-
 
1597
        ]);
-
 
1598
     
-
 
1599
        return $data;
-
 
1600
        
-
 
1601
    }
Línea 1520... Línea 1602...
1520
    
1602
    
1521
    
1603
    
1522
    public function getSlideAction()
1604
    public function getSlideAction()
1523
    {
1605
    {
Línea 1573... Línea 1655...
1573
            }
1655
            }
Línea 1574... Línea 1656...
1574
                
1656
                
1575
                
1657
                
-
 
1658
                
1576
                
1659
            $data =[
1577
            $data =[
1660
                'quiz'          => $slide->quiz_id,
1578
                'quiz'          => '',
1661
                'quiz_data'     => $slide->quiz_id ? $this->getQuiz($slide->quiz_id) : [],
1579
                'uuid'          => $slide->uuid,
1662
                'uuid'          => $slide->uuid,
1580
                'name'          => $slide->name ? $slide->name : '',
1663
                'name'          => $slide->name ? $slide->name : '',