diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..7f1e7f6 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/admin/index.html b/admin/index.html old mode 100644 new mode 100755 diff --git a/admin/push.php b/admin/push.php old mode 100644 new mode 100755 diff --git a/admin/sql/index.html b/admin/sql/index.html old mode 100644 new mode 100755 diff --git a/admin/sql/updates/.DS_Store b/admin/sql/updates/.DS_Store new file mode 100644 index 0000000..89e5815 Binary files /dev/null and b/admin/sql/updates/.DS_Store differ diff --git a/admin/sql/updates/index.html b/admin/sql/updates/index.html old mode 100644 new mode 100755 diff --git a/admin/sql/updates/mysql/0.0.1.sql b/admin/sql/updates/mysql/0.0.1.sql old mode 100644 new mode 100755 diff --git a/admin/sql/updates/mysql/index.html b/admin/sql/updates/mysql/index.html old mode 100644 new mode 100755 diff --git a/controller.php b/controller.php new file mode 100644 index 0000000..a55df58 --- /dev/null +++ b/controller.php @@ -0,0 +1,48 @@ +getView( 'articles', 'json' ); + $view->setLayout( 'default' ); + $view->display(); + } + + function category_articles() { + $view = $this->getView( 'category_articles', 'json' ); + $view->setLayout( 'default' ); + $view->display(); +} + + function categories() { + $view = $this->getView( 'categories', 'json' ); + $view->setLayout( 'default' ); + $view->display(); +} + + + function url_lookup() { + $view = $this->getView( 'urllookup', 'json'); + $view->setLayout( 'default' ); + $view->display(); + } + + function article() { + $view = $this->getView( 'article', 'json'); + $view->setLayout( 'default' ); + $view->display(); + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +
diff --git a/push.php b/push.php new file mode 100644 index 0000000..dcbd839 --- /dev/null +++ b/push.php @@ -0,0 +1,21 @@ +input; +$controller->execute($input->getCmd('task')); + +// Redirect if set by the controller +$controller->redirect(); diff --git a/push.xml b/push.xml old mode 100644 new mode 100755 diff --git a/site/.DS_Store b/site/.DS_Store new file mode 100644 index 0000000..3ec23a9 Binary files /dev/null and b/site/.DS_Store differ diff --git a/site/controller.php b/site/controller.php old mode 100644 new mode 100755 index 68f8642..a55df58 --- a/site/controller.php +++ b/site/controller.php @@ -21,6 +21,19 @@ function articles() { $view->display(); } + function category_articles() { + $view = $this->getView( 'category_articles', 'json' ); + $view->setLayout( 'default' ); + $view->display(); +} + + function categories() { + $view = $this->getView( 'categories', 'json' ); + $view->setLayout( 'default' ); + $view->display(); +} + + function url_lookup() { $view = $this->getView( 'urllookup', 'json'); $view->setLayout( 'default' ); diff --git a/site/index.html b/site/index.html old mode 100644 new mode 100755 diff --git a/site/push.php b/site/push.php old mode 100644 new mode 100755 diff --git a/site/views/.DS_Store b/site/views/.DS_Store new file mode 100644 index 0000000..bf9ca33 Binary files /dev/null and b/site/views/.DS_Store differ diff --git a/site/views/article/index.html b/site/views/article/index.html old mode 100644 new mode 100755 diff --git a/site/views/article/tmpl/default.php b/site/views/article/tmpl/default.php old mode 100644 new mode 100755 diff --git a/site/views/article/tmpl/index.html b/site/views/article/tmpl/index.html old mode 100644 new mode 100755 diff --git a/site/views/article/view.json.php b/site/views/article/view.json.php old mode 100644 new mode 100755 index 46b2793..aa4314b --- a/site/views/article/view.json.php +++ b/site/views/article/view.json.php @@ -45,7 +45,7 @@ function display($tpl = null) $query->select('*'); $query->from($db->quoteName('#__content')); $query->where("id = " . $article_id); - $query->setLimit(1); + //$query->setLimit(1); // // Reset the query using our newly populated query object. $db->setQuery($query); diff --git a/site/views/articles/.DS_Store b/site/views/articles/.DS_Store new file mode 100644 index 0000000..f18caf2 Binary files /dev/null and b/site/views/articles/.DS_Store differ diff --git a/site/views/articles/index.html b/site/views/articles/index.html old mode 100644 new mode 100755 diff --git a/site/views/articles/tmpl/default.php b/site/views/articles/tmpl/default.php old mode 100644 new mode 100755 diff --git a/site/views/articles/tmpl/index.html b/site/views/articles/tmpl/index.html old mode 100644 new mode 100755 diff --git a/site/views/articles/view.json.php b/site/views/articles/view.json.php old mode 100644 new mode 100755 diff --git a/site/views/categories/index.html b/site/views/categories/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/categories/index.html @@ -0,0 +1 @@ + diff --git a/site/views/categories/tmpl/default.php b/site/views/categories/tmpl/default.php new file mode 100755 index 0000000..65553bf --- /dev/null +++ b/site/views/categories/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/site/views/categories/tmpl/index.html b/site/views/categories/tmpl/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/categories/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/site/views/categories/view.json.php b/site/views/categories/view.json.php new file mode 100755 index 0000000..1a822a4 --- /dev/null +++ b/site/views/categories/view.json.php @@ -0,0 +1,85 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from($db->quoteName('#__categories')); + $query->order('created_time DESC'); + $query->setLimit($limit); + + $model_categories = JCategories::getInstance('Content'); + $root = $model_categories->get('root'); + $categories = $root->getChildren(); + // + // Reset the query using our newly populated query object. + $db->setQuery($query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $categories; + + $responseArray = []; + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->description, + 'body' => $article->params, + 'publish_date' => $article->created_time, + 'id' => $article->id, + 'language' => $article->language + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = $limit; + $responseArray['total_pages'] = '1'; + $responseArray['page'] = '1'; + $responseArray['results'] = $articleArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/site/views/category_articles/index.html b/site/views/category_articles/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/category_articles/index.html @@ -0,0 +1 @@ + diff --git a/site/views/category_articles/tmpl/default.php b/site/views/category_articles/tmpl/default.php new file mode 100755 index 0000000..65553bf --- /dev/null +++ b/site/views/category_articles/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/site/views/category_articles/tmpl/index.html b/site/views/category_articles/tmpl/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/category_articles/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/site/views/category_articles/view.json.php b/site/views/category_articles/view.json.php new file mode 100755 index 0000000..6095d35 --- /dev/null +++ b/site/views/category_articles/view.json.php @@ -0,0 +1,92 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query = $db->getQuery(true); + $query->select('*'); + $query->from('#__content'); + $query->where('catid="'.$id.'"'); + $query->order($db->quoteName('created') . ' DESC limit '.$page*$limit.','.$limit.''); + + $query2 = $db->getQuery(true); + $query2->select('COUNT(*)'); + $query2->from('#__content'); + $query2->where('catid="'.$id.'"'); + + + //limit "'.$page.',"'.$limit.'" + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + $db->setQuery((string)$query2); + + $responseArray = []; + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = $db->loadResult(); + $responseArray['total_pages'] = ceil($db->loadResult()/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $articleArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/site/views/menu_item/index.html b/site/views/menu_item/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/menu_item/index.html @@ -0,0 +1 @@ + diff --git a/site/views/menu_item/tmpl/default.php b/site/views/menu_item/tmpl/default.php new file mode 100755 index 0000000..65553bf --- /dev/null +++ b/site/views/menu_item/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/site/views/menu_item/tmpl/index.html b/site/views/menu_item/tmpl/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/menu_item/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/site/views/menu_item/view.json.php b/site/views/menu_item/view.json.php new file mode 100755 index 0000000..62cbcba --- /dev/null +++ b/site/views/menu_item/view.json.php @@ -0,0 +1,98 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from('#__menu'); + $query->where('id="'.$id.'"'); + + + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + $responseArray = []; + $menuItemsArray = []; + foreach($results as $menu_item){ + if($menu_item->fulltext == ""){ + $menu_item->fulltext = null; + } + + $menuItemsArray[] = ['menu_type' => $menu_item->menutype, + 'title' => $menu_item->title, + 'alias' => $menu_item->fulltext, + 'path' => $menu_item->path, + 'link' => $menu_item->link, + 'id' => $menu_item->id, + 'parent_id' => $menu_item->parent_id, + 'level' => $menu_item->level, + 'component_id' => $menu_item->component_id, + 'checked_out' => $menu_item->checked_out, + 'checked_out_time' => $menu_item->checked_out_time, + 'browserNav' => $menu_item->browserNav, + 'access' => $menu_item->access, + 'img' => $menu_item->img, + 'template_style_id' => $menu_item->template_style_id, + 'params' => $menu_item->params, + 'lft' => $menu_item->lft, + 'rgt' => $menu_item->rgt, + 'home' => $menu_item->home, + 'language' => $menu_item->language, + 'client_id' => $menu_item->client_id, + 'category_ids' => ((isset(json_decode($menu_item->params)->featured_categories)) ? json_decode($menu_item->params)->featured_categories : intval(filter_var($menu_item->link, FILTER_SANITIZE_NUMBER_INT))) + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = count($results); + $responseArray['total_pages'] = ceil(count($results)/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $menuItemsArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/site/views/menus/index.html b/site/views/menus/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/menus/index.html @@ -0,0 +1 @@ + diff --git a/site/views/menus/tmpl/default.php b/site/views/menus/tmpl/default.php new file mode 100755 index 0000000..65553bf --- /dev/null +++ b/site/views/menus/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/site/views/menus/tmpl/index.html b/site/views/menus/tmpl/index.html new file mode 100755 index 0000000..94906bc --- /dev/null +++ b/site/views/menus/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/site/views/menus/view.json.php b/site/views/menus/view.json.php new file mode 100755 index 0000000..57bf309 --- /dev/null +++ b/site/views/menus/view.json.php @@ -0,0 +1,104 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from('#__menu'); + $query->where('menutype="main" && language="'.$language.'" && type!="url" || menutype="topleft" && language="'.$language.'" && type!="url"'); + //state = 1 AND language = 'en-GB' + + + //echo 'menutype="main" && language="'.$language.'" && type!="url" || menutype="topleft" && language="'.$language.'" && type!="url"'; + + + + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + $responseArray = []; + $menuItemsArray = []; + foreach($results as $menu_item){ + if($menu_item->fulltext == ""){ + $menu_item->fulltext = null; + } + + $menuItemsArray[] = ['menu_type' => $menu_item->menutype, + 'title' => $menu_item->title, + 'alias' => $menu_item->fulltext, + 'path' => $menu_item->path, + 'link' => $menu_item->link, + 'id' => $menu_item->id, + 'parent_id' => $menu_item->parent_id, + 'level' => $menu_item->level, + 'component_id' => $menu_item->component_id, + 'checked_out' => $menu_item->checked_out, + 'checked_out_time' => $menu_item->checked_out_time, + 'browserNav' => $menu_item->browserNav, + 'access' => $menu_item->access, + 'img' => $menu_item->img, + 'template_style_id' => $menu_item->template_style_id, + 'params' => $menu_item->params, + 'lft' => $menu_item->lft, + 'rgt' => $menu_item->rgt, + 'home' => $menu_item->home, + 'language' => $menu_item->language, + 'client_id' => $menu_item->client_id + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = count($results); + $responseArray['total_pages'] = ceil(count($results)/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $menuItemsArray; + //echo var_dump($results); + + echo json_encode($responseArray); + + } +} diff --git a/site/views/urllookup/index.html b/site/views/urllookup/index.html old mode 100644 new mode 100755 diff --git a/site/views/urllookup/tmpl/default.php b/site/views/urllookup/tmpl/default.php old mode 100644 new mode 100755 diff --git a/site/views/urllookup/tmpl/index.html b/site/views/urllookup/tmpl/index.html old mode 100644 new mode 100755 diff --git a/site/views/urllookup/view.json.php b/site/views/urllookup/view.json.php old mode 100644 new mode 100755 diff --git a/views/.DS_Store b/views/.DS_Store new file mode 100644 index 0000000..bf9ca33 Binary files /dev/null and b/views/.DS_Store differ diff --git a/views/article/index.html b/views/article/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/article/index.html @@ -0,0 +1 @@ + diff --git a/views/article/tmpl/default.php b/views/article/tmpl/default.php new file mode 100644 index 0000000..25c14e6 --- /dev/null +++ b/views/article/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/article/tmpl/index.html b/views/article/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/article/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/article/view.json.php b/views/article/view.json.php new file mode 100644 index 0000000..aa4314b --- /dev/null +++ b/views/article/view.json.php @@ -0,0 +1,79 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from($db->quoteName('#__content')); + $query->where("id = " . $article_id); + //$query->setLimit(1); + // + // Reset the query using our newly populated query object. + $db->setQuery($query); + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + $responseArray = []; + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language + ]; + } + + $responseArray['total_items'] = '1'; + $responseArray['total_pages'] = '1'; + $responseArray['page'] = '1'; + $responseArray['results'] = $articleArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/views/articles/.DS_Store b/views/articles/.DS_Store new file mode 100644 index 0000000..f18caf2 Binary files /dev/null and b/views/articles/.DS_Store differ diff --git a/views/articles/index.html b/views/articles/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/articles/index.html @@ -0,0 +1 @@ + diff --git a/views/articles/tmpl/default.php b/views/articles/tmpl/default.php new file mode 100644 index 0000000..65553bf --- /dev/null +++ b/views/articles/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/articles/tmpl/index.html b/views/articles/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/articles/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/articles/view.json.php b/views/articles/view.json.php new file mode 100644 index 0000000..bfed954 --- /dev/null +++ b/views/articles/view.json.php @@ -0,0 +1,216 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from('#__menu'); + $query->where('menutype="main" && language="'.$language.'" && type!="url"'); + //state = 1 AND language = 'en-GB' + + //echo 'menutype="main" && language="'.$language.'" && type!="url" || menutype="topleft" && language="'.$language.'" && type!="url"'; + + + + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + + //echo json_encode($results); + + $responseArray = []; + $menuItemsArray = []; + $menuItemsTitles = []; + foreach($results as $menu_item){ + if($menu_item->fulltext == ""){ + $menu_item->fulltext = null; + } + + $categoryIds = ((isset(json_decode($menu_item->params)->featured_categories)) ? json_decode($menu_item->params)->featured_categories : intval(filter_var($menu_item->link, FILTER_SANITIZE_NUMBER_INT))) ; + //echo ''; print_r($categoryIds); echo ''; + $temp = returnArticles($categoryIds, $language); + if(count($temp)!==0){ + $menuItemsArray["$menu_item->title"] = $temp; + $menuItemsTitles[] = $menu_item->title; + } + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = count($results); + $responseArray['total_pages'] = ceil(count($results)/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $menuItemsArray; + $responseArray['categories'] = $menuItemsTitles; + + + //$responseArray['categories'] = explode(",",$categories); + //echo var_dump($results); + echo json_encode($responseArray); + + } + + + + + +} + +function returnArticles($categoryIds , $lang){ + + $db = JFactory::getDbo(); + $responseArray = []; + + if(count($categoryIds) != 1 || empty($categoryIds[0]) && is_array($categoryIds)){ + + $page = 0; + $limit = 10; + + + + + + // Create a new query object. + $query = $db->getQuery(true); + + + $query->select('*'); + $query->from('#__content'); + $query->where('featured="1" && state="1" && language="'.$lang.'"'); + $query->order($db->quoteName('modified') . ' DESC limit '.$page*$limit.','.$limit.''); + + $db->setQuery((string)$query); + + + $results = $db->loadObjectList(); + + + + + + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language + ]; + } + $responseArray = $articleArray; + + }else{ + $page = 0; + $limit = 10; + + + + + + // Create a new query object. + $query = $db->getQuery(true); + + + $query->select('*'); + $query->from('#__content'); + $query->where('catid="'.$categoryIds.'" && language="'.$lang.'"'); + $query->order($db->quoteName('created') . ' DESC limit '.$page*$limit.','.$limit.''); + + $db->setQuery((string)$query); + + + $results = $db->loadObjectList(); + + + + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleNew = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language, + 'categoryIds' => $categoryIds + ]; + $responseArray[] = $articleNew; + } + + + + + } + return $responseArray; +} + + +function onAfterInitialise() +{ + /*$lang = JFactory::getLanguage(); + $bla = $lang->setLanguage('en-GB'); + $lang->load(); + $leng = JFactory::getLanguage(); + echo 'language is: "'.$leng.'"';*/ + +} diff --git a/views/categories/index.html b/views/categories/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/categories/index.html @@ -0,0 +1 @@ + diff --git a/views/categories/tmpl/default.php b/views/categories/tmpl/default.php new file mode 100644 index 0000000..65553bf --- /dev/null +++ b/views/categories/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/categories/tmpl/index.html b/views/categories/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/categories/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/categories/view.json.php b/views/categories/view.json.php new file mode 100644 index 0000000..5d7daeb --- /dev/null +++ b/views/categories/view.json.php @@ -0,0 +1,85 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from($db->quoteName('#__categories')); + $query->order('created_time DESC'); + $query->setLimit($limit); + + $model_categories = JCategories::getInstance('Content'); + $root = $model_categories->get('root'); + $categories = $root->getChildren(); + // + // Reset the query using our newly populated query object. + $db->setQuery($query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $categories; + + $responseArray = []; + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->description, + 'body' => $article->params, + 'publish_date' => $article->created_time, + 'id' => $article->id, + 'language' => $article->language + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = $limit; + $responseArray['total_pages'] = '1'; + $responseArray['page'] = '1'; + $responseArray['results'] = $articleArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/views/category_articles/index.html b/views/category_articles/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/category_articles/index.html @@ -0,0 +1 @@ + diff --git a/views/category_articles/tmpl/default.php b/views/category_articles/tmpl/default.php new file mode 100644 index 0000000..65553bf --- /dev/null +++ b/views/category_articles/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/category_articles/tmpl/index.html b/views/category_articles/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/category_articles/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/category_articles/view.json.php b/views/category_articles/view.json.php new file mode 100644 index 0000000..6095d35 --- /dev/null +++ b/views/category_articles/view.json.php @@ -0,0 +1,92 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query = $db->getQuery(true); + $query->select('*'); + $query->from('#__content'); + $query->where('catid="'.$id.'"'); + $query->order($db->quoteName('created') . ' DESC limit '.$page*$limit.','.$limit.''); + + $query2 = $db->getQuery(true); + $query2->select('COUNT(*)'); + $query2->from('#__content'); + $query2->where('catid="'.$id.'"'); + + + //limit "'.$page.',"'.$limit.'" + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + $db->setQuery((string)$query2); + + $responseArray = []; + $articleArray = []; + foreach($results as $article){ + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray[] = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = $db->loadResult(); + $responseArray['total_pages'] = ceil($db->loadResult()/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $articleArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/views/menu_item/index.html b/views/menu_item/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/menu_item/index.html @@ -0,0 +1 @@ + diff --git a/views/menu_item/tmpl/default.php b/views/menu_item/tmpl/default.php new file mode 100644 index 0000000..65553bf --- /dev/null +++ b/views/menu_item/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/menu_item/tmpl/index.html b/views/menu_item/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/menu_item/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/menu_item/view.json.php b/views/menu_item/view.json.php new file mode 100644 index 0000000..aa6c186 --- /dev/null +++ b/views/menu_item/view.json.php @@ -0,0 +1,98 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from('#__menu'); + $query->where('id="'.$id.'"'); + + + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + $responseArray = []; + $menuItemsArray = []; + foreach($results as $menu_item){ + if($menu_item->fulltext == ""){ + $menu_item->fulltext = null; + } + + $menuItemsArray[] = ['menu_type' => $menu_item->menutype, + 'title' => $menu_item->title, + 'alias' => $menu_item->fulltext, + 'path' => $menu_item->path, + 'link' => $menu_item->link, + 'id' => $menu_item->id, + 'parent_id' => $menu_item->parent_id, + 'level' => $menu_item->level, + 'component_id' => $menu_item->component_id, + 'checked_out' => $menu_item->checked_out, + 'checked_out_time' => $menu_item->checked_out_time, + 'browserNav' => $menu_item->browserNav, + 'access' => $menu_item->access, + 'img' => $menu_item->img, + 'template_style_id' => $menu_item->template_style_id, + 'params' => $menu_item->params, + 'lft' => $menu_item->lft, + 'rgt' => $menu_item->rgt, + 'home' => $menu_item->home, + 'language' => $menu_item->language, + 'client_id' => $menu_item->client_id, + // 'category_ids' => ((isset(json_decode($menu_item->params)->featured_categories)) ? json_decode($menu_item->params)->featured_categories : intval(filter_var($menu_item->link, FILTER_SANITIZE_NUMBER_INT))) + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = count($results); + $responseArray['total_pages'] = ceil(count($results)/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $menuItemsArray; + //echo var_dump($results); + echo json_encode($responseArray); + } +} diff --git a/views/menus/index.html b/views/menus/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/menus/index.html @@ -0,0 +1 @@ + diff --git a/views/menus/tmpl/default.php b/views/menus/tmpl/default.php new file mode 100644 index 0000000..65553bf --- /dev/null +++ b/views/menus/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/menus/tmpl/index.html b/views/menus/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/menus/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/menus/view.json.php b/views/menus/view.json.php new file mode 100644 index 0000000..4fe6d6c --- /dev/null +++ b/views/menus/view.json.php @@ -0,0 +1,105 @@ +getQuery(true); + + // Select all records from the user profile table where key begins with "custom.". + // Order it by the ordering field. + $query->select('*'); + $query->from('#__menu'); + $query->where('menutype="main" && language="'.$language.'" && type!="url"'); + //state = 1 AND language = 'en-GB' + + + //echo 'menutype="main" && language="'.$language.'" && type!="url" || menutype="topleft" && language="'.$language.'" && type!="url"'; + + + + $db->setQuery((string)$query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $results = $db->loadObjectList(); + + $responseArray = []; + $menuItemsArray = []; + foreach($results as $menu_item){ + if($menu_item->fulltext == ""){ + $menu_item->fulltext = null; + } + + $menuItemsArray[] = ['menu_type' => $menu_item->menutype, + 'title' => $menu_item->title, + 'alias' => $menu_item->fulltext, + 'path' => $menu_item->path, + 'link' => $menu_item->link, + 'id' => $menu_item->id, + 'parent_id' => $menu_item->parent_id, + 'level' => $menu_item->level, + 'component_id' => $menu_item->component_id, + 'checked_out' => $menu_item->checked_out, + 'checked_out_time' => $menu_item->checked_out_time, + 'browserNav' => $menu_item->browserNav, + 'access' => $menu_item->access, + 'img' => $menu_item->img, + 'template_style_id' => $menu_item->template_style_id, + 'params' => $menu_item->params, + 'lft' => $menu_item->lft, + 'rgt' => $menu_item->rgt, + 'home' => $menu_item->home, + 'language' => $menu_item->language, + 'client_id' => $menu_item->client_id, + 'category_ids' => ((isset(json_decode($menu_item->params)->featured_categories)) ? json_decode($menu_item->params)->featured_categories : intval(filter_var($menu_item->link, FILTER_SANITIZE_NUMBER_INT))) + ]; + } + + $responseArray['start_date'] = null; + $responseArray['end_date'] = null; + $responseArray['total_items'] = count($results); + $responseArray['total_pages'] = ceil(count($results)/$limit); + $responseArray['page'] = $page; + $responseArray['results'] = $menuItemsArray; + //echo var_dump($results); + + echo json_encode($responseArray); + + } +} diff --git a/views/urllookup/.DS_Store b/views/urllookup/.DS_Store new file mode 100644 index 0000000..368ce60 Binary files /dev/null and b/views/urllookup/.DS_Store differ diff --git a/views/urllookup/index.html b/views/urllookup/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/urllookup/index.html @@ -0,0 +1 @@ + diff --git a/views/urllookup/tmpl/default.php b/views/urllookup/tmpl/default.php new file mode 100644 index 0000000..25c14e6 --- /dev/null +++ b/views/urllookup/tmpl/default.php @@ -0,0 +1,14 @@ + + +msg; ?> diff --git a/views/urllookup/tmpl/index.html b/views/urllookup/tmpl/index.html new file mode 100644 index 0000000..94906bc --- /dev/null +++ b/views/urllookup/tmpl/index.html @@ -0,0 +1 @@ + diff --git a/views/urllookup/view.json.php b/views/urllookup/view.json.php new file mode 100644 index 0000000..f12108a --- /dev/null +++ b/views/urllookup/view.json.php @@ -0,0 +1,83 @@ +setMode(1); // Set mode to Parse RAW URL. + + $u =& JURI::getInstance( $url ); + + $routingArray = $router->parse($u); + + $ids[$url] = $routingArray['id']; + $query = $db->getQuery(true); + + $query->select('*'); + $query->from($db->quoteName('#__content')); + $query->where('id = '.$routingArray['id']); + $query->setLimit(1); + + $db->setQuery($query); + + $results = $db->loadObjectList(); + + $article = $results[0]; + + if($article->fulltext == ""){ + $article->fulltext = null; + } + + $articleArray = ['headline' => $article->title, + 'description' => $article->introtext, + 'body' => $article->fulltext, + 'author' => $article->created_by_alias, + 'publish_date' => $article->publish_up, + 'id' => $article->id, + 'language' => $article->language + ]; + + $articles[]= $articleArray; + } + + //echo var_dump($articles); + echo json_encode($articles); + } +}