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 19107b329dSKarsten Kosmala /** 20107b329dSKarsten Kosmala * Get the configured farm host 21107b329dSKarsten Kosmala * 22107b329dSKarsten Kosmala * @return string 23107b329dSKarsten Kosmala */ 24107b329dSKarsten Kosmala public function getFarmhost(): string 25107b329dSKarsten Kosmala { 266180f6b6SKarsten Kosmala return $this->helper->getConfig()['base']['farmhost']; 276180f6b6SKarsten Kosmala } 286180f6b6SKarsten Kosmala 29107b329dSKarsten Kosmala /** 30107b329dSKarsten Kosmala * Get the configured base domain of the farmer 31107b329dSKarsten Kosmala * This could be an empty string, then farmhost will be used to determine an animal url 32107b329dSKarsten Kosmala * 33107b329dSKarsten Kosmala * @return string 34107b329dSKarsten Kosmala */ 35107b329dSKarsten Kosmala public function getBaseDomain(): string 36107b329dSKarsten Kosmala { 376180f6b6SKarsten Kosmala return $this->helper->getConfig()['base']['basedomain']; 386180f6b6SKarsten Kosmala } 396180f6b6SKarsten Kosmala 40107b329dSKarsten Kosmala /** 41107b329dSKarsten Kosmala * Get a list of all animal names 42107b329dSKarsten Kosmala * 43107b329dSKarsten Kosmala * @return array 44107b329dSKarsten Kosmala */ 45107b329dSKarsten Kosmala public function listAnimals(): array 46107b329dSKarsten Kosmala { 476180f6b6SKarsten Kosmala return $this->helper->getAllAnimals(); 486180f6b6SKarsten Kosmala } 496180f6b6SKarsten Kosmala 50107b329dSKarsten Kosmala /** 51107b329dSKarsten Kosmala * Get a list of all animal urls 52107b329dSKarsten Kosmala * 53107b329dSKarsten Kosmala * @return array 54107b329dSKarsten Kosmala */ 55107b329dSKarsten Kosmala public function listAnimalUrls(): array 56107b329dSKarsten Kosmala { 576180f6b6SKarsten Kosmala foreach($this->helper->getAllAnimals() as $animal) { 586180f6b6SKarsten Kosmala $animalUrls[] = $this->helper->getAnimalURL($animal); 596180f6b6SKarsten Kosmala } 606180f6b6SKarsten Kosmala return $animalUrls; 616180f6b6SKarsten Kosmala } 62*7a001063SKarsten Kosmala 63*7a001063SKarsten Kosmala /** 64*7a001063SKarsten Kosmala * Get configuration details of farmer plugin enriched by animal name and urls 65*7a001063SKarsten Kosmala * 66*7a001063SKarsten Kosmala * @return array 67*7a001063SKarsten Kosmala */ 68*7a001063SKarsten Kosmala public function getFarmerConfig(): array 69*7a001063SKarsten Kosmala { 70*7a001063SKarsten Kosmala $farmerConfig = $this->helper->getConfig(); 71*7a001063SKarsten Kosmala foreach($this->helper->getAllAnimals() as $animal) { 72*7a001063SKarsten Kosmala $farmerConfig['animals'][$animal] = $this->helper->getAnimalURL($animal); 73*7a001063SKarsten Kosmala } 74*7a001063SKarsten Kosmala return $farmerConfig; 75*7a001063SKarsten Kosmala } 766180f6b6SKarsten Kosmala} 77