diff --git a/includes/utility.inc b/includes/utility.inc index 254313f..7466102 100644 --- a/includes/utility.inc +++ b/includes/utility.inc @@ -46,6 +46,13 @@ function drupal_var_export($var, $prefix = '') { $output = "'" . $var . "'"; } } + else if (is_object($var) && get_class($var) === 'stdClass') { + // var_export() will export stdClass objects using an undefined + // magic method __set_state() leaving the export broken. This + // workaround avoids this by casting the object as an array for + // export and casting it back to an object when evaluated. + $output .= '(object) ' . drupal_var_export((array) $var, $prefix); + } else { $output = var_export($var, TRUE); } diff --git a/modules/simpletest/tests/upgrade/drupal-7.bare.database.php.gz b/modules/simpletest/tests/upgrade/drupal-7.bare.database.php.gz new file mode 100644 index 0000000000000000000000000000000000000000..eeefe4eb9c64dcfd67420ce1dc2ab7d12ea51e12 GIT binary patch literal 59063 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

91XyY7kMV@iGvRTa@NgH|@`hVcB)Yspuro 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

N^s35{a(j+j zAqRzHO1uLyx0vo@5gIO$VJ*}?vn?<)ln>~KN}WU$Xki+Pf-+p588yBub6&HfATZKa1Pm;fJ zZggQpqAapdS+1v`w)wQuMPW$Sj*pXj*iO7c_iftVH_Q;98y=C4FQa!6sW*y3jxE+e zQ%TCS>Qn|+K-@3p$yF-ppj*Hb^b!n%&bf7MCQ@fbo<=1}s6kC?-qz~drA zKBZ1N9Wd^|H#i)IWO~Aj_3Y#KmePB;W;i)RV~qV%v(Vm^E5v&5S=P#o(L$lLt!_2R zs6oRV<=M!fRFpqc*mo>A^4_52DEQuoAbdB{h?nR0$V6}G>0E<;j?=Nl7duXA1mAT0 zV6m&DZZ4a9v*vZ!gz3QM4QrRh0zz*4Ja`fZ|J^5 z;r^4ki1ur|mavgrOCa9{la~R;>NrR*#8ot;%n5CSoZs3sXyHg&d!WQbfZ)ArV#Y3! z+IvCYe-F4vNjUS(Ufd@HMhU{(SZlHwJ?(N%*oF|%R18Jx3k(jXL@U|PrCSSi-qbE4 z!x09FpQ)LbMztk=8)bi~DaIT?Rc5Xr`L$w5D>Xe0baIR0qI$*Tqb5htGEAt@f>rl1 zHT`KoL$lx%+SKM+#iB9y?tLSUr0sw>;bK~8 zSSX)oC|)5U!}j{Rms4n*RzDP7mwkX1-{g)*D3%VIg1WBG8S8Q!j3gI>=~axGDJmZs z*tFpVxnPx`nNBh$$mP`Ru}{ycAyF_ey8e-)l)hGMWu9j}@rbDw%vjoE9)XK=wqRjH z5}Ad5)}SCbGQ0Xv@!`>DhO@GVaDqYW9}|#)co;vd>r#!hxWkZz%acz-V45=HlEP5! zMmEuRB)gqz1FkP|u8{J4-woP3i`oB-IeSo*gn+%lvPM)#VU6hwy#%|pNVNInk5V!x zGH+m@4Q0Ejx(DO!P=~@b-!x{bxH#TuGktq6u}{m?b98R16bigx+JqbyzQB&rl(uSu z6s%V;Vtc#r#D9)`*Z3(&7y6Ve4Vj%)s7`>^(LH#84@_FJ1KWnP`e@xRkwXa>`)Ywa z&nzkof7J{@lSfX2;363@e-GQK(wnh38*&SiPG(ts$y*$W-x%;hn4NmTIKAOix3ZJz zT#7ku=#D-U;O*EdY~ubk!nY~lhyExDa8t2*bLQT9=8wOK$!l2kJFmO(yQF6g>X7hr z!=U<1MJzR<6GjL-K}H$_9{-7}1M`v6BM+lA=@^LW_xAJ&x4NwV$@#6{`+cv@#x%8A zcoCxa7%frysX`!`bRw##P1<3LkvNFtpf&6EK#(w<*?LZ#!V;Nr%%I$-H#tt)UbyfI zL3ks7ILMct;RjpKm+%HUY;x|dd@L&k;0_P#p&kUTM09o!g#C5lxmM_RqZ6!LFtzuB zN#I?PR?|%^H7tGq>XoijkgOK9l;pr#?-#VOY^zz!K0x0GBBV^rbM5b;%%`1BVz$n8 zb<6LzEoRY+owsGaq?M4|;R)ennQ9p>oojPhge$(bT;g#P(Y-~@H^$%DhAfRPs9)fm z5{?dA6tO!~5Yd6OT>jc+-p-r(I8wl^!BV9d_ir^I41do$U7C@(^0ZUk5=ljSvog${4 zgLC4YkN}c+`jibAg~PUrP-wT6l`D^>0{p zhEW9?e0pz+OZ)@vzRH8`IK4$6gFI&eN_ciyg72qE!^Z`rOLl04ALgQl99;33X9-2|a+E9i zqT1(n{(WWr+4DHi8gW`I)W(79p{}+Nk5Ci(vYIk-6nEi{2IW76B94=~zmhPQ&K#P} z6mTJqxdHGu0HK$M9=lUO!dh;(PS_qZu!f}1u90dQH z1Ex1_PlPbN+(QX7e*pWlykQH>U;Z8q!&GwDdCa`pOfQN$txz3>sjqJBi=QqA|8+t6 zYphD**;bI60gToCI*in70^ur0NJ1LSDagSLi4q$1^DLwUU>Z&^rjZ7;1*GMGVE6i* zAorLMlERRBaS*en06@1lgd#SXE@#f>C`UfocMcN zZq$idQF_y{*-1h<4O-7s=?v(E5%Go(t{@@|t0_v3{DEg+G9KCm?k~YcC_Fe!I!ihnN)cN?rr!y3J&#~rzU-l! zf6k?PF1^AmA8-M8qORE@9ilooCXaX6DJHM&h#HTz5D0CoOt~nyzm?smz-LuPwYvEd z-%+&XBAB9Eq~|>=VnCeZmwW+?7`S&LVq17H!~pb}PfCF|;5V>3fe!v#K}XyoxZbA! z`Smrs$4+~_T0{p z!|!eEZJb@_dAlSh-V2E+4yWxG6YAv)a8n?UHDS{aUUNz?SI0(^e3*de1=ZPofFEVz z_7Ra6EgcWkaF(?lJq6 zkP+u8dKOL(UgD7KFY}6R?57=#6k^}&>hgfQhV!#nL-MAekp={?R1@KCHf(*y#uYl$ zLp;=AsKPCb|JbdFG$exY&##|`93_EVv5-QH&11y*^k1~mBwvCkf3RPNuYMA1WQ2|x>>_6hC-Gi zvT>#>ST>lqQnInqVgA@}QyjeZPK;J&2IPdPP71m{PrN}9V*s*AzV7x|07Tx!3V2n* zZHkflT|Iqp;x*i+{iyL?IGC3`xE%m%zvp91un7OAaGXCN>MxtL)mc4%uz?e?ZR4HZOVo?zE9gj(1RM2N>EQkbXkPYEJkSKQC@^GhQIRr3sJ3HR8+%A_c$RI7mP2x!|Gz|5AaHQY3 z9=9G1M;$Asg+8_nxtKzk)0W?8(>#2Qi{|cYcoqgv)sCPCa8Ez3wGz@%N%?$^EAU+l z25)Mfm=hz?MPK-PIuf6-*~?9`!F$f}i?c`tsi<9~%1Dht{%D>kaVH}p))0knLX6?C z2Xl_SS9-JNo_?LTu=k7m0fpUc<9QQ~eRgNR0+!BxfCTXtZQz5yA3lG5MM}Sf0*Q

