protected static function archive_user_competencies_in_plan($plan) {

        // Check if the plan was already completed.
        if ($plan->get('status') == plan::STATUS_COMPLETE) {
            throw new coding_exception('The plan is already completed.');
        }

        $competencies = $plan->get_competencies();
        $usercompetencies = user_competency::get_multiple($plan->get('userid'), $competencies);

        $i = 0;
        foreach ($competencies as $competency) {
            $found = false;

            foreach ($usercompetencies as $uckey => $uc) {
                if ($uc->get('competencyid') == $competency->get('id')) {
                    $found = true;

                    $ucprecord = $uc->to_record();
                    $ucprecord->planid = $plan->get('id');
                    $ucprecord->sortorder = $i;
                    unset($ucprecord->id);
                    unset($ucprecord->status);
                    unset($ucprecord->reviewerid);

                    $usercompetencyplan = new user_competency_plan(0, $ucprecord);
                    $usercompetencyplan->create();

                    unset($usercompetencies[$uckey]);
                    break;
                }
            }

            // If the user competency doesn't exist, we create a new relation in user_competency_plan.
            if (!$found) {
                $usercompetencyplan = user_competency_plan::create_relation($plan->get('userid'), $competency->get('id'),
                        $plan->get('id'));
                $usercompetencyplan->set('sortorder', $i);
                $usercompetencyplan->create();
            }
            $i++;
        }
    }
protected static function archive_user_competencies_in_plan($plan) {

        // Check if the plan was already completed.
        if ($plan->get('status') == plan::STATUS_COMPLETE) {
            throw new coding_exception('The plan is already completed.');
        }

        $competencies = $plan->get_competencies();
        $usercompetencies = user_competency::get_multiple($plan->get('userid'), $competencies);

        $i = 0;
        foreach ($competencies as $competency) {
            $found = false;

            foreach ($usercompetencies as $uckey => $uc) {
                if ($uc->get('competencyid') == $competency->get('id')) {
                    $found = true;

                    $ucprecord = $uc->to_record();
                    $ucprecord->planid = $plan->get('id');
                    $ucprecord->sortorder = $i;
                    unset($ucprecord->id);
                    unset($ucprecord->status);
                    unset($ucprecord->reviewerid);

                    $usercompetencyplan = new user_competency_plan(0, $ucprecord);
                    $usercompetencyplan->create();

                    unset($usercompetencies[$uckey]);
                    break;
                }
            }

            // If the user competency doesn't exist, we create a new relation in user_competency_plan.
            if (!$found) {
                $usercompetencyplan = user_competency_plan::create_relation($plan->get('userid'), $competency->get('id'),
                        $plan->get('id'));
                $usercompetencyplan->set('sortorder', $i);
                $usercompetencyplan->create();
            }
            $i++;
        }
    }
protected static function archive_user_competencies_in_plan ( $ plan ) { // Check if the plan was already completed. if ( $ plan -> get ( 'status' ) == plan :: STATUS_COMPLETE ) { throw new coding_exception ( 'The plan is already completed.' ) ; } $ competencies = $ plan -> get_competencies ( ) ; $ usercompetencies = user_competency :: get_multiple ( $ plan -> get ( 'userid' ) , $ competencies ) ; $ i = 0 ; foreach ( $ competencies as $ competency ) { $ found = false ; foreach ( $ usercompetencies as $ uckey => $ uc ) { if ( $ uc -> get ( 'competencyid' ) == $ competency -> get ( 'id' ) ) { $ found = true ; $ ucprecord = $ uc -> to_record ( ) ; $ ucprecord -> planid = $ plan -> get ( 'id' ) ; $ ucprecord -> sortorder = $ i ; unset ( $ ucprecord -> id ) ; unset ( $ ucprecord -> status ) ; unset ( $ ucprecord -> reviewerid ) ; $ usercompetencyplan = new user_competency_plan ( 0 , $ ucprecord ) ; $ usercompetencyplan -> create ( ) ; unset ( $ usercompetencies [ $ uckey ] ) ; break ; } } // If the user competency doesn't exist, we create a new relation in user_competency_plan. if ( ! $ found ) { $ usercompetencyplan = user_competency_plan :: create_relation ( $ plan -> get ( 'userid' ) , $ competency -> get ( 'id' ) , $ plan -> get ( 'id' ) ) ; $ usercompetencyplan -> set ( 'sortorder' , $ i ) ; $ usercompetencyplan -> create ( ) ; } $ i ++ ; } }
Archive user competencies in a plan.

@param int $plan The plan object.
@return void
Archive user competencies in a plan .