first commit
This commit is contained in:
188
modules/revsliderprestashop/includes/em_integration.class.php
Normal file
188
modules/revsliderprestashop/includes/em_integration.class.php
Normal file
@@ -0,0 +1,188 @@
|
||||
<?php
|
||||
/**
|
||||
* 2016 Revolution Slider
|
||||
*
|
||||
* @author SmatDataSoft <support@smartdatasoft.com>
|
||||
* @copyright 2016 SmatDataSoft
|
||||
* @license private
|
||||
* @version 5.1.3
|
||||
* International Registered Trademark & Property of SmatDataSoft
|
||||
*/
|
||||
|
||||
class UniteEmRev
|
||||
{
|
||||
|
||||
const DEFAULT_FILTER = "none";
|
||||
|
||||
public static function isEventsExists()
|
||||
{
|
||||
if (defined("EM_VERSION") && defined("EM_PRO_MIN_VERSION")) {
|
||||
return(true);
|
||||
}
|
||||
|
||||
return(false);
|
||||
}
|
||||
|
||||
public static function getArrFilterTypes()
|
||||
{
|
||||
$arrEventsSort = array("none" => __("All Events", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"today" => __("Today", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"tomorrow"=>__("Tomorrow", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"future"=>__("Future", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"past"=>__("Past", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"month"=>__("This Month", REVSLIDER_TEXTDOMAIN),
|
||||
|
||||
"nextmonth"=>__("Next Month", REVSLIDER_TEXTDOMAIN)
|
||||
|
||||
);
|
||||
|
||||
return($arrEventsSort);
|
||||
}
|
||||
|
||||
public static function getWPQuery($filterType, $sortBy)
|
||||
{
|
||||
$dayMs = 60*60*24;
|
||||
$response = array();
|
||||
|
||||
|
||||
$time = current_time('timestamp');
|
||||
|
||||
$todayStart = strtotime(date('Y-m-d', $time));
|
||||
|
||||
$todayEnd = $todayStart + $dayMs-1;
|
||||
|
||||
$tomorrowStart = $todayEnd+1;
|
||||
|
||||
$tomorrowEnd = $tomorrowStart + $dayMs-1;
|
||||
|
||||
|
||||
|
||||
//dmp(UniteFunctionsRev::timestamp2DateTime($tomorrowStart));exit();
|
||||
|
||||
|
||||
|
||||
$start_month = strtotime(date('Y-m-1', $time));
|
||||
|
||||
$end_month = strtotime(date('Y-m-t', $time)) + 86399;
|
||||
|
||||
$next_month_middle = strtotime('+1 month', $time); //get the end of this month + 1 day
|
||||
|
||||
$start_next_month = strtotime(date('Y-m-1', $next_month_middle));
|
||||
|
||||
$end_next_month = strtotime(date('Y-m-t', $next_month_middle)) + 86399;
|
||||
|
||||
|
||||
|
||||
$query = array();
|
||||
|
||||
|
||||
|
||||
switch ($filterType) {
|
||||
|
||||
case self::DEFAULT_FILTER: //none
|
||||
|
||||
break;
|
||||
|
||||
case "today":
|
||||
|
||||
$query[] = array( 'key' => '_start_ts', 'value' => $todayEnd, 'compare' => '<=' );
|
||||
|
||||
$query[] = array( 'key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=' );
|
||||
|
||||
break;
|
||||
|
||||
case "future":
|
||||
|
||||
$query[] = array( 'key' => '_start_ts', 'value' => $time, 'compare' => '>' );
|
||||
|
||||
break;
|
||||
|
||||
case "tomorrow":
|
||||
|
||||
$query[] = array( 'key' => '_start_ts', 'value' => $tomorrowEnd, 'compare' => '<=' );
|
||||
|
||||
$query[] = array( 'key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=' );
|
||||
|
||||
break;
|
||||
|
||||
case "past":
|
||||
|
||||
$query[] = array( 'key' => '_end_ts', 'value' => $todayStart, 'compare' => '<' );
|
||||
|
||||
break;
|
||||
|
||||
case "month":
|
||||
|
||||
$query[] = array( 'key' => '_start_ts', 'value' => $end_month, 'compare' => '<=' );
|
||||
|
||||
$query[] = array( 'key' => '_end_ts', 'value' => $start_month, 'compare' => '>=' );
|
||||
|
||||
break;
|
||||
|
||||
case "nextmonth":
|
||||
|
||||
$query[] = array( 'key' => '_start_ts', 'value' => $end_next_month, 'compare' => '<=' );
|
||||
|
||||
$query[] = array( 'key' => '_end_ts', 'value' => $start_next_month, 'compare' => '>=' );
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
UniteFunctionsRev::throwError("Wrong event filter");
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!empty($query)) {
|
||||
$response["meta_query"] = $query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//convert sortby
|
||||
|
||||
switch ($sortBy) {
|
||||
|
||||
case "event_start_date":
|
||||
|
||||
$response["orderby"] = "meta_value_num";
|
||||
|
||||
$response["meta_key"] = "_start_ts";
|
||||
|
||||
break;
|
||||
|
||||
case "event_end_date":
|
||||
|
||||
$response["orderby"] = "meta_value_num";
|
||||
|
||||
$response["meta_key"] = "_end_ts";
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return($response);
|
||||
}
|
||||
|
||||
public static function getArrSortBy()
|
||||
{
|
||||
$arrSortBy = array();
|
||||
|
||||
$arrSortBy["event_start_date"] = __("Event Start Date", REVSLIDER_TEXTDOMAIN);
|
||||
|
||||
$arrSortBy["event_end_date"] = __("Event End Date", REVSLIDER_TEXTDOMAIN);
|
||||
|
||||
return($arrSortBy);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user