Пример #1
0
 private static function register_notation(Notation $notation)
 {
     if (self::$user->check_level(User::MEMBER_LEVEL)) {
         $note_is_valid = $notation->get_note() >= 0 && $notation->get_note() <= $notation->get_notation_scale() ? true : false;
         $member_already_notation = self::$db_querier->count(DB_TABLE_NOTE, 'WHERE user_id=:user_id AND module_name=:module_name AND id_in_module=:id_in_module', array('module_name' => $notation->get_module_name(), 'id_in_module' => $notation->get_id_in_module(), 'user_id' => $notation->get_user_id()));
         if (!$member_already_notation && $note_is_valid) {
             self::$db_querier->insert(DB_TABLE_NOTE, array('module_name' => $notation->get_module_name(), 'id_in_module' => $notation->get_id_in_module(), 'user_id' => $notation->get_user_id(), 'note' => $notation->get_note()));
             $condition = 'WHERE module_name=:module_name AND id_in_module=:id_in_module';
             $parameters = array('module_name' => $notation->get_module_name(), 'id_in_module' => $notation->get_id_in_module());
             $nbr_notes = self::$db_querier->count(DB_TABLE_AVERAGE_NOTES, $condition, $parameters);
             if ($nbr_notes == 0) {
                 self::$db_querier->insert(DB_TABLE_AVERAGE_NOTES, array('module_name' => $notation->get_module_name(), 'id_in_module' => $notation->get_id_in_module(), 'average_notes' => self::calculates_average_notes($notation), 'number_notes' => 1));
             } else {
                 self::$db_querier->update(DB_TABLE_AVERAGE_NOTES, array('average_notes' => self::calculates_average_notes($notation), 'number_notes' => self::get_number_notes($notation) + 1), $condition, $parameters);
             }
         }
     } else {
         DispatchManager::redirect(PHPBoostErrors::user_not_authorized());
     }
 }