Пример #1
0
 /**
  * Assign template variables for a given FAQ item.
  *
  * @param array $data	Item data.
  * @param array $auth	Array in form of array(edit => (bool), delete => (bool), move => (bool))
  *	specifying user's permissions.
  * @return null
  */
 protected function assign_item_row_vars($data, $auth)
 {
     $this->faq->__set_array($data);
     // @todo probably should setup an edit time or something for better read tracking in case it was edited
     $folder_img = $folder_alt = '';
     $unread = $this->tracking->get_track(TITANIA_FAQ, $data['faq_id'], true) === 0;
     $this->display->topic_folder_img($folder_img, $folder_alt, 0, $unread);
     $this->template->assign_block_vars('faqlist', array('U_FAQ' => $this->faq->get_url(), 'SUBJECT' => $data['faq_subject'], 'VIEWS' => $data['faq_views'], 'FOLDER_STYLE' => $folder_img, 'FOLDER_IMG' => $this->user->img($folder_img, $folder_alt), 'FOLDER_IMG_SRC' => $this->user->img($folder_img, $folder_alt, false, '', 'src'), 'FOLDER_IMG_ALT' => $this->user->lang[$folder_alt], 'FOLDER_IMG_ALT' => $this->user->lang[$folder_alt], 'FOLDER_IMG_WIDTH' => $this->user->img($folder_img, '', false, '', 'width'), 'FOLDER_IMG_HEIGHT' => $this->user->img($folder_img, '', false, '', 'height'), 'U_MOVE_UP' => $auth['move'] ? $this->faq->get_url('move_up') : false, 'U_MOVE_DOWN' => $auth['move'] ? $this->faq->get_url('move_down') : false, 'U_EDIT' => $auth['edit'] ? $this->faq->get_url('edit') : false, 'U_DELETE' => $auth['delete'] ? $this->faq->get_url('delete') : false, 'S_ACCESS_TEAMS' => $this->access->is_team($data['faq_access']), 'S_ACCESS_AUTHORS' => $this->access->is_author($data['faq_access'])));
 }
Пример #2
0
            }
            if (!sizeof($error)) {
                $faq->submit();
                $message->submit($faq->faq_id);
                $sql = 'SELECT right_id FROM ' . TITANIA_CONTRIB_FAQ_TABLE . '
					WHERE contrib_id = ' . titania::$contrib->contrib_id . '
					ORDER BY right_id DESC LIMIT 1';
                $result = phpbb::$db->sql_query($sql);
                $right_id = (string) phpbb::$db->sql_fetchfield('right_id');
                phpbb::$db->sql_freeresult($result);
                // Update the faqs table
                $sql_ary = array('left_id' => $right_id + 1, 'right_id' => $right_id + 2);
                $sql = 'UPDATE ' . TITANIA_CONTRIB_FAQ_TABLE . ' SET ' . phpbb::$db->sql_build_array('UPDATE', $sql_ary) . '
					WHERE faq_id = ' . (int) $faq->faq_id;
                phpbb::$db->sql_query($sql);
                redirect($faq->get_url());
            }
        }
        $message->display();
        phpbb::$template->assign_vars(array('L_POST_A' => phpbb::$user->lang[$action == 'edit' ? 'EDIT_FAQ' : 'CREATE_FAQ'], 'ERROR_MSG' => sizeof($error) ? implode('<br />', $error) : '', 'S_EDIT' => true, 'S_POST_ACTION' => $faq->get_url($action, $faq->faq_id)));
        titania::page_header($action == 'edit' ? 'EDIT_FAQ' : 'CREATE_FAQ');
        break;
    case 'delete':
        if (!phpbb::$auth->acl_get('u_titania_mod_faq_mod') && !phpbb::$auth->acl_get('u_titania_faq_delete') && !titania::$contrib->is_author && !titania::$contrib->is_active_coauthor) {
            titania::needs_auth();
        }
        if (titania::confirm_box(true)) {
            $faq->delete();
            redirect(titania::$contrib->get_url('faq'));
        } else {
            titania::confirm_box(false, 'DELETE_FAQ', $faq->get_url('delete'));