function setUp() { parent::setUp(); require_code('authors'); add_author($author = 'author1', $url = 'www.google.com', $forum_handle = 3, $description = 'happy', $skills = 'play', $meta_keywords = '', $meta_description = ''); add_author($author = 'author2', $url = 'www.yahoo.com', $forum_handle = 3, $description = 'welcome', $skills = 'drama', $meta_keywords = '', $meta_description = ''); // Test the forum was actually created $this->assertTrue('author1' == $GLOBALS['FORUM_DB']->query_value('authors', 'author', array('author' => 'author1'))); }
<?php /** * Created by PhpStorm. * User: Bogdan * Date: 8/21/2015 * Time: 9:34 AM */ include '../inc/functions.php'; if ($_POST) { if (!($author = trim($_POST['author']) != '')) { echo '<div id="error"> You didn\'t enter an author </div>'; } else { $author = trim($_POST['author']); if (add_author($author)) { echo 'The Author has been added'; } } }
/** * Standard import function. * * @param object The DB connection to import from * @param string The table prefix the target prefix is using * @param PATH The base directory we are importing from */ function import_authors($db, $table_prefix, $old_base_dir) { require_code('authors'); $rows = $db->query('SELECT uid FROM ' . $table_prefix . 'news'); foreach ($rows as $row) { $author_data = $db->query('SELECT username, email FROM ' . $table_prefix . 'users WHERE id=' . strval($row['uid'])); $url = isset($author_data[0]['email']) && $author_data[0]['email'] != '' ? 'mailto:' . $author_data[0]['email'] : ''; $author_name = isset($author_data[0]['username']) && $author_data[0]['username'] != '' ? $author_data[0]['username'] : ''; add_author($author_name, $url, NULL, '', ''); } }
} $valid_authors[ARTIST]['value'] = trim(filter_input(INPUT_POST, ARTIST, FILTER_SANITIZE_STRING)); $valid_authors[ARTIST]['isValid'] = strlen($valid_authors[ARTIST]['value']) > 2; if (!$valid_authors[ARTIST]['isValid']) { $errMsg = $valid_authors[ARTIST]['errMsg'] = 'Le déssinateur est non valid!'; } foreach ($valid_authors as $fields) { if (!$fields['isValid']) { $isFormValid = false; break; } } } if (array_key_exists('create_submit', $_POST)) { if ($isFormValid) { add_author($valid_authors[WRITER]['value'], $valid_authors[ARTIST]['value']); header('Location: index.php'); exit; } } elseif (array_key_exists('edit_submit', $_POST)) { if ($isFormValid) { update_author($_GET['id'], $valid_authors[WRITER]['value'], $valid_authors[ARTIST]['value']); $isUpdated = true; } } elseif (array_key_exists('delete_submit', $_POST)) { delete_author($_GET['id']); header('Location: index.php'); exit; } elseif (array_key_exists('close_submit', $_POST)) { header('Location: index.php'); exit;
/** * Standard import function. * * @param object The DB connection to import from * @param string The table prefix the target prefix is using * @param PATH The base directory we are importing from */ function import_authors($db, $table_prefix, $file_base) { require_code('authors'); $rows = $db->query('SELECT * FROM ' . $table_prefix . 'authors', NULL, NULL, true); if (is_null($rows)) { return; } foreach ($rows as $row) { $test = $GLOBALS['SITE_DB']->query_value_null_ok('authors', 'author', array('author' => $row['author'])); if (is_null($test)) { add_author($row['author'], $row['url'], $row['forum_handle'], $this->get_lang_string($db, $row['description']), $this->get_lang_string($db, $row['skills'])); } } $this->_import_catalogue_entry_linkage($db, $table_prefix, 'author', NULL); }
function parse(&$tree, $param = "", $root = "") { global $content_provider; $ret = ''; $tag = $this->name; $close_tag = ""; # Pre-fixing XHTML to wiki tags $xhtml_conversion = $this->convert_xhtml_tags($tag, $tree, $ret); if ($tag == 'SPACE') { return ' '; # Speedup } else { if ($tag == 'ARTICLES') { # dummy, to prevent default action to be called } else { if ($tag == 'AUTHORS') { # dummy, to prevent default action to be called } else { if ($tag == 'AUTHOR') { add_author($this->sub_parse($tree)); return ""; } else { if ($tag == 'ARTICLE') { $title = isset($this->attrs["TITLE"]) ? $this->attrs["TITLE"] : "Untiteled"; $id = $this->internal_id($title); $ret .= "<article id='{$id}'>\n"; $ret .= "<title>" . urldecode($title) . "</title>\n"; } else { if ($tag == 'LINK') { return $this->handle_link($tree); # Shortcut } else { if ($tag == 'EXTENSION') { return $this->handle_extensions($tree); # Shortcut } else { if ($tag == 'HEADING') { $level = count($tree->sections); $wanted = $this->attrs["LEVEL"]; $ret .= $this->close_last("para", $tree); while ($level >= $wanted) { $x = array_pop($tree->sections); if ($x == 1) { $ret .= $this->close_last("section", $tree); } $level--; } while ($level < $wanted) { $level++; if ($level < $wanted) { array_push($tree->sections, 0); } else { $ret .= $this->ensure_new("section", $tree, "<section>"); array_push($tree->sections, 1); } } $ret .= "<title>"; } else { if ($tag == 'PARAGRAPH' || $tag == 'XHTML:P') { # Paragraph $ret .= $this->close_last("para", $tree); $ret .= $this->ensure_new("para", $tree); } else { if ($tag == 'LIST') { # List $ret .= $this->close_last("para", $tree); $list_type = strtolower($this->attrs['TYPE']); if ($list_type == 'bullet' || $list_type == 'ident' || $list_type == 'def') { $ret .= '<itemizedlist mark="opencircle">'; } else { if ($list_type == 'numbered') { $ret .= '<orderedlist numeration="arabic">'; } } } else { if ($tag == 'LISTITEM') { # List item $ret .= $this->close_last("para", $tree); $ret .= "<listitem>\n"; $ret .= $this->ensure_new("para", $tree); } else { if ($tag == 'TABLE') { # Table $ret .= $this->add_new("table", $tree); # $ret .= "<title></title>" ; $ret .= $this->make_tgroup($tree); $ret .= "<tbody>"; } else { if ($tag == 'TABLEROW') { # Tablerow $retl_before = strlen($ret); $ret .= $this->add_new("row", $tree); $retl_after = strlen(trim($ret)); } else { if ($tag == 'TABLEHEAD') { # Tablehead $ret .= $this->add_new("entry", $tree); } else { if ($tag == 'TABLECELL') { # Tablecell $old_ret = $ret; $ret .= $this->add_new("entry", $tree); } else { if ($tag == 'TABLECAPTION') { # Tablecaption if ($param != "DOCAPTION") { return ""; } # $ret .= $this->add_new ( "title" , $tree ) ; } else { if ($tag == 'BOLD' || $tag == 'XHTML:STRONG' || $tag == 'XHTML:B') { # <b> or ''' $ret .= $this->ensure_new("para", $tree); $ret .= '<emphasis role="bold">'; $close_tag = "emphasis"; } else { if ($tag == 'ITALICS' || $tag == 'XHTML:EM' || $tag == 'XHTML:I') { # <i> or '' $ret .= $this->ensure_new("para", $tree); $ret .= '<emphasis>'; $close_tag = "emphasis"; } else { if ($tag == 'XHTML:TT') { # <tt> $ret .= $this->ensure_new("para", $tree); $ret .= '<literal>'; $close_tag = "literal"; } else { if ($tag == 'XHTML:SUB') { # <sub> $ret .= $this->ensure_new("para", $tree); $ret .= '<subscript>'; $close_tag = "subscript"; } else { if ($tag == 'XHTML:SUP') { # <sup> $ret .= $this->ensure_new("para", $tree); $ret .= '<superscript>'; $close_tag = "superscript"; } else { if ($tag == 'XHTML:SUP') { # <sup> $ret .= $this->ensure_new("para", $tree); $ret .= '<superscript>'; $close_tag = "superscript"; } else { if ($tag == 'PRELINE' or $tag == 'XHTML:PRE') { # <pre> $ret .= $this->ensure_new("para", $tree); $ret .= '<programlisting>'; $close_tag = "programlisting"; } else { if ($tag == 'DEFVAL') { $ret .= $this->ensure_new("para", $tree); $ret .= " : "; } else { # Default : normal text $ret .= $this->ensure_new("para", $tree); } } } } } } } } } } } } } } } } } } } } } } } } # Get the sub-items $length_between = strlen($ret); if ($tag != 'MAGIC_VARIABLE' && $tag != 'TEMPLATE') { $ret .= $this->sub_parse($tree); } $length_between = strlen($ret) - $length_between; # Close tags if ($tag == 'LIST') { $ret .= $this->close_last("para", $tree); if ($list_type == 'bullet' || $list_type == 'ident' || $list_type == 'def') { $ret .= "</itemizedlist>\n"; } else { if ($list_type == 'numbered') { $ret .= "</orderedlist>\n"; } } if ($xhtml_conversion) { $ret .= $this->ensure_new("para", $tree); } } else { if ($tag == 'LISTITEM') { $ret .= $this->close_last("para", $tree); $ret .= "</listitem>\n"; } else { if ($close_tag != "") { $ret .= "</{$close_tag}>"; } else { if ($tag == 'HEADING') { $ret .= "</title>\n"; } else { if ($tag == 'TABLE') { # Table $ret .= "</tbody>"; $ret .= "</tgroup>"; $ret .= $this->close_last("table", $tree); } else { if ($tag == 'TABLEROW') { # Tablerow if (strlen(trim($ret)) == $retl_after) { $ret = substr($ret, 0, $retl_before); $this->close_last("row", $tree); } else { $ret .= $this->close_last("row", $tree); } } else { if ($tag == 'TABLEHEAD') { # Tablehead !!!! $ret .= $this->close_last("entry", $tree); } else { if ($tag == 'TABLECELL') { # Tablecell $ret .= $this->close_last("entry", $tree); # if ( $length_between == 0 ) $ret = $old_ret ; } else { if ($tag == 'TABLECAPTION') { # Tablecaption # $ret .= $this->close_last ( "title" , $tree ) ; } else { if ($tag == 'ARTICLE') { $ret .= $this->close_last("section", $tree, true); $ret .= $this->close_last("para", $tree); $ret .= "</article>"; } } } } } } } } } } return $ret; }
/** * The actualiser to add an author. * * @return tempcode The UI */ function __ad() { $title = get_page_title('DEFINE_AUTHOR'); $author = post_param('author', get_param('author')); if (!has_edit_author_permission(get_member(), $author)) { access_denied('SPECIFIC_PERMISSION', 'edit_midrange_content'); } if ($author == '') { $forum_handle_string = post_param('forum_handle', strval(get_member())); $author = is_numeric($forum_handle_string) ? $GLOBALS['FORUM_DRIVER']->get_username(intval($forum_handle_string)) : $forum_handle_string; if (is_null($author)) { $author = do_lang('UNKNOWN'); } } $_forum_handle = post_param('forum_handle', NULL); if ($_forum_handle == '') { $_forum_handle = NULL; } if (!is_null($_forum_handle)) { $forum_handle = is_numeric($_forum_handle) ? intval($_forum_handle) : $GLOBALS['FORUM_DRIVER']->get_member_from_username($_forum_handle); } else { $forum_handle = NULL; } if (post_param_integer('delete', 0) == 1) { if (!has_delete_author_permission(get_member(), $author)) { access_denied('SPECIFIC_PERMISSION', 'delete_midrange_content'); } delete_author($author); $author = NULL; require_code('fields'); if (has_tied_catalogue('author')) { delete_form_custom_fields('author', $author); } } else { $_url = post_param('url'); if (strpos($_url, '@') !== false && strpos($_url, 'mailto:') === false) { $_url = 'mailto:' . $_url; } $url = strpos($_url, 'mailto:') === false ? fixup_protocolless_urls($_url) : $_url; add_author($author, $url, $forum_handle, post_param('description'), post_param('skills'), post_param('meta_keywords', ''), post_param('meta_description', '')); require_code('fields'); if (has_tied_catalogue('author')) { save_form_custom_fields('author', $author); } if (addon_installed('awards')) { require_code('awards'); handle_award_setting('author', $author); } } breadcrumb_set_parents(array(array('_SELF:_SELF:misc', do_lang_tempcode('AUTHOR_MANAGE')))); return $this->do_next_manager($title, do_lang_tempcode('SUCCESS'), $author); }
/** * Standard import function. * * @param object The DB connection to import from * @param string The table prefix the target prefix is using * @param PATH The base directory we are importing from * @return tempcode Import message */ function import_downloads_and_categories($db, $table_prefix, $old_base_dir) { require_code('downloads2'); require_code('downloads'); $category_id_remap = array(); $rows = $db->query('SELECT * FROM ' . $table_prefix . 'downloads_categories ORDER BY cid'); $category_id_remap[0] = db_get_first_id(); $orig_parents = array(); foreach ($rows as $row) { $orig_parents[$row['cid']] = array($row['parentid'], $row['title'], $row['cdescription']); $id = add_download_category('', 0, '', '', ''); $category_id_remap[$row['cid']] = $id; $groups = $GLOBALS['FORUM_DRIVER']->get_usergroup_list(false, true); foreach (array_keys($groups) as $group_id) { $GLOBALS['SITE_DB']->query_insert('group_category_access', array('module_the_name' => 'downloads', 'category_name' => strval($id), 'group_id' => $group_id)); } } foreach ($orig_parents as $cid => $bits) { list($orig_parent, $category, $description) = $bits; if ($orig_parent == 0) { $parent_id = db_get_first_id(); } else { $parent_id = $category_id_remap[$orig_parent]; } edit_download_category($category, $parent_id, $description, $category_id_remap[$cid], '', '', '', ''); } $rows = $db->query('SELECT * FROM ' . $table_prefix . 'downloads_downloads'); foreach ($rows as $i => $row) { $rows[$i]['validated'] = 1; $rows[$i]['date'] = $this->mysql_time_to_timestamp($row['date']); } $rows2 = $db->query('SELECT * FROM ' . $table_prefix . 'downloads_newdownload'); foreach ($rows2 as $i => $row) { $rows2[$i]['validated'] = 0; $rows2[$i]['totalvotes'] = 0; $rows2[$i]['hits'] = 0; $rows2[$i]['date'] = time(); $rows2[$i]['screenshot'] = ''; } $rows = array_merge($rows, $rows2); foreach ($rows as $row) { $url_parts = explode('/', $row['url']); $original_filename = rawurldecode($url_parts[count($url_parts) - 1]); $url = $row['url']; if (url_is_local($url)) { $url = get_custom_base_url() . '/' . $url; } $comments = ''; $comments_rows = $db->query('SELECT editorialtext FROM ' . $table_prefix . 'downloads_editorials WHERE downloadid=' . $row['lid']); if (array_key_exists(0, $comments_rows)) { $comments = $comments_rows[0]['editorialtext']; } $member = $GLOBALS['FORUM_DRIVER']->get_member_from_username($row['submitter']); if (is_null($member)) { $member = get_member(); } $new_id = add_download($category_id_remap[$row['cid']], $row['title'], $url, html_to_comcode($row['description']), $row['name'], html_to_comcode($comments), NULL, $row['validated'], 1, 1, 1, '', $original_filename, $row['filesize'], 0, 0, NULL, $row['date'], $row['hits'], $row['hits'], $member); if ($row['totalvotes'] != 0) { $real_rating = $row['downloadratingsummary']; // Same scale as ocPortal :) $GLOBALS['SITE_DB']->query_insert('rating', array('rating_for_type' => 'downloads', 'rating_for_id' => strval($new_id), 'rating_member' => get_member(), 'rating_ip' => '127.0.0.1', 'rating_time' => time(), 'rating' => $real_rating)); } // Homepage->Into author $test = $GLOBALS['SITE_DB']->query_value_null_ok('authors', 'url', array('author' => $row['name'])); if (is_null($test)) { require_code('authors'); add_author($row['name'], $row['homepage'], NULL, '', ''); } else { $GLOBALS['SITE_DB']->query_update('authors', array('url' => $row['homepage']), array('author' => $row['name'])); } // Image if ($row['screenshot'] != '' && addon_installed('galleries')) { $image_url = $row['screenshot']; if (url_is_local($image_url)) { $image_url = get_custom_base_url() . '/' . $image_url; } $thumb_url = ''; add_image('', 'download_' . strval($new_id), '', $image_url, $thumb_url, $row['validated'], 1, 1, 1, ''); } } $out = do_template('IMPORT_MESSAGE', array('_GUID' => 'ff9131c37b9e4fa2cff991e3479ae867', 'MESSAGE' => do_lang_tempcode('IMPORT_REBUILD_CACHE', do_lang('IMAGE_THUMBNAILS')))); return $out; }
function do_work() { $num_wanted = 100000; require_code('config2'); set_option('post_history_days', '0'); // Needed for a little sanity in recent post retrieval set_value('disable_sunk', '1'); // members (remember to test the username autocompleter, and birthdays) // authors (remember to check author autocompleter and popup author list) // lots of people getting notifications on a forum // lots of people getting notifications on a topic require_code('authors'); require_code('ocf_members_action'); require_code('notifications'); for ($i = $GLOBALS['FORUM_DB']->query_value('f_members', 'COUNT(*)'); $i < $num_wanted; $i++) { $member_id = ocf_make_member(uniqid('', true), uniqid('', true), uniqid('', true) . '@example.com', array(), intval(date('d')), intval(date('m')), intval(date('Y')), array(), NULL, NULL, 1, NULL, NULL, '', NULL, '', 0, 0, 1, '', '', '', 1, 1, NULL, 1, 1, '', NULL, '', false); add_author(random_line(), '', $member_id, random_text(), random_text()); enable_notifications('ocf_topic', 'forum:' . strval(db_get_first_id()), $member_id); enable_notifications('ocf_topic', strval(db_get_first_id()), $member_id); // number of friends to a single member $GLOBALS['SITE_DB']->query_insert('chat_buddies', array('member_likes' => $member_id, 'member_liked' => db_get_first_id() + 1, 'date_and_time' => time()), false, true); } $member_id = db_get_first_id() + 2; // point earn list / gift points to a single member require_code('points2'); for ($j = $GLOBALS['SITE_DB']->query_value('gifts', 'COUNT(*)'); $j < $num_wanted; $j++) { give_points(10, $member_id, mt_rand(db_get_first_id(), min(100, $num_wanted - 1)), random_line(), false, false); } // number of friends of a single member for ($j = intval(floatval($GLOBALS['SITE_DB']->query_value('chat_buddies', 'COUNT(*)')) / 2.0); $j < $num_wanted; $j++) { $GLOBALS['SITE_DB']->query_insert('chat_buddies', array('member_likes' => $member_id, 'member_liked' => $j + db_get_first_id(), 'date_and_time' => time()), false, true); } echo 'done member/authors/points/notifications/friends stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // banners require_code('banners2'); for ($i = $GLOBALS['SITE_DB']->query_value('banners', 'COUNT(*)'); $i < $num_wanted; $i++) { add_banner(uniqid('', true), get_logo_url(), random_line(), random_text(), 100, get_base_url(), 3, '', db_get_first_id(), NULL, db_get_first_id() + 1, 1); } echo 'done banner stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // comcode pages require_code('files'); require_code('files2'); for ($i = $GLOBALS['SITE_DB']->query_value('comcode_pages', 'COUNT(*)'); $i < $num_wanted; $i++) { $file = uniqid('', true); /*$path=get_custom_file_base().'/site/pages/comcode_custom/'.fallback_lang().'/'.$file.'.txt'; $myfile=fopen($path,'wt'); fwrite($myfile,random_text()); fclose($myfile); sync_file($path); fix_permissions($path);*/ $GLOBALS['SITE_DB']->query_insert('comcode_pages', array('the_zone' => 'site', 'the_page' => $file, 'p_parent_page' => '', 'p_validated' => 1, 'p_edit_date' => NULL, 'p_add_date' => time(), 'p_submitter' => db_get_first_id(), 'p_show_as_edit' => 0)); } echo 'done comcode stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // zones require_code('zones2'); require_code('abstract_file_manager'); for ($i = $GLOBALS['SITE_DB']->query_value('zones', 'COUNT(*)'); $i < min($num_wanted, 1000); $i++) { actual_add_zone(uniqid('', true), random_line(), 'start', random_line(), 'default', 0, 0, 0); } echo 'done zone stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // calendar events require_code('calendar2'); for ($i = $GLOBALS['SITE_DB']->query_value('calendar_events', 'COUNT(*)'); $i < $num_wanted; $i++) { add_calendar_event(db_get_first_id(), '', NULL, 0, random_line(), random_text(), 1, 1, intval(date('Y')), intval(date('m')), intval(date('d')), 0, 0); } echo 'done event stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // chat rooms require_code('chat2'); require_code('chat'); for ($i = $GLOBALS['SITE_DB']->query_value('chat_rooms', 'COUNT(*)'); $i < $num_wanted; $i++) { $room_id = add_chatroom(random_text(), random_line(), mt_rand(db_get_first_id() + 1, $num_wanted - 1), strval(db_get_first_id() + 1), '', '', '', fallback_lang()); } $room_id = db_get_first_id() + 1; // messages in chat room for ($j = $GLOBALS['SITE_DB']->query_value('chat_messages', 'COUNT(*)'); $j < $num_wanted; $j++) { $_message_parsed = insert_lang_comcode(random_text(), 4); $GLOBALS['SITE_DB']->query_insert('chat_messages', array('system_message' => 0, 'ip_address' => '', 'room_id' => $room_id, 'user_id' => db_get_first_id(), 'date_and_time' => time(), 'the_message' => $_message_parsed, 'text_colour' => get_option('chat_default_post_colour'), 'font_name' => get_option('chat_default_post_font'))); } echo 'done chat stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // download categories under a subcategory require_code('downloads2'); $subcat_id = add_download_category(random_line(), db_get_first_id(), random_text(), ''); for ($i = $GLOBALS['SITE_DB']->query_value('download_categories', 'COUNT(*)'); $i < $num_wanted; $i++) { add_download_category(random_line(), $subcat_id, random_text(), ''); } // downloads (remember to test content by the single author) require_code('downloads2'); require_code('awards'); $time = time(); for ($i = $GLOBALS['SITE_DB']->query_value('download_downloads', 'COUNT(*)'); $i < $num_wanted; $i++) { $content_id = add_download(db_get_first_id(), random_line(), get_logo_url(), random_text(), 'admin', random_text(), NULL, 1, 1, 1, 1, '', uniqid('', true) . '.jpg', 100, 110, 1); give_award(db_get_first_id(), strval($content_id), $time - $i); } $content_id = db_get_first_id(); $content_url = build_url(array('page' => 'downloads', 'type' => 'entry', 'id' => $content_id), 'site'); for ($j = $GLOBALS['SITE_DB']->query_value('trackbacks', 'COUNT(*)'); $j < $num_wanted; $j++) { // trackbacks $GLOBALS['SITE_DB']->query_insert('trackbacks', array('trackback_for_type' => 'downloads', 'trackback_for_id' => $content_id, 'trackback_ip' => '', 'trackback_time' => time(), 'trackback_url' => '', 'trackback_title' => random_line(), 'trackback_excerpt' => random_text(), 'trackback_name' => random_line())); // ratings $GLOBALS['SITE_DB']->query_insert('rating', array('rating_for_type' => 'downloads', 'rating_for_id' => $content_id, 'rating_member' => $j + 1, 'rating_ip' => '', 'rating_time' => time(), 'rating' => 3)); // posts in a comment topic $GLOBALS['FORUM_DRIVER']->make_post_forum_topic(get_option('comments_forum_name'), 'downloads_' . strval($content_id), get_member(), random_text(), random_line(), '', do_lang('COMMENT'), $content_url->evaluate(), NULL, NULL, 1, 1); } echo 'done download stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // forums under a forum (don't test it can display, just make sure the main index still works) require_code('ocf_forums_action'); for ($i = $GLOBALS['FORUM_DB']->query_value('f_forums', 'COUNT(*)'); $i < $num_wanted; $i++) { ocf_make_forum(random_line(), random_text(), db_get_first_id(), array(), db_get_first_id() + 3); } // forum topics require_code('ocf_topics_action'); require_code('ocf_posts_action'); require_code('ocf_forums'); require_code('ocf_topics'); for ($i = intval(floatval($GLOBALS['FORUM_DB']->query_value('f_topics', 'COUNT(*)')) / 2.0); $i < $num_wanted; $i++) { $topic_id = ocf_make_topic(db_get_first_id(), '', '', NULL, 1, 0, 0, 0, NULL, NULL, false); ocf_make_post($topic_id, random_line(), random_text(), 0, true, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, false, false); } // forum posts in a topic require_code('ocf_topics_action'); require_code('ocf_posts_action'); $topic_id = ocf_make_topic(db_get_first_id() + 1, '', '', NULL, 1, 0, 0, 0, NULL, NULL, false); for ($i = intval(floatval($GLOBALS['FORUM_DB']->query_value('f_posts', 'COUNT(*)')) / 3.0); $i < $num_wanted; $i++) { ocf_make_post($topic_id, random_line(), random_text(), 0, true, 0, 0, NULL, NULL, NULL, mt_rand(db_get_first_id(), $num_wanted - 1), NULL, NULL, NULL, false, false); } echo 'done forum stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // clubs require_code('ocf_groups_action'); require_code('ocf_groups'); for ($i = $GLOBALS['FORUM_DB']->query_value('f_groups', 'COUNT(*)'); $i < $num_wanted; $i++) { ocf_make_group(random_line(), 0, 0, 0, random_line(), '', NULL, NULL, NULL, 5, 0, 70, 50, 100, 100, 30000, 700, 25, 1, 0, 0, 0, $i, 1, 0, 1); } echo 'done club stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // galleries under a subcategory require_code('galleries2'); $xsubcat_id = uniqid('', true); add_gallery($xsubcat_id, random_line(), random_text(), '', '', 'root'); for ($i = $GLOBALS['SITE_DB']->query_value('galleries', 'COUNT(*)'); $i < $num_wanted; $i++) { add_gallery(uniqid('', true), random_line(), random_text(), '', '', $xsubcat_id); } // images require_code('galleries2'); for ($i = $GLOBALS['SITE_DB']->query_value('images', 'COUNT(*)'); $i < $num_wanted; $i++) { add_image('', 'root', random_text(), get_logo_url(), get_logo_url(), 1, 1, 1, 1, ''); } // videos / validation queue require_code('galleries2'); for ($i = $GLOBALS['SITE_DB']->query_value('videos', 'COUNT(*)'); $i < $num_wanted; $i++) { add_video('', 'root', random_text(), get_logo_url(), get_logo_url(), 0, 1, 1, 1, '', 0, 0, 0); } echo 'done galleries stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // newsletter subscribers require_code('newsletter'); for ($i = $GLOBALS['SITE_DB']->query_value('newsletter', 'COUNT(*)'); $i < $num_wanted; $i++) { basic_newsletter_join(uniqid('', true) . '@example.com'); } echo 'done newsletter stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // polls (remember to test poll archive) require_code('polls'); for ($i = $GLOBALS['SITE_DB']->query_value('poll', 'COUNT(*)'); $i < $num_wanted; $i++) { $poll_id = add_poll(random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), random_line(), 10, 0, 0, 0, 0, ''); } // votes on a poll $poll_id = db_get_first_id(); for ($j = $GLOBALS['SITE_DB']->query_value('poll_votes', 'COUNT(*)'); $j < $num_wanted; $j++) { $cast = mt_rand(1, 6); $ip = uniqid('', true); $GLOBALS['SITE_DB']->query_insert('poll_votes', array('v_poll_id' => $poll_id, 'v_voter_id' => 2, 'v_voter_ip' => $ip, 'v_vote_for' => $cast)); } echo 'done polls stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // quizzes require_code('quiz'); for ($i = $GLOBALS['SITE_DB']->query_value('quizzes', 'COUNT(*)'); $i < $num_wanted; $i++) { add_quiz(random_line(), 0, random_text(), random_text(), random_text(), '', 0, time(), NULL, 3, 300, 'SURVEY', 1, '1) Some question'); } echo 'done quizzes stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // successful searches (to test the search recommender) // ACTUALLY: I have manually verified the code, it is an isolated portion // cedi pages (do a long descendant tree for some, and orphans for others) // cedi posts (remember to test cedi changes screen) require_code('cedi'); for ($i = $GLOBALS['SITE_DB']->query_value('seedy_pages', 'COUNT(*)'); $i < $num_wanted; $i++) { $page_id = cedi_add_page(random_line(), random_text(), '', 1); cedi_add_post($page_id, random_text(), 1, NULL, false); } echo 'done cedi stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // iotds require_code('iotds'); for ($i = $GLOBALS['SITE_DB']->query_value('iotd', 'COUNT(*)'); $i < $num_wanted; $i++) { add_iotd(get_logo_url(), random_line(), random_text(), get_logo_url(), 1, 0, 0, 0, ''); } echo 'done iotd stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // logged hack attempts for ($i = $GLOBALS['SITE_DB']->query_value('hackattack', 'COUNT(*)'); $i < $num_wanted; $i++) { $GLOBALS['SITE_DB']->query_insert('hackattack', array('url' => get_base_url(), 'data_post' => '', 'user_agent' => '', 'referer' => '', 'user_os' => '', 'the_user' => db_get_first_id(), 'date_and_time' => time(), 'ip' => uniqid('', true), 'reason' => 'ASCII_ENTITY_URL_HACK', 'reason_param_a' => '', 'reason_param_b' => '')); } // logged hits in one day require_code('site'); for ($i = $GLOBALS['SITE_DB']->query_value('stats', 'COUNT(*)'); $i < $num_wanted; $i++) { log_stats('/testing' . uniqid('', true), mt_rand(100, 2000)); } echo 'done logs stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // blogs and news entries (remember to test both blogs [categories] list, and a list of all news entries) require_code('news'); for ($i = $GLOBALS['SITE_DB']->query_value('news', 'COUNT(*)'); $i < $num_wanted; $i++) { add_news(random_line(), random_text(), 'admin', 1, 1, 1, 1, '', random_text(), NULL, NULL, NULL, db_get_first_id() + $i); } echo 'done news stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // support tickets require_code('tickets'); require_code('tickets2'); for ($i = intval(floatval($GLOBALS['FORUM_DB']->query_value('f_topics', 'COUNT(*)')) / 2.0); $i < $num_wanted; $i++) { ticket_add_post(mt_rand(db_get_first_id(), $num_wanted - 1), uniqid('', true), db_get_first_id(), random_line(), random_text(), '', ''); } echo 'done tickets stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // catalogues require_code('catalogues2'); $root_id = db_get_first_id(); for ($i = $GLOBALS['SITE_DB']->query_value('catalogues', 'COUNT(*)'); $i < $num_wanted; $i++) { $catalogue_name = uniqid('', true); $root_id = actual_add_catalogue($catalogue_name, random_line(), random_text(), mt_rand(0, 3), 1, '', 30); } // catalogue categories under a subcategory (remember to test all catalogue views: atoz, index, and root cat) $catalogue_name = 'products'; $subcat_id = actual_add_catalogue_category($catalogue_name, random_line(), random_text(), '', $root_id); for ($j = $GLOBALS['SITE_DB']->query_value('catalogue_categories', 'COUNT(*)'); $j < $num_wanted; $j++) { actual_add_catalogue_category($catalogue_name, random_line(), random_text(), '', $subcat_id); } echo 'done catalogue stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } // items in ecommerce store require_code('catalogues2'); $cat_id = $GLOBALS['SITE_DB']->query_value('catalogue_categories', 'MIN(id)', array('c_name' => 'products')); $fields = collapse_1d_complexity('id', $GLOBALS['SITE_DB']->query_select('catalogue_fields', array('id'), array('c_name' => 'products'))); for ($i = $GLOBALS['SITE_DB']->query_value('catalogue_entries', 'COUNT(*)'); $i < $num_wanted; $i++) { $map = array($fields[0] => random_line(), $fields[1] => uniqid('', true), $fields[2] => '1.0', $fields[3] => '1', $fields[4] => '0', $fields[5] => '1', $fields[6] => '0%', $fields[7] => get_logo_url(), $fields[8] => '2.0', $fields[9] => random_text()); $pid = actual_add_catalogue_entry($cat_id, 1, '', 1, 1, 1, $map); unset($map); } // outstanding ecommerce orders $pid = $GLOBALS['SITE_DB']->query_value('catalogue_entries', 'MIN(id)', array('c_name' => 'products')); require_code('shopping'); for ($j = $GLOBALS['SITE_DB']->query_value('shopping_cart', 'COUNT(*)'); $j < $num_wanted; $j++) { $product_det = array('product_id' => $pid, 'product_name' => $fields[0], 'product_code' => $fields[1], 'price' => $fields[2], 'tax' => preg_replace('#[^\\d\\.]#', '', $fields[6]), 'description' => $fields[9], 'quantity' => mt_rand(1, 20), 'product_type' => 'catalogue_items', 'product_weight' => $fields[8]); $GLOBALS['SITE_DB']->query_insert('shopping_cart', array('session_id' => mt_rand(0, 1000000), 'ordered_by' => mt_rand(db_get_first_id() + 1, $num_wanted - 1), 'product_id' => $product_det['product_id'], 'product_name' => $product_det['product_name'], 'product_code' => $product_det['product_code'], 'quantity' => $product_det['quantity'], 'price' => round(floatval($product_det['price']), 2), 'price_pre_tax' => $product_det['tax'], 'product_description' => $product_det['description'], 'product_type' => $product_det['product_type'], 'product_weight' => $product_det['product_weight'], 'is_deleted' => 0)); } for ($j = $GLOBALS['SITE_DB']->query_value('shopping_order', 'COUNT(*)'); $j < $num_wanted; $j++) { $order_id = $GLOBALS['SITE_DB']->query_insert('shopping_order', array('c_member' => mt_rand(db_get_first_id() + 1, $num_wanted - 1), 'session_id' => mt_rand(0, 1000000), 'add_date' => time(), 'tot_price' => '123.00', 'order_status' => 'ORDER_STATUS_awaiting_payment', 'notes' => '', 'purchase_through' => 'purchase_module', 'transaction_id' => '', 'tax_opted_out' => 0), true); $GLOBALS['SITE_DB']->query_insert('shopping_order_details', array('p_id' => 123, 'p_name' => random_line(), 'p_code' => 123, 'p_type' => 'catalogue_items', 'p_quantity' => 1, 'p_price' => '12.00', 'order_id' => $order_id, 'dispatch_status' => '', 'included_tax' => '1.00')); } echo 'done store stuff' . chr(10); if (function_exists('gc_collect_cycles')) { gc_enable(); } echo '{{DONE}}' . chr(10); }