Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wordpres.../lib
File: orm.php
$args = \func_get_args();
[2000] Fix | Delete
[2001] Fix | Delete
return \array_intersect_key( $this->data, \array_flip( $args ) );
[2002] Fix | Delete
}
[2003] Fix | Delete
[2004] Fix | Delete
/**
[2005] Fix | Delete
* Returns the value of a property of this object (database row) or null if not present.
[2006] Fix | Delete
*
[2007] Fix | Delete
* If a column-names array is passed, it will return a associative array with the value of each column or null if
[2008] Fix | Delete
* it is not present.
[2009] Fix | Delete
*
[2010] Fix | Delete
* @param string|array $key Key.
[2011] Fix | Delete
*
[2012] Fix | Delete
* @return array|mixed|null
[2013] Fix | Delete
*/
[2014] Fix | Delete
public function get( $key ) {
[2015] Fix | Delete
if ( \is_array( $key ) ) {
[2016] Fix | Delete
$result = [];
[2017] Fix | Delete
foreach ( $key as $column ) {
[2018] Fix | Delete
$result[ $column ] = ( $this->data[ $column ] ?? null );
[2019] Fix | Delete
}
[2020] Fix | Delete
[2021] Fix | Delete
return $result;
[2022] Fix | Delete
}
[2023] Fix | Delete
else {
[2024] Fix | Delete
return ( $this->data[ $key ] ?? null );
[2025] Fix | Delete
}
[2026] Fix | Delete
}
[2027] Fix | Delete
[2028] Fix | Delete
/**
[2029] Fix | Delete
* Returns the name of the column in the database table which contains the primary key ID of the row.
[2030] Fix | Delete
*
[2031] Fix | Delete
* @return string The primary key ID of the row.
[2032] Fix | Delete
*/
[2033] Fix | Delete
protected function get_id_column_name() {
[2034] Fix | Delete
if ( ! \is_null( $this->instance_id_column ) ) {
[2035] Fix | Delete
return $this->instance_id_column;
[2036] Fix | Delete
}
[2037] Fix | Delete
[2038] Fix | Delete
return 'id';
[2039] Fix | Delete
}
[2040] Fix | Delete
[2041] Fix | Delete
/**
[2042] Fix | Delete
* Gets the primary key ID of this object.
[2043] Fix | Delete
*
[2044] Fix | Delete
* @param bool $disallow_null Whether to allow null IDs.
[2045] Fix | Delete
*
[2046] Fix | Delete
* @return array|mixed|null
[2047] Fix | Delete
*
[2048] Fix | Delete
* @throws Exception Primary key ID contains null value(s).
[2049] Fix | Delete
* @throws Exception Primary key ID missing from row or is null.
[2050] Fix | Delete
*/
[2051] Fix | Delete
public function id( $disallow_null = false ) {
[2052] Fix | Delete
$id = $this->get( $this->get_id_column_name() );
[2053] Fix | Delete
if ( $disallow_null ) {
[2054] Fix | Delete
if ( \is_array( $id ) ) {
[2055] Fix | Delete
foreach ( $id as $id_part ) {
[2056] Fix | Delete
if ( $id_part === null ) {
[2057] Fix | Delete
throw new Exception( 'Primary key ID contains null value(s)' );
[2058] Fix | Delete
}
[2059] Fix | Delete
}
[2060] Fix | Delete
}
[2061] Fix | Delete
elseif ( $id === null ) {
[2062] Fix | Delete
throw new Exception( 'Primary key ID missing from row or is null' );
[2063] Fix | Delete
}
[2064] Fix | Delete
}
[2065] Fix | Delete
[2066] Fix | Delete
return $id;
[2067] Fix | Delete
}
[2068] Fix | Delete
[2069] Fix | Delete
/**
[2070] Fix | Delete
* Sets a property to a particular value on this object.
[2071] Fix | Delete
*
[2072] Fix | Delete
* To set multiple properties at once, pass an associative array as the first parameter and leave out the second
[2073] Fix | Delete
* parameter. Flags the properties as 'dirty' so they will be saved to the database when save() is called.
[2074] Fix | Delete
*
[2075] Fix | Delete
* @param string|array $key Key.
[2076] Fix | Delete
* @param string|null $value Value.
[2077] Fix | Delete
*
[2078] Fix | Delete
* @return ORM
[2079] Fix | Delete
*/
[2080] Fix | Delete
public function set( $key, $value = null ) {
[2081] Fix | Delete
return $this->set_orm_property( $key, $value );
[2082] Fix | Delete
}
[2083] Fix | Delete
[2084] Fix | Delete
/**
[2085] Fix | Delete
* Set a property to a particular value on this object as expression.
[2086] Fix | Delete
*
[2087] Fix | Delete
* To set multiple properties at once, pass an associative array as the first parameter and leave out the second
[2088] Fix | Delete
* parameter. Flags the properties as 'dirty' so they will be saved to the database when save() is called.
[2089] Fix | Delete
*
[2090] Fix | Delete
* @param string|array $key Key.
[2091] Fix | Delete
* @param string|null $value Value.
[2092] Fix | Delete
*
[2093] Fix | Delete
* @return ORM
[2094] Fix | Delete
*/
[2095] Fix | Delete
public function set_expr( $key, $value = null ) {
[2096] Fix | Delete
return $this->set_orm_property( $key, $value, true );
[2097] Fix | Delete
}
[2098] Fix | Delete
[2099] Fix | Delete
/**
[2100] Fix | Delete
* Sets a property on the ORM object.
[2101] Fix | Delete
*
[2102] Fix | Delete
* @param string|array $key Key.
[2103] Fix | Delete
* @param string|null $value Value.
[2104] Fix | Delete
* @param bool $expr Expression.
[2105] Fix | Delete
*
[2106] Fix | Delete
* @return ORM
[2107] Fix | Delete
*/
[2108] Fix | Delete
protected function set_orm_property( $key, $value = null, $expr = false ) {
[2109] Fix | Delete
if ( ! \is_array( $key ) ) {
[2110] Fix | Delete
$key = [ $key => $value ];
[2111] Fix | Delete
}
[2112] Fix | Delete
foreach ( $key as $field => $value ) {
[2113] Fix | Delete
$this->data[ $field ] = $value;
[2114] Fix | Delete
$this->dirty_fields[ $field ] = $value;
[2115] Fix | Delete
if ( $expr === false && isset( $this->expr_fields[ $field ] ) ) {
[2116] Fix | Delete
unset( $this->expr_fields[ $field ] );
[2117] Fix | Delete
}
[2118] Fix | Delete
elseif ( $expr === true ) {
[2119] Fix | Delete
$this->expr_fields[ $field ] = true;
[2120] Fix | Delete
}
[2121] Fix | Delete
}
[2122] Fix | Delete
[2123] Fix | Delete
return $this;
[2124] Fix | Delete
}
[2125] Fix | Delete
[2126] Fix | Delete
/**
[2127] Fix | Delete
* Checks whether the given field has been changed since this object was saved.
[2128] Fix | Delete
*
[2129] Fix | Delete
* @param mixed $key Key.
[2130] Fix | Delete
*
[2131] Fix | Delete
* @return bool
[2132] Fix | Delete
*/
[2133] Fix | Delete
public function is_dirty( $key ) {
[2134] Fix | Delete
return \array_key_exists( $key, $this->dirty_fields );
[2135] Fix | Delete
}
[2136] Fix | Delete
[2137] Fix | Delete
/**
[2138] Fix | Delete
* Checks whether the model was the result of a call to create() or not.
[2139] Fix | Delete
*
[2140] Fix | Delete
* @return bool
[2141] Fix | Delete
*/
[2142] Fix | Delete
public function is_new() {
[2143] Fix | Delete
return $this->is_new;
[2144] Fix | Delete
}
[2145] Fix | Delete
[2146] Fix | Delete
/**
[2147] Fix | Delete
* Saves any fields which have been modified on this object to the database.
[2148] Fix | Delete
*
[2149] Fix | Delete
* @return bool True on success.
[2150] Fix | Delete
*
[2151] Fix | Delete
* @throws Exception Primary key ID contains null value(s).
[2152] Fix | Delete
* @throws Exception Primary key ID missing from row or is null.
[2153] Fix | Delete
*/
[2154] Fix | Delete
public function save() {
[2155] Fix | Delete
global $wpdb;
[2156] Fix | Delete
[2157] Fix | Delete
// Remove any expression fields as they are already baked into the query.
[2158] Fix | Delete
$values = \array_values( \array_diff_key( $this->dirty_fields, $this->expr_fields ) );
[2159] Fix | Delete
if ( ! $this->is_new ) {
[2160] Fix | Delete
// UPDATE.
[2161] Fix | Delete
// If there are no dirty values, do nothing.
[2162] Fix | Delete
if ( empty( $values ) && empty( $this->expr_fields ) ) {
[2163] Fix | Delete
return true;
[2164] Fix | Delete
}
[2165] Fix | Delete
$query = \implode( ' ', [ $this->build_update(), $this->add_id_column_conditions() ] );
[2166] Fix | Delete
[2167] Fix | Delete
$id = $this->id( true );
[2168] Fix | Delete
if ( \is_array( $id ) ) {
[2169] Fix | Delete
$values = \array_merge( $values, \array_values( $id ) );
[2170] Fix | Delete
}
[2171] Fix | Delete
else {
[2172] Fix | Delete
$values[] = $id;
[2173] Fix | Delete
}
[2174] Fix | Delete
}
[2175] Fix | Delete
else {
[2176] Fix | Delete
// INSERT.
[2177] Fix | Delete
$query = $this->build_insert();
[2178] Fix | Delete
}
[2179] Fix | Delete
$success = self::execute( $query, $values );
[2180] Fix | Delete
// If we've just inserted a new record, set the ID of this object.
[2181] Fix | Delete
if ( $this->is_new ) {
[2182] Fix | Delete
$this->is_new = false;
[2183] Fix | Delete
if ( $this->count_null_id_columns() !== 0 ) {
[2184] Fix | Delete
$column = $this->get_id_column_name();
[2185] Fix | Delete
// If the primary key is compound, assign the last inserted id to the first column.
[2186] Fix | Delete
if ( \is_array( $column ) ) {
[2187] Fix | Delete
$column = \reset( $column );
[2188] Fix | Delete
}
[2189] Fix | Delete
// Explicitly cast to int to make dealing with Id's simpler.
[2190] Fix | Delete
$this->data[ $column ] = (int) $wpdb->insert_id;
[2191] Fix | Delete
}
[2192] Fix | Delete
}
[2193] Fix | Delete
$this->dirty_fields = [];
[2194] Fix | Delete
$this->expr_fields = [];
[2195] Fix | Delete
[2196] Fix | Delete
return $success;
[2197] Fix | Delete
}
[2198] Fix | Delete
[2199] Fix | Delete
/**
[2200] Fix | Delete
* Extracts and gathers all dirty column names from the given model instances.
[2201] Fix | Delete
*
[2202] Fix | Delete
* @param array $models Array of model instances to be inserted.
[2203] Fix | Delete
*
[2204] Fix | Delete
* @return array The distinct set of columns that are dirty in at least one of the models.
[2205] Fix | Delete
*
[2206] Fix | Delete
* @throws InvalidArgumentException Instance to be inserted is not a new one.
[2207] Fix | Delete
*/
[2208] Fix | Delete
public function get_dirty_column_names( $models ) {
[2209] Fix | Delete
$dirty_column_names = [];
[2210] Fix | Delete
[2211] Fix | Delete
foreach ( $models as $model ) {
[2212] Fix | Delete
if ( ! $model->orm->is_new() ) {
[2213] Fix | Delete
throw new InvalidArgumentException( 'Instance to be inserted is not a new one' );
[2214] Fix | Delete
}
[2215] Fix | Delete
[2216] Fix | Delete
// Remove any expression fields as they are already baked into the query.
[2217] Fix | Delete
$dirty_fields = \array_diff_key( $model->orm->dirty_fields, $model->orm->expr_fields );
[2218] Fix | Delete
$dirty_column_names = \array_merge( $dirty_column_names, $dirty_fields );
[2219] Fix | Delete
}
[2220] Fix | Delete
[2221] Fix | Delete
$dirty_column_names = \array_keys( $dirty_column_names );
[2222] Fix | Delete
[2223] Fix | Delete
return $dirty_column_names;
[2224] Fix | Delete
}
[2225] Fix | Delete
[2226] Fix | Delete
/**
[2227] Fix | Delete
* Inserts multiple rows in a single query. Expects new rows as it's a strictly insert function, not an update one.
[2228] Fix | Delete
*
[2229] Fix | Delete
* @example From the Indexable_Link_Builder class: $this->seo_links_repository->query()->insert_many( $links );
[2230] Fix | Delete
*
[2231] Fix | Delete
* @param array $models Array of model instances to be inserted.
[2232] Fix | Delete
*
[2233] Fix | Delete
* @return bool True for successful insert, false for failed.
[2234] Fix | Delete
*
[2235] Fix | Delete
* @throws InvalidArgumentException Invalid instances to be inserted.
[2236] Fix | Delete
* @throws InvalidArgumentException Instance to be inserted is not a new one.
[2237] Fix | Delete
*/
[2238] Fix | Delete
public function insert_many( $models ) {
[2239] Fix | Delete
// Validate the input first.
[2240] Fix | Delete
if ( ! \is_array( $models ) ) {
[2241] Fix | Delete
throw new InvalidArgumentException( 'Invalid instances to be inserted' );
[2242] Fix | Delete
}
[2243] Fix | Delete
[2244] Fix | Delete
if ( empty( $models ) ) {
[2245] Fix | Delete
return true;
[2246] Fix | Delete
}
[2247] Fix | Delete
[2248] Fix | Delete
$success = true;
[2249] Fix | Delete
[2250] Fix | Delete
/**
[2251] Fix | Delete
* Filter: 'wpseo_chunk_bulked_insert_queries' - Allow filtering the chunk size of each bulked INSERT query.
[2252] Fix | Delete
*
[2253] Fix | Delete
* @param int $chunk_size The chunk size of the bulked INSERT queries.
[2254] Fix | Delete
*/
[2255] Fix | Delete
$chunk = \apply_filters( 'wpseo_chunk_bulk_insert_queries', 100 );
[2256] Fix | Delete
$chunk = ! \is_int( $chunk ) ? 100 : $chunk;
[2257] Fix | Delete
$chunk = ( $chunk <= 0 ) ? 100 : $chunk;
[2258] Fix | Delete
[2259] Fix | Delete
$chunked_models = \array_chunk( $models, $chunk );
[2260] Fix | Delete
foreach ( $chunked_models as $models_chunk ) {
[2261] Fix | Delete
$values = [];
[2262] Fix | Delete
[2263] Fix | Delete
// First, we'll gather all the dirty fields throughout the models to be inserted.
[2264] Fix | Delete
$dirty_column_names = $this->get_dirty_column_names( $models_chunk );
[2265] Fix | Delete
[2266] Fix | Delete
// Now, we're creating all dirty fields throughout the models and
[2267] Fix | Delete
// setting them to null if they don't exist in each model.
[2268] Fix | Delete
foreach ( $models_chunk as $model ) {
[2269] Fix | Delete
$model_values = [];
[2270] Fix | Delete
[2271] Fix | Delete
foreach ( $dirty_column_names as $dirty_column ) {
[2272] Fix | Delete
// Set the value to null if it hasn't been set already.
[2273] Fix | Delete
if ( ! isset( $model->orm->dirty_fields[ $dirty_column ] ) ) {
[2274] Fix | Delete
$model->orm->dirty_fields[ $dirty_column ] = null;
[2275] Fix | Delete
}
[2276] Fix | Delete
[2277] Fix | Delete
// Only register the value if it is not null.
[2278] Fix | Delete
if ( ! \is_null( $model->orm->dirty_fields[ $dirty_column ] ) ) {
[2279] Fix | Delete
$model_values[] = $model->orm->dirty_fields[ $dirty_column ];
[2280] Fix | Delete
}
[2281] Fix | Delete
}
[2282] Fix | Delete
$values = \array_merge( $values, $model_values );
[2283] Fix | Delete
}
[2284] Fix | Delete
[2285] Fix | Delete
// We now have the same set of dirty columns in all our models and also gathered all values.
[2286] Fix | Delete
$query = $this->build_insert_many( $models_chunk, $dirty_column_names );
[2287] Fix | Delete
$success = $success && (bool) self::execute( $query, $values );
[2288] Fix | Delete
}
[2289] Fix | Delete
[2290] Fix | Delete
return $success;
[2291] Fix | Delete
}
[2292] Fix | Delete
[2293] Fix | Delete
/**
[2294] Fix | Delete
* Updates many records in the database.
[2295] Fix | Delete
*
[2296] Fix | Delete
* @return int|bool The number of rows changed if the query was succesful. False otherwise.
[2297] Fix | Delete
*/
[2298] Fix | Delete
public function update_many() {
[2299] Fix | Delete
// Remove any expression fields as they are already baked into the query.
[2300] Fix | Delete
$values = \array_values( \array_diff_key( $this->dirty_fields, $this->expr_fields ) );
[2301] Fix | Delete
[2302] Fix | Delete
// UPDATE.
[2303] Fix | Delete
// If there are no dirty values, do nothing.
[2304] Fix | Delete
if ( empty( $values ) && empty( $this->expr_fields ) ) {
[2305] Fix | Delete
return true;
[2306] Fix | Delete
}
[2307] Fix | Delete
[2308] Fix | Delete
$query = $this->join_if_not_empty( ' ', [ $this->build_update(), $this->build_where() ] );
[2309] Fix | Delete
[2310] Fix | Delete
$success = self::execute( $query, \array_merge( $values, $this->values ) );
[2311] Fix | Delete
$this->dirty_fields = [];
[2312] Fix | Delete
$this->expr_fields = [];
[2313] Fix | Delete
[2314] Fix | Delete
return $success;
[2315] Fix | Delete
}
[2316] Fix | Delete
[2317] Fix | Delete
/**
[2318] Fix | Delete
* Adds a WHERE clause for every column that belongs to the primary key.
[2319] Fix | Delete
*
[2320] Fix | Delete
* @return string The where part of the query.
[2321] Fix | Delete
*/
[2322] Fix | Delete
public function add_id_column_conditions() {
[2323] Fix | Delete
$query = [];
[2324] Fix | Delete
$query[] = 'WHERE';
[2325] Fix | Delete
$keys = \is_array( $this->get_id_column_name() ) ? $this->get_id_column_name() : [ $this->get_id_column_name() ];
[2326] Fix | Delete
$first = true;
[2327] Fix | Delete
foreach ( $keys as $key ) {
[2328] Fix | Delete
if ( $first ) {
[2329] Fix | Delete
$first = false;
[2330] Fix | Delete
}
[2331] Fix | Delete
else {
[2332] Fix | Delete
$query[] = 'AND';
[2333] Fix | Delete
}
[2334] Fix | Delete
$query[] = $this->quote_identifier( $key );
[2335] Fix | Delete
$query[] = '= %s';
[2336] Fix | Delete
}
[2337] Fix | Delete
[2338] Fix | Delete
return \implode( ' ', $query );
[2339] Fix | Delete
}
[2340] Fix | Delete
[2341] Fix | Delete
/**
[2342] Fix | Delete
* Builds an UPDATE query.
[2343] Fix | Delete
*
[2344] Fix | Delete
* @return string The update query.
[2345] Fix | Delete
*/
[2346] Fix | Delete
protected function build_update() {
[2347] Fix | Delete
$query = [];
[2348] Fix | Delete
$query[] = "UPDATE {$this->quote_identifier($this->table_name)} SET";
[2349] Fix | Delete
$field_list = [];
[2350] Fix | Delete
foreach ( $this->dirty_fields as $key => $value ) {
[2351] Fix | Delete
if ( ! \array_key_exists( $key, $this->expr_fields ) ) {
[2352] Fix | Delete
$value = ( $value === null ) ? 'NULL' : '%s';
[2353] Fix | Delete
}
[2354] Fix | Delete
$field_list[] = "{$this->quote_identifier($key)} = {$value}";
[2355] Fix | Delete
}
[2356] Fix | Delete
$query[] = \implode( ', ', $field_list );
[2357] Fix | Delete
[2358] Fix | Delete
return \implode( ' ', $query );
[2359] Fix | Delete
}
[2360] Fix | Delete
[2361] Fix | Delete
/**
[2362] Fix | Delete
* Builds an INSERT query.
[2363] Fix | Delete
*
[2364] Fix | Delete
* @return string The insert query.
[2365] Fix | Delete
*/
[2366] Fix | Delete
protected function build_insert() {
[2367] Fix | Delete
$query = [];
[2368] Fix | Delete
$query[] = 'INSERT INTO';
[2369] Fix | Delete
$query[] = $this->quote_identifier( $this->table_name );
[2370] Fix | Delete
$field_list = \array_map( [ $this, 'quote_identifier' ], \array_keys( $this->dirty_fields ) );
[2371] Fix | Delete
$query[] = '(' . \implode( ', ', $field_list ) . ')';
[2372] Fix | Delete
$query[] = 'VALUES';
[2373] Fix | Delete
$placeholders = $this->create_placeholders( $this->dirty_fields );
[2374] Fix | Delete
$query[] = "({$placeholders})";
[2375] Fix | Delete
[2376] Fix | Delete
return \implode( ' ', $query );
[2377] Fix | Delete
}
[2378] Fix | Delete
[2379] Fix | Delete
/**
[2380] Fix | Delete
* Builds a bulk INSERT query.
[2381] Fix | Delete
*
[2382] Fix | Delete
* @param array $models Array of model instances to be inserted.
[2383] Fix | Delete
* @param array $dirty_column_names Array of dirty fields to be used in INSERT.
[2384] Fix | Delete
*
[2385] Fix | Delete
* @return string The insert query.
[2386] Fix | Delete
*/
[2387] Fix | Delete
protected function build_insert_many( $models, $dirty_column_names ) {
[2388] Fix | Delete
$example_model = $models[0];
[2389] Fix | Delete
$total_placeholders = '';
[2390] Fix | Delete
[2391] Fix | Delete
$query = [];
[2392] Fix | Delete
$query[] = 'INSERT INTO';
[2393] Fix | Delete
$query[] = $this->quote_identifier( $example_model->orm->table_name );
[2394] Fix | Delete
$field_list = \array_map( [ $this, 'quote_identifier' ], $dirty_column_names );
[2395] Fix | Delete
$query[] = '(' . \implode( ', ', $field_list ) . ')';
[2396] Fix | Delete
$query[] = 'VALUES';
[2397] Fix | Delete
[2398] Fix | Delete
// We assign placeholders per model for dirty fields that have values and NULL for dirty fields that don't.
[2399] Fix | Delete
foreach ( $models as $model ) {
[2400] Fix | Delete
$placeholder = [];
[2401] Fix | Delete
foreach ( $dirty_column_names as $dirty_field ) {
[2402] Fix | Delete
$placeholder[] = ( $model->orm->dirty_fields[ $dirty_field ] === null ) ? 'NULL' : '%s';
[2403] Fix | Delete
}
[2404] Fix | Delete
$placeholders = \implode( ', ', $placeholder );
[2405] Fix | Delete
$total_placeholders .= "({$placeholders}),";
[2406] Fix | Delete
}
[2407] Fix | Delete
[2408] Fix | Delete
$query[] = \rtrim( $total_placeholders, ',' );
[2409] Fix | Delete
return \implode( ' ', $query );
[2410] Fix | Delete
}
[2411] Fix | Delete
[2412] Fix | Delete
/**
[2413] Fix | Delete
* Deletes this record from the database.
[2414] Fix | Delete
*
[2415] Fix | Delete
* @return string The delete query.
[2416] Fix | Delete
*
[2417] Fix | Delete
* @throws Exception Primary key ID contains null value(s).
[2418] Fix | Delete
* @throws Exception Primary key ID missing from row or is null.
[2419] Fix | Delete
*/
[2420] Fix | Delete
public function delete() {
[2421] Fix | Delete
$query = [ 'DELETE FROM', $this->quote_identifier( $this->table_name ), $this->add_id_column_conditions() ];
[2422] Fix | Delete
[2423] Fix | Delete
return self::execute( \implode( ' ', $query ), \is_array( $this->id( true ) ) ? \array_values( $this->id( true ) ) : [ $this->id( true ) ] );
[2424] Fix | Delete
}
[2425] Fix | Delete
[2426] Fix | Delete
/**
[2427] Fix | Delete
* Deletes many records from the database.
[2428] Fix | Delete
*
[2429] Fix | Delete
* @return bool|int Response of wpdb::query.
[2430] Fix | Delete
*/
[2431] Fix | Delete
public function delete_many() {
[2432] Fix | Delete
// Build and return the full DELETE statement by concatenating
[2433] Fix | Delete
// the results of calling each separate builder method.
[2434] Fix | Delete
$query = $this->join_if_not_empty(
[2435] Fix | Delete
' ',
[2436] Fix | Delete
[
[2437] Fix | Delete
'DELETE FROM',
[2438] Fix | Delete
$this->quote_identifier( $this->table_name ),
[2439] Fix | Delete
$this->build_where(),
[2440] Fix | Delete
]
[2441] Fix | Delete
);
[2442] Fix | Delete
[2443] Fix | Delete
return self::execute( $query, $this->values );
[2444] Fix | Delete
}
[2445] Fix | Delete
[2446] Fix | Delete
/*
[2447] Fix | Delete
* --- ArrayAccess ---
[2448] Fix | Delete
*/
[2449] Fix | Delete
[2450] Fix | Delete
/**
[2451] Fix | Delete
* Checks whether the data has the key.
[2452] Fix | Delete
*
[2453] Fix | Delete
* @param mixed $offset Key.
[2454] Fix | Delete
*
[2455] Fix | Delete
* @return bool Whether the data has the key.
[2456] Fix | Delete
*/
[2457] Fix | Delete
#[ReturnTypeWillChange]
[2458] Fix | Delete
public function offsetExists( $offset ) {
[2459] Fix | Delete
return \array_key_exists( $offset, $this->data );
[2460] Fix | Delete
}
[2461] Fix | Delete
[2462] Fix | Delete
/**
[2463] Fix | Delete
* Retrieves the value of the key.
[2464] Fix | Delete
*
[2465] Fix | Delete
* @param mixed $offset Key.
[2466] Fix | Delete
*
[2467] Fix | Delete
* @return array|mixed|null The value.
[2468] Fix | Delete
*/
[2469] Fix | Delete
#[ReturnTypeWillChange]
[2470] Fix | Delete
public function offsetGet( $offset ) {
[2471] Fix | Delete
return $this->get( $offset );
[2472] Fix | Delete
}
[2473] Fix | Delete
[2474] Fix | Delete
/**
[2475] Fix | Delete
* Sets the value of the key.
[2476] Fix | Delete
*
[2477] Fix | Delete
* @param string|int $offset Key.
[2478] Fix | Delete
* @param mixed $value Value.
[2479] Fix | Delete
*
[2480] Fix | Delete
* @return void
[2481] Fix | Delete
*/
[2482] Fix | Delete
#[ReturnTypeWillChange]
[2483] Fix | Delete
public function offsetSet( $offset, $value ) {
[2484] Fix | Delete
if ( \is_null( $offset ) ) {
[2485] Fix | Delete
return;
[2486] Fix | Delete
}
[2487] Fix | Delete
$this->set( $offset, $value );
[2488] Fix | Delete
}
[2489] Fix | Delete
[2490] Fix | Delete
/**
[2491] Fix | Delete
* Removes the given key from the data.
[2492] Fix | Delete
*
[2493] Fix | Delete
* @param mixed $offset Key.
[2494] Fix | Delete
*
[2495] Fix | Delete
* @return void
[2496] Fix | Delete
*/
[2497] Fix | Delete
#[ReturnTypeWillChange]
[2498] Fix | Delete
public function offsetUnset( $offset ) {
[2499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function