public function update() { $faq = new faq(); $faq->update($this->params); if (!empty($this->params['send_email'])) { redirect_to(array('controller' => 'faq', 'action' => 'edit_answer', 'id' => $faq->id, 'src' => $this->loc->src)); } else { expHistory::back(); } }
if (isset($_POST['id'])) { $qna = $db->selectObject('faq', 'id=' . $_POST['id']); if ($qna != null) { $loc = unserialize($qna->location_data); } } else { $qna->rank = $db->max('faq', 'rank', 'location_data', "location_data='" . serialize($loc) . "'"); if ($qna->rank == null) { $qna->rank = 0; } else { $qna->rank += 1; } } if (pathos_permissions_check("manage", $loc)) { $oldcatid = $qna->category_id; $qna = faq::update($_POST, $qna); $qna->location_data = serialize($loc); if (isset($_POST['categories'])) { $qna->category_id = $_POST['categories']; } if (isset($qna->id)) { $db->updateObject($qna, "faq"); } else { $db->insertObject($qna, "faq"); } if ($oldcatid != $qna->category_id) { $db->decrement('faq', 'rank', 1, "location_data='" . serialize($loc) . "' AND rank > " . $qna->rank . " AND category_id=" . $qna->category_id); } pathos_flow_redirect(); } else { echo SITE_403_HTML;