/home/techb158/public_html/wp-content/plugins/wordpress-seo/src/models
Edit: /home/techb158/public_html/wp-content/plugins/wordpress-seo/src/models/indexable.php (5520B)
loaded_extensions[ $class_name ] ) {
$this->loaded_extensions[ $class_name ] = $this->has_one( $class_name, 'indexable_id', 'id' )->find_one();
}
return $this->loaded_extensions[ $class_name ];
}
/**
* Enhances the save method.
*
* @return bool True on success.
*/
public function save() {
if ( $this->permalink ) {
$this->sanitize_permalink();
$this->permalink_hash = \strlen( $this->permalink ) . ':' . \md5( $this->permalink );
}
if ( \is_string( $this->primary_focus_keyword ) && \mb_strlen( $this->primary_focus_keyword ) > 191 ) {
$this->primary_focus_keyword = \mb_substr( $this->primary_focus_keyword, 0, 191, 'UTF-8' );
}
return parent::save();
}
/**
* Sanitizes the permalink.
*
* @return void
*/
protected function sanitize_permalink() {
if ( $this->permalink === 'unindexed' ) {
return;
}
$permalink_structure = \get_option( 'permalink_structure' );
$permalink_parts = \wp_parse_url( $this->permalink );
if ( ! isset( $permalink_parts['path'] ) ) {
$permalink_parts['path'] = '/';
}
if ( \substr( $permalink_structure, -1, 1 ) === '/' && \strpos( \substr( $permalink_parts['path'], -5 ), '.' ) === false ) {
$permalink_parts['path'] = \trailingslashit( $permalink_parts['path'] );
}
$permalink = '';
if ( isset( $permalink_parts['scheme'] ) ) {
$permalink .= $permalink_parts['scheme'] . '://';
}
if ( isset( $permalink_parts['host'] ) ) {
$permalink .= $permalink_parts['host'];
}
if ( isset( $permalink_parts['port'] ) ) {
$permalink .= ':' . $permalink_parts['port'];
}
if ( isset( $permalink_parts['path'] ) ) {
$permalink .= $permalink_parts['path'];
}
if ( isset( $permalink_parts['query'] ) ) {
$permalink .= '?' . $permalink_parts['query'];
}
// We never set the fragment as the fragment is intended to be client-only.
$this->permalink = $permalink;
}
}