if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/**
* @param $term
*
* @return array|bool
* @since 4.5.2
*
*/
function vc_autocomplete_taxonomies_field_render( $term ) {
$vc_taxonomies_types = vc_taxonomies_types();
$terms = get_terms( array_keys( $vc_taxonomies_types ), array(
'include' => array( $term['value'] ),
'hide_empty' => false,
) );
$data = false;
if ( is_array( $terms ) && 1 === count( $terms ) ) {
$term = $terms[0];
$data = vc_get_term_object( $term );
}
return $data;
}
/**
* @param $search_string
*
* @return array|bool
* @since 4.5.2
*
*/
function vc_autocomplete_taxonomies_field_search( $search_string ) {
$data = array();
$vc_filter_by = vc_post_param( 'vc_filter_by', '' );
$vc_filter_by_post_type = vc_post_param( 'vc_filter_post_type', '' );
$vc_taxonomies_types = strlen( $vc_filter_by ) > 0 ? array( $vc_filter_by ) : array_keys( vc_taxonomies_types( $vc_filter_by_post_type ) );
if ( empty( $vc_taxonomies_types ) ) {
return array();
}
$vc_taxonomies = get_terms( $vc_taxonomies_types, array(
'hide_empty' => false,
'search' => $search_string,
) );
if ( is_array( $vc_taxonomies ) && ! empty( $vc_taxonomies ) ) {
foreach ( $vc_taxonomies as $t ) {
if ( is_object( $t ) ) {
$data[] = vc_get_term_object( $t );
}
}
}
return $data;
}
/**
* @param $search
* @param $wp_query
*
* @return string
*/
function vc_search_by_title_only( $search, $wp_query ) {
global $wpdb;
if ( empty( $search ) ) {
return $search;
}
// skip processing - no search term in query
$q = $wp_query->query_vars;
if ( isset( $q['vc_search_by_title_only'] ) && $q['vc_search_by_title_only'] ) {
$n = ! empty( $q['exact'] ) ? '' : '%';
$search = '';
$searchand = '';
foreach ( (array) $q['search_terms'] as $term ) {
$term = $wpdb->esc_like( $term );
$like = $n . $term . $n;
$search .= $searchand . $wpdb->prepare( "($wpdb->posts.post_title LIKE %s)", $like );
$searchand = ' AND ';
}
if ( ! empty( $search ) ) {
$search = " AND ({$search}) ";
if ( ! is_user_logged_in() ) {
$search .= " AND ($wpdb->posts.post_password = '') ";
}
}
}
return $search;
}
/**
* @param $search_string
*
* @return array
*/
function vc_include_field_search( $search_string ) {
$query = $search_string;
$data = array();
$args = array(
's' => $query,
'post_type' => 'any',
);
$args['vc_search_by_title_only'] = true;
$args['numberposts'] = - 1;
if ( 0 === strlen( $args['s'] ) ) {
unset( $args['s'] );
}
add_filter( 'posts_search', 'vc_search_by_title_only', 500, 2 );
$posts = get_posts( $args );
if ( is_array( $posts ) && ! empty( $posts ) ) {
foreach ( $posts as $post ) {
$data[] = array(
'value' => $post->ID,
'label' => $post->post_title,
'group' => $post->post_type,
);
}
}
return $data;
}
/**
* @param $value
*
* @return array|bool
*/
function vc_include_field_render( $value ) {
$post = get_post( $value['value'] );
return is_null( $post ) ? false : array(
'label' => $post->post_title,
'value' => $post->ID,
'group' => $post->post_type,
);
}
/**
* @param $data_arr
*
* @return array
*/
function vc_exclude_field_search( $data_arr ) {
$query = isset( $data_arr['query'] ) ? $data_arr['query'] : null;
$term = isset( $data_arr['term'] ) ? $data_arr['term'] : '';
$data = array();
$args = ! empty( $query ) ? array(
's' => $term,
'post_type' => $query,
) : array(
's' => $term,
'post_type' => 'any',
);
$args['vc_search_by_title_only'] = true;
$args['numberposts'] = - 1;
if ( 0 === strlen( $args['s'] ) ) {
unset( $args['s'] );
}
add_filter( 'posts_search', 'vc_search_by_title_only', 500, 2 );
$posts = get_posts( $args );
if ( is_array( $posts ) && ! empty( $posts ) ) {
foreach ( $posts as $post ) {
$data[] = array(
'value' => $post->ID,
'label' => $post->post_title,
'group' => $post->post_type,
);
}
}
return $data;
}
/**
* @param $value
*
* @return array|bool
*/
function vc_exclude_field_render( $value ) {
$post = get_post( $value['value'] );
return is_null( $post ) ? false : array(
'label' => $post->post_title,
'value' => $post->ID,
'group' => $post->post_type,
);
}
Sentek – One Stop for Your Home and Office Security is Our Priority
Your Smart Home Security is Our Priority
Sentek Security is an Authorized Dealer of SecurTek Monitoring Services . We are committed to providing peace of mind to homeowners and small business owners in southern Saskatchewan. Our smart home security packages allow our customers to monitor their home or business remotely from their mobile devices, using the alarm.com app. Our systems are professionally monitored by right here in Canada to help prevent intrusion, medical, and fire emergencies. It also has a duress feature for our customers that live in particularly rough neighbourhoods.
Professional Security Services
Live life, knowing your home is protected. All our bundles include battery backup for your security panel and round the clock professional monitoring, provided by a company that meets the highest national standards available.
*Save $5/mo. off the advertised monthly Security price when you bundle your security service with SaskTel Internet, Wireless, TV, or Long Distance (ULD).
Residential Security Services Enjoy the benefits of a user-friendly platform to manage and protect your home while you’re away. Add video to your package to view live stream and record on motion detection. Add smart devices such as locks, lights, or thermostats to really improve your quality of life.
Read More
Commercial Security Services Link your home and business security systems together, and monitor them both remotely from the same platform, for your convenience.
Read More
Making Your Life Safer
Customized security solutions to protect your people & home