16180f6b6SKarsten Kosmala<?php 26180f6b6SKarsten Kosmala 36180f6b6SKarsten Kosmalause dokuwiki\Extension\RemotePlugin; 46180f6b6SKarsten Kosmala 56180f6b6SKarsten Kosmalaclass remote_plugin_farmer extends RemotePlugin { 66180f6b6SKarsten Kosmala /** @var helper_plugin_farmer hlp */ 76180f6b6SKarsten Kosmala protected $helper; 86180f6b6SKarsten Kosmala 96180f6b6SKarsten Kosmala /** 106180f6b6SKarsten Kosmala * remote_plugin_struct constructor. 116180f6b6SKarsten Kosmala */ 126180f6b6SKarsten Kosmala public function __construct() 136180f6b6SKarsten Kosmala { 146180f6b6SKarsten Kosmala parent::__construct(); 156180f6b6SKarsten Kosmala 166180f6b6SKarsten Kosmala $this->helper = plugin_load('helper', 'farmer'); 176180f6b6SKarsten Kosmala } 186180f6b6SKarsten Kosmala 19*107b329dSKarsten Kosmala /** 20*107b329dSKarsten Kosmala * Get the configured farm host 21*107b329dSKarsten Kosmala * 22*107b329dSKarsten Kosmala * @return string 23*107b329dSKarsten Kosmala */ 24*107b329dSKarsten Kosmala public function getFarmhost(): string 25*107b329dSKarsten Kosmala { 266180f6b6SKarsten Kosmala return $this->helper->getConfig()['base']['farmhost']; 276180f6b6SKarsten Kosmala } 286180f6b6SKarsten Kosmala 29*107b329dSKarsten Kosmala /** 30*107b329dSKarsten Kosmala * Get the configured base domain of the farmer 31*107b329dSKarsten Kosmala * This could be an empty string, then farmhost will be used to determine an animal url 32*107b329dSKarsten Kosmala * 33*107b329dSKarsten Kosmala * @return string 34*107b329dSKarsten Kosmala */ 35*107b329dSKarsten Kosmala public function getBaseDomain(): string 36*107b329dSKarsten Kosmala { 376180f6b6SKarsten Kosmala return $this->helper->getConfig()['base']['basedomain']; 386180f6b6SKarsten Kosmala } 396180f6b6SKarsten Kosmala 40*107b329dSKarsten Kosmala /** 41*107b329dSKarsten Kosmala * Get a list of all animal names 42*107b329dSKarsten Kosmala * 43*107b329dSKarsten Kosmala * @return array 44*107b329dSKarsten Kosmala */ 45*107b329dSKarsten Kosmala public function listAnimals(): array 46*107b329dSKarsten Kosmala { 476180f6b6SKarsten Kosmala return $this->helper->getAllAnimals(); 486180f6b6SKarsten Kosmala } 496180f6b6SKarsten Kosmala 50*107b329dSKarsten Kosmala /** 51*107b329dSKarsten Kosmala * Get a list of all animal urls 52*107b329dSKarsten Kosmala * 53*107b329dSKarsten Kosmala * @return array 54*107b329dSKarsten Kosmala */ 55*107b329dSKarsten Kosmala public function listAnimalUrls(): array 56*107b329dSKarsten Kosmala { 576180f6b6SKarsten Kosmala foreach($this->helper->getAllAnimals() as $animal) { 586180f6b6SKarsten Kosmala $animalUrls[] = $this->helper->getAnimalURL($animal); 596180f6b6SKarsten Kosmala } 606180f6b6SKarsten Kosmala return $animalUrls; 616180f6b6SKarsten Kosmala } 626180f6b6SKarsten Kosmala} 63