123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- class OpenClassroomsBridge extends BridgeAbstract{
- public function loadMetadatas() {
- $this->maintainer = "sebsauvage";
- $this->name = "OpenClassrooms Bridge";
- $this->uri = "https://openclassrooms.com/";
- $this->description = "Returns latest tutorials from OpenClassrooms.";
- $this->update = "2015-10-30";
- $this->parameters[] =
- '[
- {
- "name" : "Catégorie",
- "identifier" : "u",
- "type" : "list",
- "values" : [
- {
- "name" : "Arts & Culture",
- "value" : "arts"
- },
- {
- "name" : "Code",
- "value" : "code"
- },
- {
- "name" : "Design",
- "value" : "design"
- },
- {
- "name" : "Entreprise",
- "value" : "business"
- },
- {
- "name" : "Numérique",
- "value" : "digital"
- },
- {
- "name" : "Sciences",
- "value" : "sciences"
- },
- {
- "name" : "Sciences Humaines",
- "value" : "humainities"
- },
- {
- "name" : "Systèmes d\'information",
- "value" : "it"
- },
- {
- "name" : "Autres",
- "value" : "others"
- }
- ]
- }
- ]';
- }
- public function collectData(array $param){
- if (empty($param['u']))
- {
- $this->returnError('Error: You must chose a category.', 404);
- }
-
- $html = '';
- $link = 'https://openclassrooms.com/courses?categories='.$param['u'].'&title=&sort=updatedAt+desc';
- $html = $this->file_get_html($link) or $this->returnError('Could not request OpenClassrooms.', 404);
- foreach($html->find('.courseListItem') as $element) {
- $item = new \Item();
- $item->uri = 'https://openclassrooms.com'.$element->find('a', 0)->href;
- $item->title = $element->find('h3', 0)->plaintext;
- $item->content = $element->find('slidingItem__descriptionContent', 0)->plaintext;
- $this->items[] = $item;
- }
- }
- public function getName(){
- return 'OpenClassrooms';
- }
- public function getURI(){
- return 'https://openclassrooms.com/';
- }
- public function getCacheDuration(){
- return 21600; // 6 hours
- }
- }
|