* @return false|void */ public function remove_all() { // Get the database interface. $db = $this->get_db(); // Bail if no database interface is available. if ( empty( $db ) ) { return false; } $prefixed_table_name = $db->prefix . $this->table_name; $db->query( "DELETE FROM `$prefixed_table_name` WHERE 1 = 1" ); } /** * Lock a URL. * * @param string $url URL to lock. * * @return void */ public function lock( string $url ) { $this->create_or_update( [ 'url' => $url, 'is_locked' => true, ] ); } /** * Unlock a URL. * * @param string $url URL to unlock. * * @return void */ public function unlock( string $url ) { $this->create_or_update( [ 'url' => $url, 'is_locked' => false, ] ); } /** * Check if the url is rejected. * * @param string $url url to check. * @return bool */ protected function is_rejected( string $url ): bool { $extensions = [ 'php' => 1, 'xml' => 1, 'xsl' => 1, 'kml' => 1, ]; $extension = pathinfo( $url, PATHINFO_EXTENSION ); return $extension && isset( $extensions[ $extension ] ); } }