$change_owner_id = request_var('change_owner_id', 0); if ($change_owner_id !== ANONYMOUS && $change_owner_id) { titania::$contrib->set_contrib_user_id($change_owner_id); titania::$contrib->load(utf8_normalize_nfc(request_var('c', '', true))); // Reload the contrib (to make sure the authors list is updated) $submit = false; // Set submit as false to keep the main stuff from being resubmitted again redirect(titania::$contrib->get_url()); } } /** * ---------------------------- Main Page ---------------------------- */ // Load the message object $message = new titania_message(titania::$contrib); $message->set_auth(array('bbcode' => phpbb::$auth->acl_get('u_titania_bbcode'), 'smilies' => phpbb::$auth->acl_get('u_titania_smilies'), 'edit_subject' => titania_types::$types[titania::$contrib->contrib_type]->acl_get('moderate'))); $message->set_settings(array('display_error' => false, 'display_subject' => false, 'subject_name' => 'name')); // Screenshots $screenshot = new titania_attachment(TITANIA_SCREENSHOT, titania::$contrib->contrib_id); $screenshot->load_attachments(); $screenshot->upload(175); $error = array_merge($error, $screenshot->error); if ($screenshot->uploaded || isset($_POST['preview']) || $submit) { titania::$contrib->post_data($message); titania::$contrib->__set_array(array('contrib_demo' => titania::$config->can_modify_style_demo_url || titania_types::$types[TITANIA_TYPE_STYLE]->acl_get('moderate') || titania::$contrib->contrib_type != TITANIA_TYPE_STYLE ? $contrib_demo : titania::$contrib->contrib_demo, 'contrib_local_name' => utf8_normalize_nfc(request_var('contrib_local_name', '', true)), 'contrib_iso_code' => request_var('contrib_iso_code', ''))); } if (isset($_POST['preview'])) { $message->preview(); } else { if ($submit) { // Handle the deletion routine
/** * Edit an existing post * * @param int $post_id */ public function edit($post_id) { if (!phpbb::$auth->acl_get('u_titania_post')) { titania::needs_auth(); } // Load the stuff we need $post_object = $this->load_post($post_id); // Check permissions if (!$post_object->acl_get('edit')) { titania::needs_auth(); } // Some more complicated permissions for stickes in support $can_sticky = $can_lock = phpbb::$auth->acl_get('u_titania_mod_post_mod'); if ($post_object->post_type == TITANIA_SUPPORT) { if (is_object(titania::$contrib) && titania::$contrib->contrib_id == $post_object->topic->parent_id && titania::$contrib->is_author || titania::$contrib->is_active_coauthor) { $can_sticky = $can_lock = true; } else { if (!is_object(titania::$contrib) || !titania::$contrib->contrib_id == $post_object->topic->parent_id) { $contrib = new titania_contribution(); $contrib->load((int) $post_object->topic->parent_id); if ($contrib->is_author || $contrib->is_active_coauthor) { $can_sticky = $can_lock = true; } } } } // Load the message object $message_object = new titania_message($post_object); $message_object->set_auth(array('bbcode' => phpbb::$auth->acl_get('u_titania_bbcode'), 'smilies' => phpbb::$auth->acl_get('u_titania_smilies'), 'lock' => $post_object->post_user_id != phpbb::$user->data['user_id'] && phpbb::$auth->acl_get('u_titania_mod_post_mod') ? true : false, 'sticky_topic' => $post_object->post_id == $post_object->topic->topic_first_post_id && $can_sticky ? true : false, 'lock_topic' => $can_lock || phpbb::$auth->acl_get('u_titania_post_mod_own') && (phpbb::$auth->acl_get('u_titania_post_mod_own') && is_object(titania::$contrib) && titania::$contrib->contrib_id == $post_object->topic->parent_id && titania::$contrib->is_author || titania::$contrib->is_active_coauthor) ? true : false, 'attachments' => phpbb::$auth->acl_get('u_titania_post_attach'))); // Call our common posting handler $this->common_post('edit', $post_object, $message_object); // Common stuff phpbb::$template->assign_vars(array('S_POST_ACTION' => $post_object->get_url('edit', false, titania_url::$current_page_url), 'L_POST_A' => phpbb::$user->lang['EDIT_POST'])); titania::page_header('EDIT_POST'); }
titania::page_header('EDIT_VALIDATION_NOTES'); titania::page_footer(true, 'manage/queue_post.html'); break; case 'rebuild': $queue = queue_overlord::get_queue_object($queue_id, true); $queue->update_first_queue_post(); redirect(titania_url::append_url($base_url, array('q' => $queue->queue_id))); break; case 'allow_author_repack': $queue = queue_overlord::get_queue_object($queue_id, true); $topic = $queue->get_queue_discussion_topic(); $post = new titania_post(TITANIA_QUEUE_DISCUSSION, $topic); $post->__set_array(array('post_subject' => 'Re: ' . $post->topic->topic_subject)); // Load the message object $message_object = new titania_message($post); $message_object->set_auth(array('bbcode' => true, 'smilies' => true)); $message_object->set_settings(array('display_subject' => false)); // Submit check...handles running $post->post_data() if required $submit = $message_object->submit_check(); if ($submit) { $queue->allow_author_repack = true; $contrib = contribs_overlord::get_contrib_object($queue->contrib_id, true); $for_edit = $post->generate_text_for_edit(); $post->post_text = $for_edit['message'] . "\n\n[url=" . titania_url::append_url($contrib->get_url('revision'), array('repack' => $queue->revision_id)) . ']' . phpbb::$user->lang['AUTHOR_REPACK_LINK'] . '[/url]'; $post->generate_text_for_storage($for_edit['allow_bbcode'], $for_edit['allow_smilies'], $for_edit['allow_urls']); $post->submit(); $queue->submit(); $queue->topic_reply('QUEUE_REPLY_ALLOW_REPACK'); $queue->submit(); redirect(titania_url::append_url($base_url, array('q' => $queue->queue_id))); }
titania::$contrib = new titania_contribution(); titania::$contrib->contrib_user_id = phpbb::$user->data['user_id']; titania::$contrib->author = new titania_author(phpbb::$user->data['user_id']); titania::$contrib->author->load(); // Set some main vars up $submit = isset($_POST['submit']) ? true : false; $contrib_categories = request_var('contrib_category', array(0)); $contrib_iso_code = request_var('contrib_iso_code', ''); $contrib_local_name = utf8_normalize_nfc(request_var('contrib_local_name', '', true)); $contrib_demo = utf8_normalize_nfc(request_var('demo_url', '', true)); $active_coauthors = $active_coauthors_list = utf8_normalize_nfc(request_var('active_coauthors', '', true)); $nonactive_coauthors = $nonactive_coauthors_list = utf8_normalize_nfc(request_var('nonactive_coauthors', '', true)); $error = array(); // Load the message object $message = new titania_message(titania::$contrib); $message->set_auth(array('bbcode' => phpbb::$auth->acl_get('u_titania_bbcode'), 'smilies' => phpbb::$auth->acl_get('u_titania_smilies'))); $message->set_settings(array('display_error' => false, 'display_subject' => false, 'subject_name' => 'name')); // Screenshots $screenshot = new titania_attachment(TITANIA_SCREENSHOT, titania::$contrib->contrib_id); $screenshot->load_attachments(); $screenshot->upload(175); $error = array_merge($error, $screenshot->error); if ($screenshot->uploaded || isset($_POST['preview']) || $submit) { titania::$contrib->post_data($message); titania::$contrib->__set_array(array('contrib_type' => request_var('contrib_type', 0), 'contrib_name_clean' => utf8_normalize_nfc(request_var('permalink', '', true)), 'contrib_visible' => 1, 'contrib_demo' => titania::$config->can_modify_style_demo_url || titania_types::$types[TITANIA_TYPE_STYLE]->acl_get('moderate') || titania::$contrib->contrib_type != TITANIA_TYPE_STYLE ? $contrib_demo : titania::$contrib->contrib_demo, 'contrib_iso_code' => $contrib_iso_code, 'contrib_local_name' => $contrib_local_name)); } if (isset($_POST['preview'])) { $message->preview(); } else { if ($submit) { $error = array_merge($error, titania::$contrib->validate($contrib_categories));