Files
doitinpoland.com/wp-content/plugins/wpml-translation-management/classes/translate_link_targets/class-wpml-links-fixed-status-for-posts.php
2023-09-12 21:41:04 +02:00

47 lines
1.3 KiB
PHP

<?php
/**
* Class WPML_Links_Fixed_Status_For_Posts
*
* @package wpml-tm
*/
class WPML_Links_Fixed_Status_For_Posts extends WPML_Links_Fixed_Status {
/* @var int $translation_id */
private $translation_id;
private $wpdb;
public function __construct( $wpdb, $element_id, $element_type ) {
$this->wpdb = $wpdb;
$this->translation_id = $wpdb->get_var( $wpdb->prepare( "SELECT translation_id
FROM {$wpdb->prefix}icl_translations
WHERE element_id=%d
AND element_type=%s",
$element_id,
$element_type ) );
}
public function set( $status ) {
$status = $status ? 1 : 0;
$q = "UPDATE {$this->wpdb->prefix}icl_translation_status SET links_fixed=%d WHERE translation_id=%d";
$q_prepared = $this->wpdb->prepare( $q, array( $status, $this->translation_id ) );
$this->wpdb->query($q_prepared);
}
public function are_links_fixed() {
$state = $this->wpdb->get_var( $this->wpdb->prepare( "SELECT links_fixed
FROM {$this->wpdb->prefix}icl_translation_status
WHERE translation_id=%d",
$this->translation_id ) );
return (bool) $state;
}
public static function clear( $element_id, $element_type ) {
global $wpdb;
$status = new WPML_Links_Fixed_Status_For_Posts( $wpdb, $element_id, $element_type );
$status->set( false );
}
}