public function get($params = false)
{
$time = time();
$clear_carts_cache = $this->app->cache_manager->get('clear_cache', 'cart/global');
if ($clear_carts_cache == false or $clear_carts_cache < $time - 600) {
// clears cache for old carts
$this->app->cache_manager->delete('cart/global');
$this->app->cache_manager->save($time, 'clear_cache', 'cart/global');
}
$params2 = array();
if (is_string($params)) {
$params = parse_str($params, $params2);
$params = $params2;
}
$table = $this->table;
$params['table'] = $table;
$skip_sid = false;
if (!defined('MW_API_CALL')) {
if (isset($params['order_id'])) {
$skip_sid = 1;
}
}
if ($skip_sid == false) {
if (!defined('MW_ORDERS_SKIP_SID')) {
if ($this->app->user_manager->is_admin() == false) {
$params['session_id'] = mw()->user_manager->session_id();
} else {
if (isset($params['session_id']) and $this->app->user_manager->is_admin() == true) {
} else {
$params['session_id'] = mw()->user_manager->session_id();
}
}
if (isset($params['no_session_id']) and $this->app->user_manager->is_admin() == true) {
unset($params['session_id']);
}
}
}
if (!isset($params['rel']) and isset($params['for'])) {
$params['rel_type'] = $params['for'];
} elseif (isset($params['rel']) and !isset($params['rel_type'])) {
$params['rel_type'] = $params['rel'];
}
if (!isset($params['rel_id']) and isset($params['for_id'])) {
$params['rel_id'] = $params['for_id'];
}
$params['limit'] = 10000;
if (!isset($params['order_completed'])) {
if (!isset($params['order_id'])) {
$params['order_completed'] = 0;
}
} elseif (isset($params['order_completed']) and $params['order_completed'] === 'any') {
unset($params['order_completed']);
}
$params['no_cache'] = 1;
$get = $this->app->database_manager->get($params);
if (isset($params['count']) and $params['count'] != false) {
return $get;
}
$return = array();
if (is_array($get)) {
foreach ($get as $k => $item) {
if (isset($item['rel_id']) and isset($item['rel_type']) and $item['rel_type'] == 'content') {
$item['content_data'] = $this->app->content_manager->data($item['rel_id']);
$item['url'] = $this->app->content_manager->link($item['rel_id']);
$item['picture'] = $this->app->media_manager->get_picture($item['rel_id']);
}
if (isset($item['custom_fields_data']) and $item['custom_fields_data'] != '') {
$item = $this->app->format->render_item_custom_fields_data($item);
}
if (isset($item['title'])) {
$item['title'] = html_entity_decode($item['title']);
$item['title'] = strip_tags($item['title']);
$item['title'] = $this->app->format->clean_html($item['title']);
$item['title'] = htmlspecialchars_decode($item['title']);
}
$return[$k] = $item;
}
} else {
$return = $get;
}
return $return;
}