Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 654 Rev 655
Línea 631... Línea 631...
631
        return $this->insert($userProgress);
631
        return $this->insert($userProgress);
632
    }
632
    }
Línea 633... Línea 633...
633
 
633
 
634
    public function hasViewedAllSlidesInCapsule($user_id, $capsule_id)
634
    public function hasViewedAllSlidesInCapsule($user_id, $capsule_id)
-
 
635
    {
635
    {
636
        // Get total number of slides in capsule
-
 
637
        $select = $this->sql->select('microlearning_slide');
636
        $slideMapper = MicrolearningSlideMapper::getInstance($this->adapter);
638
        $select->columns(['total' => new \Laminas\Db\Sql\Expression('COUNT(*)')]);
Línea 637... Línea 639...
637
        $allSlides = $slideMapper->fetchAllByCapsuleId($capsule_id);
639
        $select->where->equalTo('capsule_id', $capsule_id);
638
        
640
        
639
        if (!$allSlides) {
-
 
Línea 640... Línea -...
640
            return false;
-
 
641
        }
641
        $result = $this->executeFetchOneArray($select);
642
        
642
        $totalSlides = intval($result['total']);
643
        $totalSlides = count($allSlides);
643
        
Línea -... Línea 644...
-
 
644
        if ($totalSlides === 0) {
644
        if ($totalSlides === 0) {
645
            return false;
645
            return false;
646
        }
646
        }
647
 
647
 
648
        // Get number of completed slides for this user and capsule
648
        $select = $this->sql->select(self::_TABLE);
649
        $select = $this->sql->select(self::_TABLE);
649
        $select->columns(['total' => new Expression('COUNT(*)')]);
650
        $select->columns(['total' => new \Laminas\Db\Sql\Expression('COUNT(*)')]);
Línea 650... Línea 651...
650
        $select->where->equalTo('user_id', $user_id);
651
        $select->where->equalTo('user_id', $user_id);
651
        $select->where->equalTo('capsule_id', $capsule_id);
652
        $select->where->equalTo('capsule_id', $capsule_id);
652
        $select->where->equalTo('type', MicrolearningUserProgress::TYPE_SLIDE);
-
 
653
        $select->where->equalTo('completed', 1);
-
 
654
 
653
        $select->where->equalTo('type', MicrolearningUserProgress::TYPE_SLIDE);
655
        $record = $this->executeFetchOneArray($select);
-
 
656
        if (!$record || !isset($record['total'])) {
654
        $select->where->equalTo('completed', 1);
657
            return false;
655
 
Línea 658... Línea 656...
658
        }
656
        $result = $this->executeFetchOneArray($select);
659
        
657
        $completedSlides = intval($result['total']);
660
        $viewedSlides = (int)$record['total'];
658