Exemple #1
0
 /**
  * Standard modular run function.
  *
  * @param  array		A map of parameters.
  * @return tempcode	The result of execution.
  */
 function run($map)
 {
     if (!array_key_exists('param', $map)) {
         $map['param'] = 'main';
     }
     if (!array_key_exists('page', $map)) {
         $map['page'] = get_page_name();
     }
     if (array_key_exists('extra_param_from', $map)) {
         $extra = '_' . $map['extra_param_from'];
     } else {
         $extra = '';
     }
     require_code('feedback');
     $self_url = get_self_url();
     $self_title = $map['page'];
     $id = $map['page'] . '_' . $map['param'] . $extra;
     $test_changed = post_param('rating_' . $id, '');
     if ($test_changed != '') {
         decache('main_rating');
     }
     actualise_rating(true, 'block_main_rating', $id, $self_url, $self_title);
     return get_rating_box($self_url, $self_title, 'block_main_rating', $id, true);
 }
Exemple #2
0
 /**
  * The UI for a "flow mode" gallery.
  *
  * @param  tempcode		Rating area
  * @param  tempcode		Commenting area
  * @param  ID_TEXT		Our gallery ID
  * @param  ID_TEXT		Virtual root gallery
  * @param  tempcode		The description of the gallery
  * @param  tempcode		The tempcode for our visible child galleries
  * @param  boolean		Whether may "download this gallery"
  * @param  tempcode		The URL to "edit this gallery"
  * @param  tempcode		The URL to "add a gallery"
  * @param  tempcode		The URL to "submit an image to this gallery"
  * @param  tempcode		The URL to "submit a video to this gallery"
  * @param  tempcode		The title of the page (our of get_page_title)
  * @param  URLPATH		The representative image for the gallery
  * @param  integer		The start position we are in browsing through child galleries
  * @param  integer		The maximum number of child galleries we can display per page
  * @param  integer		The number of child galleries we have
  * @param  string			The gallery title
  * @param  tempcode		Sorting UI
  * @return tempcode		The UI
  */
 function do_gallery_flow_mode($rating_details, $comment_details, $cat, $root, $description, $children, $may_download, $edit_url, $add_gallery_url, $submit_image_url, $submit_video_url, $title, $rep_image, $start, $max, $num_galleries, $fullname, $sorting)
 {
     list($sort, $sort_backwards, $sql_suffix_images, $sql_suffix_videos) = $this->get_sort_order();
     $page_num = intval(floor(floatval($start) / floatval($max))) + 1;
     $num_pages = intval(ceil(floatval($num_galleries) / floatval($max)));
     $image_select = get_param('select', '*');
     $video_select = get_param('video_select', '*');
     $previous = $page_num == 1 ? new ocp_tempcode() : build_url(array('page' => '_SELF', 'start' => max($start - $max, 0) == 0 ? NULL : max($start - $max, 0), 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF', NULL, true);
     $next = $page_num == $num_pages ? new ocp_tempcode() : build_url(array('page' => '_SELF', 'start' => $start + $max, 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF', NULL, true);
     if ($num_pages < 2) {
         $browse = new ocp_tempcode();
     } else {
         $browse = do_template('NEXT_BROWSER_BROWSE_NEXT', array('_GUID' => '5a01713ab670f1eb1dd17bde663e6e9f', 'PREVIOUS_LINK' => $previous, 'NEXT_LINK' => $next, 'PAGE_NUM' => integer_format($page_num), 'NUM_PAGES' => integer_format($num_pages)));
     }
     // View current entry
     $row = NULL;
     $current_entry = new ocp_tempcode();
     $view_url = new ocp_tempcode();
     $full_url = '';
     $entry_edit_url = new ocp_tempcode();
     $entry_rating_details = new ocp_tempcode();
     $entry_comment_details = new ocp_tempcode();
     $entry_trackback_details = new ocp_tempcode();
     $entry_add_date_raw = '';
     $entry_edit_date_raw = '';
     $entry_views = '';
     $entry_title = '';
     $entry_submitter = NULL;
     $entry_description = new ocp_tempcode();
     $probe_type = get_param('probe_type', 'first');
     $probe_id = get_param_integer('probe_id', 0);
     if ($probe_type == 'first') {
         $where = db_string_equal_to('cat', $cat);
         if (!has_specific_permission(get_member(), 'see_unvalidated')) {
             $where .= ' AND validated=1';
         }
         if (get_param('days', '') != '') {
             $where .= ' AND add_date>' . strval(time() - get_param_integer('days') * 60 * 60 * 24);
         }
         $first_video = $GLOBALS['SITE_DB']->query('SELECT *' . $sql_suffix_videos . ' FROM ' . get_table_prefix() . 'videos r WHERE ' . $where . ' ORDER BY ' . $sort, 1);
         if (array_key_exists(0, $first_video)) {
             $row = $first_video[0];
             $probe_type = 'video';
             $probe_id = $row['id'];
         } else {
             $where = db_string_equal_to('cat', $cat);
             if (!has_specific_permission(get_member(), 'see_unvalidated')) {
                 $where .= ' AND validated=1';
             }
             if (get_param('days', '') != '') {
                 $where .= ' AND add_date>' . strval(time() - get_param_integer('days') * 60 * 60 * 24);
             }
             $first_image = $GLOBALS['SITE_DB']->query('SELECT *' . $sql_suffix_images . ' FROM ' . get_table_prefix() . 'images r WHERE ' . $where . ' ORDER BY ' . $sort, 1);
             if (array_key_exists(0, $first_image)) {
                 $row = $first_image[0];
                 $probe_type = 'image';
                 $probe_id = $row['id'];
             }
             // If else, then we have no probe_type, and thus won't be able to show anything
         }
     }
     if (!is_null($row) && $row['validated'] == 0) {
         if (!has_specific_permission(get_member(), 'jump_to_unvalidated')) {
             access_denied('SPECIFIC_PERMISSION', 'jump_to_unvalidated');
         }
         $warning_details = do_template('WARNING_TABLE', array('WARNING' => do_lang_tempcode(get_param_integer('redirected', 0) == 1 ? 'UNVALIDATED_TEXT_NON_DIRECT' : 'UNVALIDATED_TEXT')));
     } else {
         $warning_details = new ocp_tempcode();
     }
     switch ($probe_type) {
         case 'video':
             if (is_null($row)) {
                 $map = array('cat' => $cat, 'id' => $probe_id);
                 if (!has_specific_permission(get_member(), 'see_unvalidated')) {
                     $map['validated'] = 1;
                 }
                 $rows = $GLOBALS['SITE_DB']->query_select('videos', array('*'), $map, '', 1);
                 if (!array_key_exists(0, $rows)) {
                     attach_message(do_lang_tempcode('MISSING_RESOURCE'), 'warn');
                     break;
                 }
                 $row = $rows[0];
             }
             if (has_actual_page_access(NULL, 'cms_galleries', NULL, NULL) && has_edit_permission('mid', get_member(), $row['submitter'], 'cms_galleries', array('galleries', $cat))) {
                 $entry_edit_url = build_url(array('page' => 'cms_galleries', 'type' => '_ev', 'id' => $row['id']), get_module_zone('cms_galleries'));
             }
             /*$view_url=build_url(array('page'=>'_SELF','type'=>'video','root'=>($root=='root')?NULL:$root,'wide'=>1,'id'=>$row['id']),'_SELF');
             		$thumb_url=$row['thumb_url'];
             		if (($thumb_url!='') && (url_is_local($thumb_url))) $thumb_url=get_custom_base_url().'/'.$thumb_url;
             		if ($thumb_url=='') $thumb_url=find_theme_image('na');
             		$thumb=do_image_thumb($thumb_url,'');*/
             // Video HTML
             $thumb_url = $row['thumb_url'];
             $url = $row['url'];
             $video_player = show_gallery_media($url, $thumb_url, $row['video_width'], $row['video_height'], $row['video_length']);
             $view_url = build_url(array('page' => '_SELF', 'type' => 'video', 'id' => $row['id'], 'wide' => 1, 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF');
             // Some extra variables relating to the currently selected entry
             $entry_title = get_translated_text($row['title']);
             $entry_rating_details = get_rating_box(get_self_url(true), $entry_title, 'videos', strval($row['id']), $row['allow_rating'] == 1, $row['submitter']);
             $entry_comment_details = get_comments('videos', $row['allow_comments'] == 1, strval($row['id']), false, get_value('comment_forum__videos'), NULL, NULL, false, false, $row['submitter'], $row['allow_comments'] == 2);
             $entry_trackback_details = get_trackbacks('videos', strval($row['id']), $row['allow_trackbacks'] == 1);
             $entry_add_date_raw = is_null($row['add_date']) ? '' : strval($row['add_date']);
             $entry_edit_date_raw = is_null($row['edit_date']) ? '' : strval($row['edit_date']);
             $entry_views = integer_format($row['video_views']);
             $current_entry = do_template('GALLERY_FLOWMODE_VIDEO', array('_GUID' => 'b6a795dc3853789df2a2951293d0fb26', '_TITLE' => get_translated_text($row['title']), 'EDIT_URL' => $entry_edit_url, 'MAIN' => true, 'RATING_DETAILS' => $entry_rating_details, 'DESCRIPTION' => get_translated_tempcode($row['comments']), 'CAT' => $cat, 'THUMB_URL' => $url, 'FULL_URL' => $full_url, 'ID' => strval($row['id']), 'VIEWS' => strval($row['video_views']), 'ADD_DATE_RAW' => strval($row['add_date']), 'EDIT_DATE_RAW' => is_null($row['edit_date']) ? '' : strval($row['edit_date']), 'SUBMITTER' => strval($row['submitter']), 'VIDEO_PLAYER' => $video_player, 'VIEW_URL' => $view_url, 'VIDEO_DETAILS' => show_video_details($row)));
             $GLOBALS['SITE_DB']->query_update('videos', array('video_views' => $row['video_views'] + 1), array('id' => $row['id']), '', 1, NULL, false, true);
             break;
         case 'image':
             if (is_null($row)) {
                 $map = array('cat' => $cat, 'id' => $probe_id);
                 if (!has_specific_permission(get_member(), 'see_unvalidated')) {
                     $map['validated'] = 1;
                 }
                 $rows = $GLOBALS['SITE_DB']->query_select('images', array('*'), $map, '', 1);
                 if (!array_key_exists(0, $rows)) {
                     attach_message(do_lang_tempcode('MISSING_RESOURCE'), 'warn');
                     break;
                 }
                 $row = $rows[0];
             }
             if (has_actual_page_access(NULL, 'cms_galleries', NULL, NULL) && has_edit_permission('mid', get_member(), $row['submitter'], 'cms_galleries', array('galleries', $cat))) {
                 $entry_edit_url = build_url(array('page' => 'cms_galleries', 'type' => '_ed', 'id' => $row['id']), get_module_zone('cms_galleries'));
             }
             /*$view_url=build_url(array('page'=>'_SELF','type'=>'image','root'=>($root=='root')?NULL:$root,'wide'=>1,'id'=>$row['id']),'_SELF');
             		$thumb_url=ensure_thumbnail($row['url'],$row['thumb_url'],'galleries','images',$row['id']);
             		$thumb=do_image_thumb($thumb_url,'');*/
             $thumb_url = $row['url'];
             //do_image_thumb($row['url'],'');
             if (url_is_local($thumb_url)) {
                 $file_size = file_exists(get_custom_file_base() . '/' . rawurldecode($thumb_url)) ? strval(filesize(get_custom_file_base() . '/' . rawurldecode($thumb_url))) : '';
                 $thumb_url = get_custom_base_url() . '/' . $thumb_url;
             } else {
                 $file_size = '';
             }
             $full_url = $thumb_url;
             $view_url = build_url(array('page' => '_SELF', 'type' => 'image', 'id' => $row['id'], 'wide' => 1, 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF');
             // Some extra variables relatin to the currently selected entry
             $entry_title = get_translated_text($row['title']);
             $entry_rating_details = get_rating_box(get_self_url(true), $entry_title, 'images', strval($row['id']), $row['allow_rating'] == 1, $row['submitter']);
             $entry_comment_details = get_comments('images', $row['allow_comments'] == 1, strval($row['id']), false, get_value('comment_forum__images'), NULL, NULL, false, false, $row['submitter'], $row['allow_comments'] == 2);
             $entry_trackback_details = get_trackbacks('images', strval($row['id']), $row['allow_trackbacks'] == 1);
             $entry_add_date_raw = is_null($row['add_date']) ? '' : strval($row['add_date']);
             $entry_edit_date_raw = is_null($row['edit_date']) ? '' : strval($row['edit_date']);
             $entry_views = integer_format($row['image_views']);
             $current_entry = do_template('GALLERY_FLOWMODE_IMAGE', array('_GUID' => 'fd486cf9a3338bc277a7170a1961089b', '_TITLE' => get_translated_text($row['title']), 'EDIT_URL' => $entry_edit_url, 'MAIN' => true, 'RATING_DETAILS' => $entry_rating_details, 'DESCRIPTION' => get_translated_tempcode($row['comments']), 'FILE_SIZE' => $file_size, 'CAT' => $cat, 'THUMB_URL' => $thumb_url, 'FULL_URL' => $full_url, 'ID' => strval($row['id']), 'VIEWS' => strval($row['image_views']), 'ADD_DATE_RAW' => strval($row['add_date']), 'EDIT_DATE_RAW' => is_null($row['edit_date']) ? '' : strval($row['edit_date']), 'SUBMITTER' => strval($row['submitter']), 'THUMB' => $thumb_url, 'VIEW_URL' => $view_url));
             $GLOBALS['SITE_DB']->query_update('images', array('image_views' => $row['image_views'] + 1), array('id' => $row['id']), '', 1, NULL, false, true);
             break;
     }
     $entries = new ocp_tempcode();
     // Display entries
     $where = db_string_equal_to('cat', $cat);
     if (!has_specific_permission(get_member(), 'see_unvalidated')) {
         $where .= ' AND validated=1';
     }
     if (get_param('days', '') != '') {
         $where .= ' AND add_date>' . strval(time() - get_param_integer('days') * 60 * 60 * 24);
     }
     $_max_entries = get_value('flow_mode_max');
     if (is_null($_max_entries)) {
         $max_entries = 50;
     } else {
         $max_entries = intval($_max_entries);
     }
     $query_rows_videos = $GLOBALS['SITE_DB']->query('SELECT *' . $sql_suffix_videos . ' FROM ' . get_table_prefix() . 'videos r WHERE ' . $where . ' ORDER BY ' . $sort, $max_entries);
     $query_rows_images = $GLOBALS['SITE_DB']->query('SELECT *' . $sql_suffix_images . ' FROM ' . get_table_prefix() . 'images r WHERE ' . $where . ' ORDER BY ' . $sort, $max_entries);
     // See if there is a numbering system to sort by
     $all_are = NULL;
     foreach ($query_rows_images as $q) {
         $this_are = strtolower(preg_replace('#\\d#', '', $q['url']));
         if (is_null($all_are)) {
             $all_are = $this_are;
         }
         if ($all_are != $this_are) {
             $all_are = NULL;
             break;
         }
     }
     if (!is_null($all_are)) {
         global $M_SORT_KEY;
         $M_SORT_KEY = mixed();
         $M_SORT_KEY = 'url';
         usort($query_rows_images, 'multi_sort');
     }
     $query_rows = array_merge($query_rows_images, $query_rows_videos);
     foreach ($query_rows as $row) {
         $type = array_key_exists('video_length', $row) ? 'video' : 'image';
         if ($type == $probe_type && $row['id'] == $probe_id) {
             continue;
         }
         $caption = get_translated_tempcode($row['comments']);
         $probe_url = build_url(array('page' => '_SELF', 'type' => 'misc', 'root' => $root == 'root' ? NULL : $root, 'id' => $cat, 'flow_mode_interface' => get_param_integer('flow_mode_interface', NULL), 'probe_type' => $type, 'probe_id' => $row['id'], 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF');
         $view_url_2 = build_url(array('page' => '_SELF', 'wide' => 1, 'type' => $type, 'root' => $root == 'root' ? NULL : $root, 'id' => $row['id'], 'days' => get_param('days', '') == '' ? NULL : get_param('days'), 'sort' => $sort == 'add_date DESC' ? NULL : $sort, 'select' => $image_select == '*' ? NULL : $image_select, 'video_select' => $video_select == '*' ? NULL : $video_select), '_SELF');
         if (array_key_exists('url', $row)) {
             $thumb_url = ensure_thumbnail($row['url'], $row['thumb_url'], 'galleries', 'images', $row['id']);
         } else {
             $thumb_url = $row['thumb_url'];
             if ($thumb_url == '') {
                 $thumb_url = find_theme_image('na');
             }
             if (url_is_local($thumb_url)) {
                 $thumb_url = get_custom_base_url() . '/' . $thumb_url;
             }
         }
         $class = $type == $probe_type && $row['id'] == $probe_id ? 'currentimage' : '';
         $thumb = do_image_thumb($thumb_url, $caption);
         $entries->attach(do_template('GALLERY_FLOW_ENTRY', array('_GUID' => 'ff75c904ba7fe857484874483ed65f5a', 'DESCRIPTION' => get_translated_tempcode($row['comments']), '_TITLE' => get_translated_text($row['title']), 'TYPE' => $type, 'ID' => strval($row['id']), 'VIEWS' => strval($row[$type . '_views']), 'ADD_DATE_RAW' => strval($row['add_date']), 'EDIT_DATE_RAW' => is_null($row['edit_date']) ? '' : strval($row['edit_date']), 'SUBMITTER' => strval($row['submitter']), 'CLASS' => $class, 'THUMB' => $thumb, 'VIEW_URL' => $probe_url, 'VIEW_URL_2' => $view_url_2)));
     }
     $member_id = get_member_id_from_gallery_name($cat, NULL, true);
     if (get_forum_type() == 'ocf') {
         require_code('ocf_members');
         require_code('ocf_members2');
     }
     $member_details = is_null($member_id) || get_forum_type() != 'ocf' ? new ocp_tempcode() : ocf_show_member_box($member_id);
     $rep_image_url = '';
     if ($rep_image != '' && url_is_local($rep_image)) {
         $rep_image_url = get_custom_base_url() . '/' . $rep_image;
     } elseif ($rep_image != '') {
         $rep_image_url = $rep_image;
     }
     list(, , , $first_entry_id, , , $first_type) = $this->build_set_navigation(db_string_equal_to('cat', $cat), '', '', $probe_id, $root, $probe_type, get_param_integer('slideshow', 0), get_param_integer('wide_high', 0), $start, $max, $cat, $sort, $sort_backwards, $sql_suffix_images, $sql_suffix_videos, get_param('select', '*'), get_param('video_select', '*'));
     return do_template('GALLERY_FLOW_MODE_SCREEN', array('_GUID' => '73728cb94579f06ab487627101011d43', 'FIRST_ENTRY_ID' => is_null($first_entry_id) ? '' : $first_type . ':' . strval($first_entry_id), 'SORTING' => $sorting, '_TITLE' => $fullname, 'MEMBER_ID' => is_null($member_id) ? '' : strval($member_id), 'VIEW_URL' => $view_url, 'FULL_URL' => $full_url, 'PROBE_TYPE' => $probe_type, 'PROBE_ID' => is_null($probe_id) ? '' : strval($probe_id), 'ENTRY_TITLE' => $entry_title, 'ENTRY_DESCRIPTION' => $entry_description, 'ENTRY_SUBMITTER' => is_null($entry_submitter) ? '' : strval($entry_submitter), 'ENTRY_VIEWS' => $entry_views, 'ENTRY_ADD_DATE_RAW' => $entry_add_date_raw, 'ENTRY_EDIT_DATE_RAW' => $entry_edit_date_raw, 'ENTRY_TRACKBACK_DETAILS' => $entry_trackback_details, 'ENTRY_RATING_DETAILS' => $entry_rating_details, 'ENTRY_COMMENT_DETAILS' => $entry_comment_details, 'ENTRY_EDIT_URL' => $entry_edit_url, 'WARNING_DETAILS' => $warning_details, 'TAGS' => get_loaded_tags('galleries'), 'RATING_DETAILS' => $rating_details, 'COMMENT_DETAILS' => $comment_details, 'BROWSE' => $browse, 'REP_IMAGE_URL' => $rep_image_url, 'TITLE' => $title, 'MEMBER_DETAILS' => $member_details, 'DESCRIPTION' => $description, 'CHILDREN' => $children, 'CURRENT_ENTRY' => $current_entry, 'ENTRIES' => $entries, 'ADD_GALLERY_URL' => $add_gallery_url, 'EDIT_URL' => $edit_url, 'IMAGE_URL' => $submit_image_url, 'VIDEO_URL' => $submit_video_url, 'MAY_DOWNLOAD' => $may_download, 'CAT' => $cat));
 }
Exemple #3
0
/**
 * Main wrapper function to embed miscellaneous feedback systems into a module output.
 *
 * @param  ID_TEXT		The page name
 * @param  ID_TEXT		Content ID
 * @param  BINARY			Whether rating is allowed
 * @param  integer		Whether comments/reviews is allowed (reviews allowed=2)
 * @set 0 1 2
 * @param  BINARY			Whether trackbacks are allowed
 * @param  BINARY			Whether the content is validated
 * @param  ?MEMBER		Content owner (NULL: none)
 * @param  mixed			URL to view the content
 * @param  SHORT_TEXT	Content title
 * @param  ?string		Forum to post comments in (NULL: site-wide default)
 * @return array			Tuple: Rating details, Comment details, Trackback details
 */
function embed_feedback_systems($page_name, $content_id, $allow_rating, $allow_comments, $allow_trackbacks, $validated, $submitter, $content_url, $content_title, $forum)
{
    // Sign up original poster for notifications
    if (get_forum_type() == 'ocf') {
        $auto_monitor_contrib_content = $GLOBALS['OCF_DRIVER']->get_member_row_field($submitter, 'm_auto_monitor_contrib_content');
        if ($auto_monitor_contrib_content == 1) {
            $test = $GLOBALS['SITE_DB']->query_value_null_ok('notifications_enabled', 'l_setting', array('l_member_id' => $submitter, 'l_notification_code' => 'comment_posted', 'l_code_category' => $page_name . '_' . $content_id));
            if (is_null($test)) {
                require_code('notifications');
                enable_notifications('comment_posted', $page_name . '_' . $content_id, $submitter);
            }
        }
    }
    actualise_rating($allow_rating == 1, $page_name, $content_id, $content_url, $content_title);
    if (!is_null(post_param('title', NULL)) || $validated == 1) {
        actualise_post_comment($allow_comments >= 1, $page_name, $content_id, $content_url, $content_title, $forum);
    }
    //actualise_post_trackback($allow_trackbacks==1,$page_name,$content_id);
    $rating_details = get_rating_box($content_url, $content_title, $page_name, $content_id, $allow_rating == 1, $submitter);
    $comment_details = get_comments($page_name, $allow_comments == 1, $content_id, false, $forum, NULL, NULL, false, false, $submitter, $allow_comments == 2);
    $trackback_details = get_trackbacks($page_name, $content_id, $allow_trackbacks == 1);
    if (is_object($content_url)) {
        $content_url = $content_url->evaluate();
    }
    $serialized_options = serialize(array($page_name, $content_id, $allow_comments, $submitter, $content_url, $content_title, $forum));
    $hash = best_hash($serialized_options, get_site_salt());
    // A little security, to ensure $serialized_options is not tampered with
    // AJAX support
    $comment_details->attach(do_template('COMMENT_AJAX_HANDLER', array('OPTIONS' => $serialized_options, 'HASH' => $hash)));
    return array($rating_details, $comment_details, $trackback_details);
}