function answers_get_sorted_question_answers($question, $sort = 'votes') { $unsorted_answers = answers_get_question_answers($question); $unsorted_ratings = array(); $unsorted_dates = array(); $unsorted_actions = array(); foreach ($unsorted_answers as $answer) { $unsorted_ratings[] = answers_overall_rating($answer); $unsorted_dates[] = $answer->time_created; $unsorted_actions[] = $answer->last_action; } if ($sort == 'oldest') { array_multisort($unsorted_dates, SORT_DESC, $unsorted_ratings, SORT_DESC, $unsorted_answers); } else { if ($sort == 'active') { array_multisort($unsorted_actions, SORT_DESC, $unsorted_ratings, SORT_DESC, $unsorted_answers); } else { array_multisort($unsorted_ratings, SORT_DESC, $unsorted_dates, SORT_ASC, $unsorted_answers); } } return $unsorted_answers; }
/** * Generic delete action for questions and answers */ $guid = (int) get_input('guid'); $entity = get_entity($guid); if (!$entity->canEdit()) { // @todo register_error('answers:notdeleted'); forward(REFERER); } $subtype = $entity->getSubtype(); elgg_load_library('answers:utilities'); if ($subtype == 'question') { $owner = $entity->getOwnerEntity(); $forward_url = 'answers/owner/' . $owner->username; $answers = answers_get_question_answers($entity); if ($answers && is_array($answers)) { foreach ($answers as $answer) { $answer->delete(); // @todo answer of another user seems not deleted. Access problem ? } } } else { if ($subtype == 'answer') { $question = answers_get_question_for_answer($entity); $forward_url = $question->getURL(); } else { register_error('answers:notdeleted'); forward(REFERER); } }