xref: /plugin/farmer/remote.php (revision 7a001063b70ed5fc71ed264f34a36ba8f7d7d3a4)
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