function migrate_attachments_to_post_type($connection_types) { // get attachments for type $results = get_connected_results($connection_types); // aggregate results $aggregated = aggregate_results($results); $query = get_query_for_post_ids(array_keys($aggregated)); // iterate over attachments while ($query->have_posts()) { $query->the_post(); $post = get_post(); // create post echo "Processing {$post->post_title}\n"; $new_post_id = create_new_post($post); // connect new post to relation type echo "Connecting {$post->post_title} to posts\n"; connect_new_post_to_connected($new_post_id, $aggregated[$post->ID]); // copy over tags echo "Copying tags for {$post->post_title}\n"; copy_tags_from_old_to_new($post->ID, $new_post_id); } }
$dialogBox->error('error'); $error = true; } } } $topicSettingList = get_topic_settings($topicId); } elseif ('edit' == $editMode) { if ('' == $subject && is_first_post($topicId, $postId)) { $dialogBox->error(get_lang('Subject cannot be empty')); $error = true; } else { update_post($postId, $topicId, $message, $subject); $dialogBox->success('Changes recorded'); } } elseif ('reply' == $editMode || 'quote' == $editMode) { if (false !== ($postId = create_new_post($topicId, $forumId, claro_get_current_user_id(), $time, $poster_ip, $userLastname, $userFirstname, $message))) { $dialogBox->success('Your contribution has been recorded'); } // send message to user registered for notifications of new posts in this topic trig_topic_notification($topicId); $eventNotifier->notifyCourseEvent('forum_answer_topic', claro_get_current_course_id(), claro_get_current_tool_id(), $forumId . '-' . $topicId, claro_get_current_group_id(), 0); $eventNotifier->notifyCourseEvent('forum_new_post', claro_get_current_course_id(), claro_get_current_tool_id(), $forumId . '-' . $topicId . '-' . $postId, claro_get_current_group_id(), 0); } else { $dialogBox->error('error'); $error = true; } } if ($error) { $cmd = 'rqPost'; } else { $cmd = 'show';
$message = trim($message); // USER $userLastname = claro_get_current_user_data('lastName'); $userFirstname = claro_get_current_user_data('firstName'); $poster_ip = $_SERVER['REMOTE_ADDR']; $time = date('Y-m-d H:i'); // prevent to go further if the fields are actually empty if (strip_tags($message) == '' || $subject == '') { $dialogBox->error(get_lang('You cannot post an empty message')); $error = TRUE; } if (!$error) { // record new topic $topic_id = create_new_topic($subject, $time, $forum_id, claro_get_current_user_id(), $userFirstname, $userLastname); if ($topic_id) { create_new_post($topic_id, $forum_id, claro_get_current_user_id(), $time, $poster_ip, $userLastname, $userFirstname, $message); } // notify eventmanager that a new message has been posted $eventNotifier->notifyCourseEvent('forum_new_topic', claro_get_current_course_id(), claro_get_current_tool_id(), $forum_id . "-" . $topic_id, claro_get_current_group_id(), 0); // notify by mail that a new topic has been created trig_forum_notification($forum_id); /*if( get_conf('clfrm_notification_enabled', true) ) { $courseSender = claro_get_current_user_data('firstName') . ' ' . claro_get_current_user_data('lastName'); $courseOfficialCode = claro_get_current_course_data('officialCode'); $title = get_lang('New topic on the forum %forum', array('%forum' => $forum_name)); $msgContent = get_lang('A new topic called %topic has been created on the forum %forum', array('%topic' => $subject, '%forum' => $forum_name)); // attached resource $body = $msgContent . "\n" . "\n"