/** * Insert this link into the database */ public function add() { $this->add_linked_data(); if (isset($this->type) && isset($this->ref_id) && isset($this->user_id) && isset($this->course_code) && isset($this->category) && isset($this->weight) && isset($this->visible)) { $tbl_grade_links = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK); $sql = "SELECT count(*) FROM " . $tbl_grade_links . "\n WHERE\n ref_id=" . $this->get_ref_id() . " AND\n category_id = " . $this->category->get_id() . " AND\n course_code = '" . $this->course_code . "' AND\n type = " . $this->type . " "; $result = Database::query($sql); $row_testing = Database::fetch_array($result); if ($row_testing[0] == 0) { $params = ['type' => $this->get_type(), 'ref_id' => $this->get_ref_id(), 'user_id' => $this->get_user_id(), 'course_code' => $this->get_course_code(), 'category_id' => $this->get_category_id(), 'weight' => $this->get_weight(), 'visible' => $this->is_visible(), 'created_at' => api_get_utc_datetime(), 'locked' => 0]; $inserted_id = Database::insert($tbl_grade_links, $params); $this->set_id($inserted_id); return $inserted_id; } } return false; }
/** * Insert this link into the database */ public function add() { $this->add_linked_data(); if (isset($this->type) && isset($this->ref_id) && isset($this->user_id) && isset($this->course_code) && isset($this->category) && isset($this->weight) && isset($this->visible)) { $em = Database::getManager(); $row_testing = $em->createQuery(' SELECT COUNT(gl) FROM ChamiloCoreBundle:GradebookLink gl WHERE gl.refId = :reference AND gl.categoryId = :category AND gl.course = :course AND gl.type = :type ')->setParameters(['reference' => $this->get_ref_id(), 'category' => $this->category->get_id(), 'course' => $this->course_id, 'type' => $this->type])->getSingleScalarResult(); if ($row_testing == 0) { $createdAt = new DateTime(api_get_utc_datetime(), new DateTimeZone('UTC')); $course = $em->find('ChamiloCoreBundle:Course', $this->course_id); $gradebookLink = new \Chamilo\CoreBundle\Entity\GradebookLink(); $gradebookLink->setType($this->get_type())->setRefId($this->get_ref_id())->setUserId($this->get_user_id())->setCourse($course)->setCategoryId($this->get_category_id())->setWeight($this->get_weight())->setVisible($this->is_visible())->setCreatedAt($createdAt)->setLocked(0); $em->persist($gradebookLink); $em->flush(); $inserted_id = $gradebookLink->getId(); $this->set_id($inserted_id); return $inserted_id; } } return false; }
protected function get_delete_category_url(Category $category) { return ArticlesUrlBuilder::delete_category($category->get_id()); }
/** * @return int */ public function get_category_id() { return $this->category->get_id(); }
protected function get_category_url(Category $category) { return MediaUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name()); }
/** * @param Category $catobj * @param $is_course_admin * @param $is_platform_admin * @param $simple_search_form * @param bool $show_add_qualification * @param bool $show_add_link */ public function display_reduce_header_gradebook($catobj, $is_course_admin, $is_platform_admin, $simple_search_form, $show_add_qualification = true, $show_add_link = true) { //student if (!$is_course_admin) { $user = api_get_user_info(api_get_user_id()); $catcourse = Category::load($catobj->get_id()); $scoredisplay = ScoreDisplay::instance(); $scorecourse = $catcourse[0]->calc_score(api_get_user_id()); $scorecourse_display = isset($scorecourse) ? $scoredisplay->display_score($scorecourse, SCORE_AVERAGE) : get_lang('NoResultsAvailable'); $cattotal = Category::load(0); $scoretotal = $cattotal[0]->calc_score(api_get_user_id()); $scoretotal_display = isset($scoretotal) ? $scoredisplay->display_score($scoretotal, SCORE_PERCENT) : get_lang('NoResultsAvailable'); $scoreinfo = get_lang('StatsStudent') . ' :<b> ' . $user['complete_name'] . '</b><br />'; if (!$catobj->get_id() == '0' && !isset($_GET['studentoverview']) && !isset($_GET['search'])) { $scoreinfo .= '<br />' . get_lang('TotalForThisCategory') . ' : <b>' . $scorecourse_display . '</b>'; } $scoreinfo .= '<br />' . get_lang('Total') . ' : <b>' . $scoretotal_display . '</b>'; Display::display_normal_message($scoreinfo, false); } // show navigation tree and buttons? $header = '<div class="actions">'; if ($is_course_admin) { $header .= '<a href="gradebook_flatview.php?' . api_get_cidreq() . '&selectcat=' . $catobj->get_id() . '">' . Display::return_icon('stats.png', get_lang('FlatView'), '', ICON_SIZE_MEDIUM) . '</a>'; $header .= '<a href="gradebook_scoring_system.php?' . api_get_cidreq() . '&selectcat=' . $catobj->get_id() . '">' . Display::return_icon('settings.png', get_lang('ScoreEdit'), '', ICON_SIZE_MEDIUM) . '</a>'; } elseif (!isset($_GET['studentoverview'])) { $header .= '<a href="' . api_get_self() . '?' . api_get_cidreq() . '&studentoverview=&selectcat=' . $catobj->get_id() . '">' . Display::return_icon('view_list.gif', get_lang('FlatView')) . ' ' . get_lang('FlatView') . '</a>'; } else { $header .= '<a href="' . api_get_self() . '?' . api_get_cidreq() . '&studentoverview=&exportpdf=&selectcat=' . $catobj->get_id() . '" target="_blank">' . Display::return_icon('pdf.png', get_lang('ExportPDF'), '', ICON_SIZE_MEDIUM) . '</a>'; } $header .= '</div>'; echo $header; }
/** * @param null $course_code * @param int $gradebook_model_id * @return mixed */ public static function create_default_course_gradebook($course_code = null, $gradebook_model_id = 0) { if (api_is_allowed_to_edit(true, true)) { if (!isset($course_code) || empty($course_code)) { $course_code = api_get_course_id(); } $session_id = api_get_session_id(); $t = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY); $sql = "SELECT * FROM {$t} WHERE course_code = '" . Database::escape_string($course_code) . "' "; if (!empty($session_id)) { $sql .= " AND session_id = " . (int) $session_id; } else { $sql .= " AND (session_id IS NULL OR session_id = 0) "; } $sql .= " ORDER BY id"; $res = Database::query($sql); if (Database::num_rows($res) < 1) { //there is no unique category for this course+session combination, $cat = new Category(); if (!empty($session_id)) { $my_session_id = api_get_session_id(); $s_name = api_get_session_name($my_session_id); $cat->set_name($course_code . ' - ' . get_lang('Session') . ' ' . $s_name); $cat->set_session_id($session_id); } else { $cat->set_name($course_code); } $cat->set_course_code($course_code); $cat->set_description(null); $cat->set_user_id(api_get_user_id()); $cat->set_parent_id(0); $default_weight_setting = api_get_setting('gradebook_default_weight'); $default_weight = isset($default_weight_setting) && !empty($default_weight_setting) ? $default_weight_setting : 100; $cat->set_weight($default_weight); $cat->set_grade_model_id($gradebook_model_id); $cat->set_certificate_min_score(75); $cat->set_visible(0); $cat->add(); $category_id = $cat->get_id(); unset($cat); } else { $row = Database::fetch_array($res); $category_id = $row['id']; } } return $category_id; }
public function category_is_excluded(Category $category) { return in_array($category->get_id(), $this->excluded_categories_ids); }
protected function get_category_url(Category $category) { return NewsletterUrlBuilder::archives($category->get_id(), $category->get_rewrited_name()); }
/** * @desc Update category and items position. * @param Category $category * @param int $id_parent * @param int $position */ public function update_position(Category $category, $id_parent, $position) { $id = $category->get_id(); if ($this->get_categories_cache()->category_exists($id) && $this->get_categories_cache()->category_exists($id_parent) && !($category->get_id_parent() == $id_parent && $category->get_order() == $position)) { $options = new SearchCategoryChildrensOptions(); $childrens = $this->get_childrens($id, $options); $childrens[$id] = $category; if (!array_key_exists($id_parent, $childrens)) { $max_order = $this->db_querier->get_column_value($this->table_name, 'MAX(c_order)', 'WHERE id_parent=:id_parent', array('id_parent' => $id_parent)); $max_order = NumberHelper::numeric($max_order); if ($position <= 0 || $position > $max_order) { $this->db_querier->update($this->table_name, array('id_parent' => $id_parent, 'c_order' => $max_order + 1), 'WHERE id=:id', array('id' => $id)); } else { $this->db_querier->update($this->table_name, array('id_parent' => $id_parent, 'c_order' => $position), 'WHERE id=:id', array('id' => $id)); } $this->regenerate_cache(); } } }
private function get_category_items_exists(Category $category) { return PersistenceContext::get_querier()->row_exists($this->get_categories_manager()->get_categories_items_parameters()->get_table_name_contains_items(), 'WHERE ' . $this->get_categories_manager()->get_categories_items_parameters()->get_field_name_id_category() . '=:id_category', array('id_category' => $category->get_id())); }
protected function get_delete_category_url(Category $category) { return CalendarUrlBuilder::delete_category($category->get_id()); }
protected function get_delete_category_url(Category $category) { return NewsletterUrlBuilder::delete_stream($category->get_id()); }
/** * @param null $course_code * @param int $gradebook_model_id * @return mixed */ public static function create_default_course_gradebook($course_code = null, $gradebook_model_id = 0) { if (api_is_allowed_to_edit(true, true)) { if (!isset($course_code) || empty($course_code)) { $course_code = api_get_course_id(); } $session_id = api_get_session_id(); $courseId = api_get_course_int_id($course_code); $em = Database::getManager(); $qb = $em->createQueryBuilder(); $qb->select('gc')->from('ChamiloCoreBundle:GradebookCategory', 'gc'); $qb->where($qb->expr()->eq('gc.course', $courseId)); if (!empty($session_id)) { $qb->andWhere($qb->expr()->eq('gc.sessionId', $session_id)); } else { $qb->andWhere($qb->expr()->orX($qb->expr()->isNull('gc.sessionId'), $qb->expr()->eq('gc.sessionId', 0))); } $qb->orderBy('gc.id', 'ASC'); $res = $qb->getQuery()->getResult(); if (count($res) < 1) { //there is no unique category for this course+session combination, $cat = new Category(); if (!empty($session_id)) { $my_session_id = api_get_session_id(); $s_name = api_get_session_name($my_session_id); $cat->set_name($course_code . ' - ' . get_lang('Session') . ' ' . $s_name); $cat->set_session_id($session_id); } else { $cat->set_name($course_code); } $cat->set_course_code($course_code); $cat->set_description(null); $cat->set_user_id(api_get_user_id()); $cat->set_parent_id(0); $default_weight_setting = api_get_setting('gradebook.gradebook_default_weight'); $default_weight = isset($default_weight_setting) && !empty($default_weight_setting) ? $default_weight_setting : 100; $cat->set_weight($default_weight); $cat->set_grade_model_id($gradebook_model_id); $cat->set_certificate_min_score(75); $cat->set_visible(0); $cat->add(); $category_id = $cat->get_id(); unset($cat); } else { $row = current($res); $category_id = $row->getId(); } return $category_id; } return false; }
protected function get_delete_category_url(Category $category) { return DownloadUrlBuilder::delete_category($category->get_id()); }