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