O0`!#ehM^_6|iLfA}^lIUt!Igaiw3N|R<- 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 = function_exists('gzopen'); + } + + /** * Override of DrupalWebTestCase::setUp() specialized for upgrade testing. */ protected function setUp() { + // We are going to set a missing zlib requirement property for usage during + // the performUpgrade() and tearDown() methods. Also set that the tests + // failed. + if (!$this->zlibInstalled) { + parent::setUp(); + return; + } + global $user, $language, $conf; // Load the Update API. @@ -92,7 +118,11 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { $conf = array(); // Load the database from the portable PHP dump. + // The files can be gzipped. foreach ($this->databaseDumpFiles as $file) { + if (substr($file, -3) == '.gz') { + $file = "compress.zlib://$file"; + } require $file; } @@ -108,21 +138,7 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { drupal_save_session(FALSE); $user = db_query('SELECT * FROM {users} WHERE uid = :uid', array(':uid' => 1))->fetchObject(); - // Generate and set a D6-compatible session cookie. - $this->curlInitialize(); - $sid = drupal_hash_base64(uniqid(mt_rand(), TRUE) . drupal_random_bytes(55)); - $session_name = update_get_d6_session_name(); - curl_setopt($this->curlHandle, CURLOPT_COOKIE, rawurlencode($session_name) . '=' . rawurlencode($sid)); - - // Force our way into the session of the child site. - drupal_save_session(TRUE); - // A session cannot be written without the ssid column which is missing on - // Drupal 6 sites. - db_add_field('sessions', 'ssid', array('description' => "Secure session ID. The value is generated by Drupal's session handlers.", 'type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')); - _drupal_session_write($sid, ''); - // Remove the temporarily added ssid column. - db_drop_field('sessions', 'ssid'); - drupal_save_session(FALSE); + $this->prepareSession(); // Restore necessary variables. $this->variable_set('clean_url', $clean_url_original); @@ -137,6 +153,11 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { protected function tearDown() { global $user, $language; + if (!$this->zlibInstalled) { + parent::tearDown(); + return; + } + // In case a fatal error occured that was not in the test process read the // log to pick up any fatal errors. simpletest_log_read($this->testId, $this->databasePrefix, get_class($this), TRUE); @@ -231,6 +252,11 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { * TRUE if the upgrade succeeded, FALSE otherwise. */ protected function performUpgrade($register_errors = TRUE) { + if (!$this->zlibInstalled) { + $this->fail(t('Missing zlib requirement for upgrade tests.')); + return FALSE; + } + $update_url = $GLOBALS['base_url'] . '/update.php'; // Load the first update screen. @@ -245,6 +271,14 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { return FALSE; } + // The test should pass if there are no pending updates. + $content = $this->drupalGetContent(); + if (strpos($content, t('No pending updates.')) !== FALSE) { + $this->pass(t('No pending updates and therefore no upgrade process to test.')); + $this->pendingUpdates = FALSE; + return TRUE; + } + // Go! $this->drupalPost(NULL, array(), t('Apply pending updates')); if (!$this->assertResponse(200)) { @@ -316,6 +350,26 @@ abstract class UpgradePathTestCase extends DrupalWebTestCase { ->execute(); } + /** + * Prepare the appropriate session for the release of Drupal being upgraded. + */ + protected function prepareSession() { + // Generate and set a D6-compatible session cookie. + $this->curlInitialize(); + $sid = drupal_hash_base64(uniqid(mt_rand(), TRUE) . drupal_random_bytes(55)); + $session_name = update_get_d6_session_name(); + curl_setopt($this->curlHandle, CURLOPT_COOKIE, rawurlencode($session_name) . '=' . rawurlencode($sid)); + + // Force our way into the session of the child site. + drupal_save_session(TRUE); + // A session cannot be written without the ssid column which is missing on + // Drupal 6 sites. + db_add_field('sessions', 'ssid', array('description' => "Secure session ID. The value is generated by Drupal's session handlers.", 'type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => '')); + _drupal_session_write($sid, ''); + // Remove the temporarily added ssid column. + db_drop_field('sessions', 'ssid'); + drupal_save_session(FALSE); + } } /** @@ -351,7 +405,7 @@ class BasicUpgradePath extends UpgradePathTestCase { // Destroy a table that the upgrade process needs. db_drop_table('access'); // Assert that the upgrade fails. - $this->assertFalse($this->performUpgrade(FALSE), t('A failed upgrade should return messages.')); + $this->assertFalse($this->performUpgrade(FALSE) && $this->pendingUpdates, t('A failed upgrade should return messages.')); } /** @@ -408,3 +462,187 @@ class BasicUpgradePath extends UpgradePathTestCase { $this->assertFalse($update_d6, t('The D6 upgrade flag variable has been correctly disabled.')); } } + +/** + * Perform point release update tests on a bare database. + * + * Load an installation of Drupal 7.0 and run the update process on it. + * + * The install only contains dblog (although it's optional, it's only so that + * another hook_watchdog module can take its place, the site is not functional + * without watchdog) and update. + */ +class BasicUpdatePath extends UpgradePathTestCase { + public static function getInfo() { + return array( + 'name' => 'Basic update path', + 'description' => 'Basic update path tests.', + 'group' => 'Upgrade path', + ); + } + + public function setUp() { + // Path to the database dump files. + $this->databaseDumpFiles = array( + drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-7.bare.database.php.gz', + ); + parent::setUp(); + } + + /** + * Test a successful upgrade. + */ + public function testBasicUpdate() { + $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.')); + + // Hit the frontpage. + $this->drupalGet(''); + $this->assertResponse(200); + + // Verify that we are still logged in. + $this->drupalGet('user'); + $this->clickLink(t('Edit')); + $this->assertEqual($this->getUrl(), url('user/1/edit', array('absolute' => TRUE)), t('We are still logged in as admin at the end of the upgrade.')); + + // Logout and verify that we can login back in with our initial password. + $this->drupalLogout(); + $this->drupalLogin((object) array( + 'uid' => 1, + 'name' => 'admin', + 'pass_raw' => 'admin', + )); + + // The previous login should've triggered a password rehash, so login one + // more time to make sure the new hash is readable. + $this->drupalLogout(); + $this->drupalLogin((object) array( + 'uid' => 1, + 'name' => 'admin', + 'pass_raw' => 'admin', + )); + + // Test that the site name is correctly displayed. + $this->assertText('Drupal 7', t('The site name is correctly displayed.')); + + // Verify that the main admin sections are available. + $this->drupalGet('admin'); + $this->assertText(t('Content')); + $this->assertText(t('Appearance')); + $this->assertText(t('People')); + $this->assertText(t('Configuration')); + $this->assertText(t('Reports')); + $this->assertText(t('Structure')); + $this->assertText(t('Modules')); + + // Confirm that no {menu_links} entry exists for user/autocomplete. + $result = db_query('SELECT COUNT(*) FROM {menu_links} WHERE link_path = :user_autocomplete', array(':user_autocomplete' => 'user/autocomplete'))->fetchField(); + $this->assertFalse($result, t('No {menu_links} entry exists for user/autocomplete')); + } + + /** + * Override of UpgradePathTestCase::prepareSession(). + */ + protected function prepareSession() { + // Generate and set a D7-compatible session cookie. + $this->curlInitialize(); + $sid = drupal_hash_base64(uniqid(mt_rand(), TRUE) . drupal_random_bytes(55)); + curl_setopt($this->curlHandle, CURLOPT_COOKIE, rawurlencode(session_name()) . '=' . rawurlencode($sid)); + + // Force our way into the session of the child site. + drupal_save_session(TRUE); + _drupal_session_write($sid, ''); + drupal_save_session(FALSE); + } +} + +/** + * Perform point release update tests on a bare database. + * + * Load an installation of Drupal 7.0 and run the update process on it. + * + * The install only contains dblog (although it's optional, it's only so that + * another hook_watchdog module can take its place, the site is not functional + * without watchdog) and update. + */ +class FilledUpdatePath extends UpgradePathTestCase { + public static function getInfo() { + return array( + 'name' => 'Basic update path, populated database', + 'description' => 'Basic update path tests with a populated database.', + 'group' => 'Upgrade path', + ); + } + + public function setUp() { + // Path to the database dump files. + $this->databaseDumpFiles = array( + drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-7.filled.database.php.gz', + ); + parent::setUp(); + } + + /** + * Test a successful upgrade. + */ + public function testBasicFilledUpdate() { + $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.')); + + // Hit the frontpage. + $this->drupalGet(''); + $this->assertResponse(200); + + // Verify that we are still logged in. + $this->drupalGet('user'); + $this->clickLink(t('Edit')); + $this->assertEqual($this->getUrl(), url('user/1/edit', array('absolute' => TRUE)), t('We are still logged in as admin at the end of the upgrade.')); + + // Logout and verify that we can login back in with our initial password. + $this->drupalLogout(); + $this->drupalLogin((object) array( + 'uid' => 1, + 'name' => 'admin', + 'pass_raw' => 'admin', + )); + + // The previous login should've triggered a password rehash, so login one + // more time to make sure the new hash is readable. + $this->drupalLogout(); + $this->drupalLogin((object) array( + 'uid' => 1, + 'name' => 'admin', + 'pass_raw' => 'admin', + )); + + // Test that the site name is correctly displayed. + $this->assertText('Drupal 7', t('The site name is correctly displayed.')); + + // Verify that the main admin sections are available. + $this->drupalGet('admin'); + $this->assertText(t('Content')); + $this->assertText(t('Appearance')); + $this->assertText(t('People')); + $this->assertText(t('Configuration')); + $this->assertText(t('Reports')); + $this->assertText(t('Structure')); + $this->assertText(t('Modules')); + + // Confirm that no {menu_links} entry exists for user/autocomplete. + $result = db_query('SELECT COUNT(*) FROM {menu_links} WHERE link_path = :user_autocomplete', array(':user_autocomplete' => 'user/autocomplete'))->fetchField(); + $this->assertFalse($result, t('No {menu_links} entry exists for user/autocomplete')); + } + + /** + * Override of UpgradePathTestCase::prepareSession(). + */ + protected function prepareSession() { + // Generate and set a D7-compatible session cookie. + $this->curlInitialize(); + $sid = drupal_hash_base64(uniqid(mt_rand(), TRUE) . drupal_random_bytes(55)); + curl_setopt($this->curlHandle, CURLOPT_COOKIE, rawurlencode(session_name()) . '=' . rawurlencode($sid)); + + // Force our way into the session of the child site. + drupal_save_session(TRUE); + _drupal_session_write($sid, ''); + drupal_save_session(FALSE); + } +} diff --git a/scripts/dump-database-d7.sh b/scripts/dump-database-d7.sh new file mode 100644 index 0000000..f78f998 --- /dev/null +++ b/scripts/dump-database-d7.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env php + $data) { + // Remove descriptions to save time and code. + unset($data['description']); + foreach ($data['fields'] as &$field) { + unset($field['description']); + } + + // Dump the table structure. + $output .= "db_create_table('" . $table . "', " . drupal_var_export($data) . ");\n"; + + // Don't output values for those tables. + if (substr($table, 0, 5) == 'cache' || $table == 'sessions' || $table == 'watchdog') { + $output .= "\n"; + continue; + } + + // Prepare the export of values. + $result = db_query('SELECT * FROM {'. $table .'}', array(), array('fetch' => PDO::FETCH_ASSOC)); + $insert = ''; + foreach ($result as $record) { + $insert .= '->values('. drupal_var_export($record) .")\n"; + } + + // Dump the values if there are some. + if ($insert) { + $output .= "db_insert('". $table . "')->fields(". drupal_var_export(array_keys($data['fields'])) .")\n"; + $output .= $insert; + $output .= "->execute();\n"; + } + + $output .= "\n"; +} + +print $output; diff --git a/scripts/generate-d7-content.sh b/scripts/generate-d7-content.sh new file mode 100644 index 0000000..07b715e --- /dev/null +++ b/scripts/generate-d7-content.sh @@ -0,0 +1,308 @@ +#!/usr/bin/env php +fields(array('uid', 'name', 'pass', 'mail', 'status', 'created', 'access')); +for ($i = 0; $i < 6; $i++) { + $name = "test user $i"; + $pass = md5("test PassW0rd $i !(.)"); + $mail = "test$i@example.com"; + $now = mktime(0, 0, 0, 1, $i + 1, 2010); + $query->values(array(db_next_id(), $name, user_hash_password($pass), $mail, 1, $now, $now)); +} +$query->execute(); + +// Create vocabularies and terms + +$terms = array(); + +// All possible combinations of these vocabulary properties. +$hierarchy = array(0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2); +$multiple = array(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1); +$required = array(0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1); + +$voc_id = 0; +$term_id = 0; +for ($i = 0; $i < 24; $i++) { + $vocabulary = new stdClass; + ++$voc_id; + $vocabulary->name = "vocabulary $voc_id (i=$i)"; + $vocabulary->machine_name = 'vocabulary_' . $voc_id . '_' . $i; + $vocabulary->description = "description of ". $vocabulary->name; + $vocabulary->multiple = $multiple[$i % 12]; + $vocabulary->required = $required[$i % 12]; + $vocabulary->relations = 1; + $vocabulary->hierarchy = $hierarchy[$i % 12]; + $vocabulary->weight = $i; + taxonomy_vocabulary_save($vocabulary); + $field = array( + 'field_name' => 'taxonomy_'. $vocabulary->machine_name, + 'module' => 'taxonomy', + 'type' => 'taxonomy_term_reference', + 'cardinality' => $vocabulary->multiple || $vocabulary->tags ? FIELD_CARDINALITY_UNLIMITED : 1, + 'settings' => array( + 'required' => $vocabulary->required ? TRUE : FALSE, + 'allowed_values' => array( + array( + 'vocabulary' => $vocabulary->machine_name, + 'parent' => 0, + ), + ), + ), + ); + field_create_field($field); + $node_types = $i > 11 ? array('page') : array_keys(node_type_get_types()); + foreach ($node_types as $bundle) { + $instance = array( + 'label' => $vocabulary->name, + 'field_name' => $field['field_name'], + 'bundle' => $bundle, + 'entity_type' => 'node', + 'settings' => array(), + 'description' => $vocabulary->help, + 'required' => $vocabulary->required, + 'widget' => array(), + 'display' => array( + 'default' => array( + 'type' => 'taxonomy_term_reference_link', + 'weight' => 10, + ), + 'teaser' => array( + 'type' => 'taxonomy_term_reference_link', + 'weight' => 10, + ), + ), + ); + if ($vocabulary->tags) { + $instance['widget'] = array( + 'type' => 'taxonomy_autocomplete', + 'module' => 'taxonomy', + 'settings' => array( + 'size' => 60, + 'autocomplete_path' => 'taxonomy/autocomplete', + ), + ); + } + else { + $instance['widget'] = array( + 'type' => 'select', + 'module' => 'options', + 'settings' => array(), + ); + } + field_create_instance($instance); + } + $parents = array(); + // Vocabularies without hierarcy get one term, single parent vocabularies get + // one parent and one child term. Multiple parent vocabularies get three + // terms: t0, t1, t2 where t0 is a parent of both t1 and t2. + for ($j = 0; $j < $vocabulary->hierarchy + 1; $j++) { + $term = new stdClass; + $term->vocabulary_machine_name = $vocabulary->machine_name; + // For multiple parent vocabularies, omit the t0-t1 relation, otherwise + // every parent in the vocabulary is a parent. + $term->parent = $vocabulary->hierarchy == 2 && i == 1 ? array() : $parents; + ++$term_id; + $term->name = "term $term_id of vocabulary $voc_id (j=$j)"; + $term->description = 'description of ' . $term->name; + $term->format = 'filtered_html'; + $term->weight = $i * 3 + $j; + taxonomy_term_save($term); + $terms[] = $term->tid; + $term_vocabs[$term->tid] = 'taxonomy_' . $vocabulary->machine_name; + $parents[] = $term->tid; + } +} +$node_id = 0; +$revision_id = 0; +module_load_include('inc', 'node', 'node.pages'); +for ($i = 0; $i < 24; $i++) { + $uid = intval($i / 8) + 3; + $user = user_load($uid); + $node = new stdClass(); + $node->uid = $uid; + $node->type = $i < 12 ? 'page' : 'story'; + $node->sticky = 0; + ++$node_id; + ++$revision_id; + $node->title = "node title $node_id rev $revision_id (i=$i)"; + $node->language = LANGUAGE_NONE; + $body_text = str_repeat("node body ($node->type) - $i", 100); + $node->body[$node->language][0]['value'] = $body_text; + $node->body[$node->language][0]['summary'] = text_summary($body_text); + $node->body[$node->language][0]['format'] = 'filtered_html'; + $node->status = intval($i / 4) % 2; + $node->revision = $i < 12; + $node->promote = $i % 2; + $node->created = $now + $i * 86400; + $node->log = "added $i node"; + // Make every term association different a little. For nodes with revisions, + // make the initial revision have a different set of terms than the + // newest revision. + $items = array(); + if ($node->revision) { + $node_terms = array($terms[$i], $terms[47-$i]); + } + else { + $node_terms = $terms; + unset($node_terms[$i], $node_terms[47 - $i]); + } + foreach ($node_terms as $tid) { + $field_name = $term_vocabs[$tid]; + $node->{$field_name}[LANGUAGE_NONE][] = array('tid' => $tid); + } + $node->path = array('alias' => "content/$node->created"); + node_save($node); + if ($node->revision) { + $user = user_load($uid + 3); + ++$revision_id; + $node->title .= " rev2 $revision_id"; + $body_text = str_repeat("node revision body ($node->type) - $i", 100); + $node->body[$node->language][0]['value'] = $body_text; + $node->body[$node->language][0]['summary'] = text_summary($body_text); + $node->body[$node->language][0]['format'] = 'filtered_html'; + $node->log = "added $i revision"; + $node_terms = $terms; + unset($node_terms[$i], $node_terms[47 - $i]); + foreach ($node_terms as $tid) { + $field_name = $term_vocabs[$tid]; + $node->{$field_name}[LANGUAGE_NONE][] = array('tid' => $tid); + } + node_save($node); + } +} + +// Create poll content +for ($i = 0; $i < 12; $i++) { + $uid = intval($i / 4) + 3; + $user = user_load($uid); + $node = new stdClass(); + $node->uid = $uid; + $node->type = 'poll'; + $node->sticky = 0; + $node->title = "poll title $i"; + $node->language = LANGUAGE_NONE; + $node->status = intval($i / 2) % 2; + $node->revision = 1; + $node->promote = $i % 2; + $node->created = REQUEST_TIME + $i * 43200; + $node->runtime = 0; + $node->active = 1; + $node->log = "added $i poll"; + $node->path = array('alias' => "content/poll/$i"); + + $nbchoices = ($i % 4) + 2; + for ($c = 0; $c < $nbchoices; $c++) { + $node->choice[] = array('chtext' => "Choice $c for poll $i", 'chvotes' => 0, 'weight' => 0); + } + node_save($node); + $path = array( + 'alias' => "content/poll/$i/results", + 'source' => "node/$node->nid/results", + ); + path_save($path); + + // Add some votes + $node = node_load($node->nid); + $choices = array_keys($node->choice); + $original_user = $GLOBALS['user']; + for ($v = 0; $v < ($i % 4); $v++) { + drupal_static_reset('ip_address'); + $_SERVER['REMOTE_ADDR'] = "127.0.$v.1"; + $GLOBALS['user'] = drupal_anonymous_user();// We should have already allowed anon to vote. + $c = $v % $nbchoices; + $form_state = array(); + $form_state['values']['choice'] = $choices[$c]; + $form_state['values']['op'] = t('Vote'); + drupal_form_submit('poll_view_voting', $form_state, $node); + } +} + +$uid = 6; +$node_type = 'broken'; +$user = user_load($uid); +$node = new stdClass(); +$node->uid = $uid; +$node->type = 'article'; +$body_text = str_repeat("node body ($node_type) - 37", 100); +$node->sticky = 0; +$node->title = "node title 24"; +$node->language = LANGUAGE_NONE; +$node->body[$node->language][0]['value'] = $body_text; +$node->body[$node->language][0]['summary'] = text_summary($body_text); +$node->body[$node->language][0]['format'] = 'filtered_html'; +$node->status = 1; +$node->revision = 0; +$node->promote = 0; +$node->created = 1263769200; +$node->log = "added a broken node"; +$node->path = array('alias' => "content/1263769200"); +node_save($node); +db_update('node') + ->fields(array( + 'type' => $node_type, + )) + ->condition('nid', $node->nid) + ->execute(); +db_update('field_data_body') + ->fields(array( + 'bundle' => $node_type, + )) + ->condition('entity_id', $node->nid) + ->condition('entity_type', 'node') + ->execute(); +db_update('field_revision_body') + ->fields(array( + 'bundle' => $node_type, + )) + ->condition('entity_id', $node->nid) + ->condition('entity_type', 'node') + ->execute(); +db_update('field_config_instance') + ->fields(array( + 'bundle' => $node_type, + )) + ->condition('bundle', 'article') + ->execute();