Viewing File: /home/eticmes/www/wp-content/plugins/quotes-llama/includes/classes/class-quotesllama-delete.php
<?php
/**
* Quotes Llama Delete
*
* Description. Delete a quote or bulk delete of quotes.
*
* @Link http://wordpress.org/plugins/quotes-llama/
* @package quotes-llama
* @since 3.0.0
* License: GPLv3
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
namespace Quotes_Llama;
/**
* Class QuotesLlama_Delete.
*/
class QuotesLlama_Delete {
/**
* Constructor.
*
* @since 3.0.0
* @access public
*/
public function __construct() {
}
/**
* Delete a single quote.
* Check for quote.
* Sanitize quote id.
*
* @since 1.0.0
* @access public
*
* @param int $quote_id - The quote_id of the quote to delete in the database.
*
* @return string - Message of result. y=success, n=failure.
*/
public function ql_delete( $quote_id ) {
if ( $quote_id ) {
global $wpdb;
$id = sanitize_text_field( $quote_id );
$result = $wpdb->query( $wpdb->prepare( 'DELETE FROM `%1s` WHERE quote_id = %d', $wpdb->prefix . 'quotes_llama', $id ) ); // phpcs:ignore
if ( false === $result ) {
return 'n';
} else {
return 'y';
}
} else {
return 'n';
}
}
/**
* Bulk delete quotes.
* Check for quotes ids.
* Validate ids to be int.
* Count the number of checkboxes.
* Create a placeholders array for prepare statment.
* String with the number of %s holders needed for checkboxes.
*
* @since 1.0.0
* @access public
*
* @param Array $quote_ids - Array of ids to delete.
*
* @return string message of result. Success count, n=failure, u=nothing selected.
*/
public function quotes_delete_bulk( $quote_ids ) {
if ( $quote_ids ) {
global $wpdb;
foreach ( $quote_ids as &$value ) {
$value = absint( $value );
}
$id_count = count( $quote_ids );
$holder_count = array_fill( 0, $id_count, '%s' );
$percent_s = '( ' . implode( ', ', $holder_count ) . ' )';
$result = $wpdb->query( // phpcs:ignore
$wpdb->prepare(
'DELETE FROM ' .
$wpdb->prefix .
'quotes_llama WHERE quote_id IN ' .
$percent_s, // phpcs:ignore
$quote_ids
)
);
if ( $result ) {
return $id_count;
} else {
return 'n';
}
} else {
return 'u';
}
}
}
Back to Directory
File Manager