本文整理汇总了PHP中BOL_QuestionService::findQuestionChildren方法的典型用法代码示例。如果您正苦于以下问题:PHP BOL_QuestionService::findQuestionChildren方法的具体用法?PHP BOL_QuestionService::findQuestionChildren怎么用?PHP BOL_QuestionService::findQuestionChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BOL_QuestionService
的用法示例。
在下文中一共展示了BOL_QuestionService::findQuestionChildren方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: deleteQuestion
public function deleteQuestion($params)
{
if (empty($params['questionId'])) {
throw new Redirect404Exception();
}
$question = $this->questionService->findQuestionById($params['questionId']);
$parent = null;
if (!empty($question->parent)) {
$parent = $this->questionService->findQuestionByName($question->parent);
}
if ($question->base == 1 || !$question->removable || !empty($parent)) {
throw new Redirect404Exception();
}
$childList = $this->questionService->findQuestionChildren($question->name);
$deleteList = array();
foreach ($childList as $child) {
$deleteList[] = $child->id;
}
if (!empty($deleteList)) {
$this->questionService->deleteQuestion($deleteList);
}
if ($this->questionService->deleteQuestion(array((int) $params['questionId']))) {
OW::getFeedback()->info(OW::getLanguage()->text('admin', 'questions_question_was_deleted'));
}
$this->redirect(OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'index'));
}
示例2: ajaxResponder
public function ajaxResponder()
{
if (!OW::getAuthorization()->isUserAuthorized(OW::getUser()->getId(), 'admin') || empty($_POST["command"]) || !OW::getRequest()->isAjax()) {
throw new Redirect404Exception();
}
$command = (string) $_POST["command"];
switch ($command) {
case 'deleteQuestion':
$questionId = (int) $_POST['questionId'];
$question = $this->questionService->findQuestionById($questionId);
if (empty($question)) {
echo json_encode(array('result' => false));
exit;
}
$parent = null;
if (!empty($question->parent)) {
$parent = $this->questionService->findQuestionByName($question->parent);
}
if ($question->base == 1 || !$question->removable || !empty($parent)) {
echo json_encode(array('result' => false));
exit;
}
$childList = $this->questionService->findQuestionChildren($question->name);
$deleteList = array();
$deleteQuestionNameList = array();
foreach ($childList as $child) {
$deleteList[] = $child->id;
$deleteQuestionNameList[$child->name] = $child->name;
}
if (!empty($deleteList)) {
$this->questionService->deleteQuestion($deleteList);
}
if ($this->questionService->deleteQuestion(array((int) $_POST['questionId']))) {
echo json_encode(array('result' => "success", 'message' => OW::getLanguage()->text('admin', 'questions_question_was_deleted'), 'deleteList' => $deleteQuestionNameList));
exit;
}
echo json_encode(array('result' => false));
exit;
break;
case 'findNearestSection':
$sectionName = $_POST['sectionName'];
if (!empty($sectionName)) {
$section = $this->questionService->findSectionBySectionName($sectionName);
if (empty($section)) {
echo json_encode(array('result' => false));
exit;
}
$nearSection = $this->questionService->findNearestSection($section);
if (empty($nearSection)) {
echo json_encode(array('result' => false));
exit;
}
echo json_encode(array('result' => "success", 'message' => OW::getLanguage()->text('admin', 'questions_delete_section_confirmation_with_move_questions', array('sectionName' => BOL_QuestionService::getInstance()->getSectionLang($nearSection->name)))));
exit;
}
echo json_encode(array('result' => false));
exit;
break;
case 'deleteSection':
if (!empty($_POST['sectionName']) && mb_strlen($_POST['sectionName']) > 0) {
/*@var $nearSection BOL_QuestionSection*/
$nearSection = $this->questionService->findSectionBySectionName($_POST['sectionName']);
$moveQuestionsToSection = null;
if (!empty($nearSection) && $nearSection->isDeletable && $this->questionService->deleteSection(htmlspecialchars($_POST['sectionName']), $moveQuestionsToSection)) {
$result = array('result' => "success", 'message' => OW::getLanguage()->text('admin', 'questions_section_was_deleted'));
if (!empty($moveQuestionsToSection)) {
$result['moveTo'] = $moveQuestionsToSection->name;
}
echo json_encode($result);
exit;
}
}
echo json_encode(array('result' => "false"));
exit;
break;
case 'DeleteQuestionValue':
$result = false;
$questionId = htmlspecialchars($_POST["questionId"]);
$question = $this->questionService->findQuestionById($questionId);
$value = (int) $_POST["value"];
if (empty($question) || empty($value) && $value !== 0) {
echo json_encode(array('result' => $result));
return;
}
if ($this->questionService->deleteQuestionValue($question->name, $value)) {
$result = true;
}
echo json_encode(array('result' => $result));
break;
case 'deleteAccountType':
if (!empty($_POST['accountType']) && mb_strlen($_POST['accountType']) > 0) {
$accountTypes = $this->questionService->findAllAccountTypes();
$accountTypeList = array();
foreach ($accountTypes as $key => $account) {
if ($account->name != $_POST['accountType']) {
$accountTypeList[$account->name] = $account->name;
}
}
if (empty($accountTypeList)) {
echo json_encode(array('result' => "false", 'message' => OW::getLanguage()->text('admin', 'questions_cant_delete_last_account_type')));
//.........这里部分代码省略.........