本文整理汇总了PHP中pb_backupbuddy::array_remove方法的典型用法代码示例。如果您正苦于以下问题:PHP pb_backupbuddy::array_remove方法的具体用法?PHP pb_backupbuddy::array_remove怎么用?PHP pb_backupbuddy::array_remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pb_backupbuddy
的用法示例。
在下文中一共展示了pb_backupbuddy::array_remove方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mysql_error
if (mysql_error() != '') {
pb_backupbuddy::status('error', 'mysql error: ' . mysql_error());
}
pb_backupbuddy::status('details', 'Finished migration steps for `Multisite Export -> Standalone` sites.');
}
// ********** END MULTISITE EXPORT -> STANDALONE **********
// Loop through the tables matching this prefix. Does NOT change data in other tables.
// This changes actual data on a column by column basis for very row in every table.
$tables = array();
$rows = $wpdb->get_results("SELECT table_name FROM information_schema.tables WHERE table_name LIKE '" . str_replace('_', '\\_', $destination_db_prefix) . "%' AND table_schema = DATABASE()", ARRAY_A);
foreach ($rows as $row) {
$tables[] = $row['table_name'];
}
pb_backupbuddy::status('message', 'Found ' . count($rows) . ' WordPress tables. ');
unset($rows);
$bruteforce_tables = pb_backupbuddy::array_remove($tables, $bruteforce_excluded_tables);
// Removes all tables listed in $excluded_tables from $tables.
unset($tables);
if ($destination_type == 'multisite_import') {
require_once pb_backupbuddy::plugin_path() . '/lib/dbreplace/dbreplace.php';
} else {
require_once 'importbuddy/lib/dbreplace/dbreplace.php';
}
$dbreplace = new pluginbuddy_dbreplace($this);
// ********** BEGIN MAKING OLD URLS UNIQUE AND TRIMMING CORRESPONDING NEW URLS **********
// This entire section is in place to prevent duplicate replacements.
/* array_pairs_unique_first()
*
* Takes two arrays. Looks for any duplicate values in the first array. That item is removed. The corresponding item in the second array is removed also.
* Resets indexes as a courtesy while maintaining order.
*
示例2: bruteforceTables
function bruteforceTables()
{
global $wpdb;
// Loop through the tables matching this prefix. Does NOT change data in other tables.
// This changes actual data on a column by column basis for very row in every table.
$tables = array();
$rows = $wpdb->get_results("SELECT table_name FROM information_schema.tables WHERE table_name LIKE '" . str_replace('_', '\\_', $this->overridePrefix) . "%' AND table_schema = DATABASE()", ARRAY_A);
foreach ($rows as $row) {
$tables[] = $row['table_name'];
}
pb_backupbuddy::status('message', 'Found ' . count($rows) . ' WordPress tables. ');
unset($rows);
$bruteforce_tables = pb_backupbuddy::array_remove($tables, $this->bruteforceExcludedTables);
// Removes all tables listed in $excluded_tables from $tables.
unset($tables);
if ($this->destinationType == 'multisite_import') {
require_once pb_backupbuddy::plugin_path() . '/lib/dbreplace/dbreplace.php';
} else {
require_once 'importbuddy/lib/dbreplace/dbreplace.php';
}
// Instantiate db replace class.
$dbreplace = new pluginbuddy_dbreplace($this->startTime, self::TIME_WIGGLE_ROOM, $this->restoreData['maxExecutionTime']);
if (is_array($this->restoreData['databaseSettings']['migrateResumePoint'])) {
$steps = $this->restoreData['databaseSettings']['migrateResumePoint'][0];
$stepResumePoint = $this->restoreData['databaseSettings']['migrateResumePoint'][1];
} else {
$stepResumePoint = '';
$steps = array(array('Posts table site URLs.', 'text', $this->overridePrefix . 'posts', $this->oldURLs, $this->newURLs, array('post_content', 'post_excerpt', 'post_content_filtered')), array('WordPress core database text data.', 'text', $this->overridePrefix . 'users', $this->oldURLs, $this->newURLs, array('user_url')), array('WordPress core database text data.', 'text', $this->overridePrefix . 'comments', $this->oldURLs, $this->newURLs, array('comment_content', 'comment_author_url')), array('WordPress core database text data.', 'text', $this->overridePrefix . 'links', $this->oldURLs, $this->newURLs, array('link_url', 'link_image', 'link_target', 'link_description', 'link_notes', 'link_rss')), array('WordPress core database serialized data.', 'serialized', $this->overridePrefix . 'options', $this->oldFullReplace, $this->newFullReplace, array('option_value')), array('WordPress core database serialized data.', 'serialized', $this->networkPrefix . 'usermeta', $this->oldFullReplace, $this->newFullReplace, array('meta_value')), array('WordPress core database serialized data.', 'serialized', $this->overridePrefix . 'postmeta', $this->oldFullReplace, $this->newFullReplace, array('meta_value')), array('WordPress core database serialized data.', 'serialized', $this->overridePrefix . 'commentmeta', $this->oldFullReplace, $this->newFullReplace, array('meta_value')));
if (!isset($this->restoreData['databaseSettings']['migrateDatabaseBruteForce']) || true !== $this->restoreData['databaseSettings']['migrateDatabaseBruteForce']) {
// skip bruteforce.
pb_backupbuddy::status('details', 'Brute force database migration skipped based on advanced settings');
} else {
// dont skip bruteforce.
foreach ($bruteforce_tables as $bruteforce_table) {
$steps[] = array('Bruteforcing entire tables: `' . implode(',', $bruteforce_tables) . '`.', 'bruteforce_table', $bruteforce_table, $this->oldFullReplace, $this->newFullReplace);
}
}
}
foreach ($steps as $step) {
$this->restoreData['databaseSettings']['migrateResumePoint'][1] = '';
// Clear out needing to resume this substep for now.
// Run the function.
pb_backupbuddy::status('details', 'Starting substep `' . $step[0] . '`.');
if ('bruteforce_table' == $step[1]) {
// Table bruteforce has different param count.
$results = call_user_func(array($dbreplace, $step[1]), $step[2], $step[3], $step[4], $stepResumePoint);
} else {
$results = call_user_func(array($dbreplace, $step[1]), $step[2], $step[3], $step[4], $step[5], $stepResumePoint);
}
pb_backupbuddy::status('details', 'Finished substep `' . $step[0] . '`.');
if (TRUE === $results) {
// Success so move to next loop.
array_shift($steps);
// Shifts step off the front of the array.
// Do nothing... will just continue to next step.
pb_backupbuddy::status('details', 'Database migration substep `' . $step[0] . '` finished successfully.');
if ($this->nearTimeLimit()) {
return array($steps, '');
// array of remaining steps, no resume point since not within a function.
}
} elseif (is_array($results)) {
// NEEDS CHUNKING.
$steps = array_unshift($steps, $step);
// This step did not finish so put it back at the beginning for resuming.
pb_backupbuddy::status('details', 'Substep migrating the database did not complete in the first pass. Chunking into multiple parts. Resuming substep `' . $step . '` shortly at point `' . $results[0] . '`.');
return array($steps, $results[0]);
// Array of steps to run, resume point.
} else {
// FALSE or something weird...
pb_backupbuddy::status('error', 'Database migration substep `' . $step[0] . '` failed. See log for details. This may only be a non-fatal warning.');
return FALSE;
}
}
// end foreach.
// Update table prefixes in some WordPress meta data. $this->networkPrefix is set to the normal prefix in non-ms environment.
$old_prefix = backupbuddy_core::dbEscape($this->restoreData['dat']['db_prefix']);
$finalPrefix = backupbuddy_core::dbEscape($this->finalPrefix);
pb_backupbuddy::status('details', 'Old DB prefix: `' . $old_prefix . '`; Override prefix: `' . $this->overridePrefix . '`. New final DB prefix (override does not apply): `' . $finalPrefix . '`. Network prefix: `' . $this->networkPrefix . '`');
if ($old_prefix != $finalPrefix) {
mysql_query("UPDATE `" . $this->overridePrefix . "usermeta` SET meta_key = REPLACE(meta_key, '" . $old_prefix . "', '" . $finalPrefix . "' );");
// usermeta table temporarily is in the new subsite's prefix until next step.
pb_backupbuddy::status('details', 'Modified ' . mysql_affected_rows() . ' row(s) while updating meta_key\'s for DB prefix in site\'s [subsite; temporary if multisite] usermeta table from `' . $old_prefix . '` to `' . $finalPrefix . '`.');
if (mysql_error() != '') {
pb_backupbuddy::status('error', 'mysql error: ' . mysql_error());
}
mysql_query("UPDATE `" . $this->overridePrefix . "options` SET option_name = '" . $finalPrefix . "user_roles' WHERE option_name ='" . $old_prefix . "user_roles' LIMIT 1");
pb_backupbuddy::status('details', 'Modified ' . mysql_affected_rows() . ' row(s) while updating option_name user_roles DB prefix in [subsite if multisite] options table to `' . backupbuddy_core::dbEscape($finalPrefix) . '`.');
if (mysql_error() != '') {
pb_backupbuddy::status('error', 'mysql error: ' . mysql_error());
}
pb_backupbuddy::status('message', 'Updated prefix META data.');
}
pb_backupbuddy::status('message', 'Migrated ' . count($bruteforce_tables) . ' tables via brute force.');
return true;
}
示例3: array
// Loop through the tables matching this prefix. Does NOT change data in other tables.
// This changes actual data on a column by column basis for very row in every table.
$tables = array();
$result = mysql_query( "SHOW TABLES LIKE '" . str_replace( '_', '\_', $destination_db_prefix ) . "%'" );
while ( $table = mysql_fetch_row( $result ) ) {
$tables[] = $table[0];
}
unset( $table );
pb_backupbuddy::status( 'message', 'Found ' . mysql_num_rows( $result ) . ' WordPress tables. ' );
unset( $result );
$bruteforce_tables = pb_backupbuddy::array_remove( $tables, $bruteforce_excluded_tables ); // Removes all tables listed in $excluded_tables from $tables.
unset( $tables );
if ( $destination_type == 'multisite_import' ) {
require_once( pb_backupbuddy::plugin_path() . '/lib/dbreplace/dbreplace.php' );
} else {
require_once( 'importbuddy/lib/dbreplace/dbreplace.php' );
}
$dbreplace = new pluginbuddy_dbreplace( $this );