paginate('products', $page, $per); } /** * @param null $page * @param null $per * @return object|stdClass */ public function paginateOrders($page = null, $per = null) { return $this->paginate('orders', $page, $per); } /** * @param $resource * @param int $page * @param int $per * @return object|stdClass */ public function paginate($resource, $page = 1, $per = 5) { if (($sync = $this->engine($resource))) { return $sync->compile($page, $per); } return (object) array( 'endpoint' => $resource, 'page' => $page, 'count' => 0, 'stuffed' => false, 'items' => array(), ); } /** * @param $resource * @return bool|MailChimp_WooCommerce_Transform_Orders|MailChimp_WooCommerce_Transform_Products|MailChimp_WooCommerce_Transform_Coupons */ public function engine($resource) { switch ($resource) { case 'products' : return new MailChimp_WooCommerce_Transform_Products(); break; case 'orders' : return new MailChimp_WooCommerce_Transform_Orders(); break; case 'coupons': return new MailChimp_WooCommerce_Transform_Coupons(); default: return false; } } }