function saveSetInfo() { if (!$this->request->isLoggedIn()) { $this->response->setRedirect(caNavUrl($this->request, '', 'LoginReg', 'loginForm')); return; } global $g_ui_locale_id; // current locale_id for user $va_errors = array(); $o_purifier = new HTMLPurifier(); # --- set_id is passed through form, otherwise we're saving a new set if ($this->request->getParameter('set_id', pInteger)) { $t_set = $this->_getSet(__CA_EDIT_READ_ACCESS__); } else { $t_set = new ca_sets(); } # --- check for errors # --- set name - required $ps_name = $o_purifier->purify($this->request->getParameter('name', pString)); if (!$ps_name) { $va_errors["name"] = _t("Please enter the name of your lightbox"); } else { $this->view->setVar("name", $ps_name); } # --- set description - optional $ps_description = $o_purifier->purify($this->request->getParameter('description', pString)); $this->view->setVar("description", $ps_description); $t_list = new ca_lists(); $vn_set_type_user = $t_list->getItemIDFromList('set_types', $this->request->config->get('user_set_type')); $t_object = new ca_objects(); $vn_object_table_num = $t_object->tableNum(); if (sizeof($va_errors) == 0) { $t_set->setMode(ACCESS_WRITE); $t_set->set('access', 1); #$t_set->set('access', $this->request->getParameter('access', pInteger)); if ($t_set->get("set_id")) { # --- edit/add description $t_set->replaceAttribute(array('description' => $ps_description, 'locale_id' => $g_ui_locale_id), 'description'); $t_set->update(); } else { $t_set->set('table_num', $vn_object_table_num); $t_set->set('type_id', $vn_set_type_user); $t_set->set('user_id', $this->request->getUserID()); $t_set->set('set_code', $this->request->getUserID() . '_' . time()); # --- create new attribute $t_set->addAttribute(array('description' => $ps_description, 'locale_id' => $g_ui_locale_id), 'description'); $t_set->insert(); } if ($t_set->numErrors()) { $va_errors["general"] = join("; ", $t_set->getErrors()); $this->view->setVar('errors', $va_errors); $this->setForm(); } else { # --- save name if (sizeof($va_labels = caExtractValuesByUserLocale($t_set->getLabels(array($g_ui_locale_id), __CA_LABEL_TYPE_PREFERRED__)))) { # --- edit label foreach ($va_labels as $vn_set_id => $va_label) { $t_set->editLabel($va_label[0]['label_id'], array('name' => $ps_name), $g_ui_locale_id); } } else { # --- add new label $t_set->addLabel(array('name' => $ps_name), $g_ui_locale_id, null, true); } # --- select the current set $this->request->user->setVar('current_set_id', $t_set->get("set_id")); $this->view->setVar("message", _t('Saved lightbox.')); $this->render("Form/reload_html.php"); } } else { $this->view->setVar('errors', $va_errors); $this->setForm(); } }
/** * */ public function saveSetInfo() { if (!$this->request->isLoggedIn()) { $this->response->setRedirect(caNavUrl($this->request, '', 'LoginReg', 'form')); return; } global $g_ui_locale_id; // current locale_id for user $va_errors_edit_set = array(); $o_purifier = new HTMLPurifier(); $t_set = new ca_sets(); $pn_set_id = $this->request->getParameter('set_id', pInteger); $ps_name = $o_purifier->purify($this->request->getParameter('name', pString)); if (!$ps_name) { $va_errors_edit_set["name"] = _t("You must enter a name for your lightbox"); } $vs_desc = $o_purifier->purify($this->request->getParameter('description', pString)); if (sizeof($va_errors_edit_set) == 0) { if ($t_set->load($pn_set_id) && $t_set->haveAccessToSet($this->request->getUserID(), __CA_SET_EDIT_ACCESS__)) { $t_set->setMode(ACCESS_WRITE); $t_set->set('access', $this->request->getParameter('access', pInteger)); // edit/add description $t_set->replaceAttribute(array('locale_id' => $g_ui_locale_id, 'set_description' => $vs_desc), 'set_description'); $t_set->update(); if (sizeof($va_labels = caExtractValuesByUserLocale($t_set->getLabels(array($g_ui_locale_id), __CA_LABEL_TYPE_PREFERRED__)))) { // edit label foreach ($va_labels as $vn_set_id => $va_label) { $t_set->editLabel($va_label[0]['label_id'], array('name' => $ps_name), $g_ui_locale_id); } } else { // add new label $t_set->addLabel(array('name' => $ps_name), $g_ui_locale_id, null, true); } } else { $this->view->setVar('message', _t("You can not edit this set. You have read only access.")); } } $this->view->setVar('errors_edit_set', $va_errors_edit_set); $this->index(); }