Plugin Directory

Changeset 2296846


Ignore:
Timestamp:
05/02/2020 09:32:57 PM (6 years ago)
Author:
maxmelzer
Message:

Update code to version 1.2.1

Location:
devotionalium
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • devotionalium/tags/1.0.1/src/Devotionalium/Devotionalium.php

    r1823971 r2296846  
    4545    /**
    4646     * @return Verse[]
     47     * @throws \Exception
    4748     */
    4849    public function getVerses()
     
    5657    /**
    5758     * @return \DateTime
     59     * @throws \Exception
    5860     */
    5961    public function getDate()
     
    8385    /**
    8486     * Lazily load content from api.
     87     * @throws \Exception
    8588     */
    8689    private function load()
  • devotionalium/tags/1.0.1/src/Model/Api/DevotionaliumApi.php

    r1823971 r2296846  
    55use Devotionalium\Devotionalium\Devotionalium;
    66use Devotionalium\Model\Storage\Transient;
     7use Exception;
    78
    89class DevotionaliumApi
     
    2021    private $transient;
    2122
    22     /**
    23      * DevotionaliumApi constructor.
    24      */
    2523    public function __construct()
    2624    {
     
    3432     * @param int $dayOffset
    3533     * @return Devotionalium
     34     * @throws Exception
    3635     */
    3736    public function loadDevotionalium(
     
    8483     * @param $language
    8584     * @return Version[]
     85     * @throws Exception
    8686     */
    8787    public function loadVersions($language = 'en')
  • devotionalium/trunk/devotionalium.php

    r2164856 r2296846  
    44Plugin URI:   https://devotionalium.com/wordpress/
    55Description:  Include today's verses from devotionalium.com, with rich support for original languages.
    6 Version:      1.2.0
     6Version:      1.2.1
    77Author:       Max Melzer
    88Author URI:   http://moehrenzahn.de/en/about
  • devotionalium/trunk/readme.txt

    r2164860 r2296846  
    33Tags: bible, quran, torah, devotion, watchword, losung, theology
    44Requires at least: 4.9
    5 Tested up to: 5.1.1
    6 Stable tag: 1.2.0
     5Tested up to: 5.3.2
     6Stable tag: 1.2.1
    77Requires PHP: 5.6
    88Text Domain:  devotionalium
     
    4545
    4646== Changelog ==
     47= 1.2.1 =
     48* Add error handling in case Devotionalium API is not available
     49* Fixed issue where Devotionalium Verses were not read from cache properly
    4750= 1.2.0 =
    4851* Add setting to toggle Quran display
  • devotionalium/trunk/src/Block/Devotionalium.php

    r1824100 r2296846  
    33namespace Devotionalium\Block;
    44
     5use DateTime;
     6use Devotionalium\Block;
    57use Devotionalium\ConfigAccessor;
    68use Devotionalium\Plugin;
     9use Exception;
    710
    8 /**
    9  * Class Devotionalium
    10  *
    11  * @package Devotionalium\Block
    12  */
    13 class Devotionalium extends \Devotionalium\Block
     11class Devotionalium extends Block
    1412{
    1513    /**
     
    2422
    2523    /**
    26      * Devotionalium constructor.
    27      *
    2824     * @param ConfigAccessor $config
    2925     * @param string $templatePath
     
    8480        $parts[] = _x('for', 'for a date', Plugin::WP_TEXTDOMAIN);
    8581
     82        try {
     83            $date = $this->getDevotionalium()->getDate();
     84        } catch (Exception $exception) {
     85            $date = new DateTime();
     86        }
     87
    8688        $parts[] = date_i18n(
    8789            get_option('date_format'),
    88             $this->getDevotionalium()->getDate()->getTimestamp()
     90            $date->getTimestamp()
    8991        );
    9092
  • devotionalium/trunk/src/Block/Settings.php

    r1875729 r2296846  
    44
    55use Devotionalium\Block;
    6 use Devotionalium\Config\Section;
    76
    87class Settings extends Block
  • devotionalium/trunk/src/Devotionalium/Devotionalium.php

    r2164856 r2296846  
    4545    /**
    4646     * @return Verse[]
     47     * @throws \Exception
    4748     */
    4849    public function getVerses()
     
    5657    /**
    5758     * @return \DateTime
     59     * @throws \Exception
    5860     */
    5961    public function getDate()
     
    8385    /**
    8486     * Lazily load content from api.
     87     *
     88     * @throws \Exception
    8589     */
    8690    private function load()
  • devotionalium/trunk/src/Model/Api/DevotionaliumApi.php

    r2164856 r2296846  
    55use Devotionalium\Devotionalium\Devotionalium;
    66use Devotionalium\Model\Storage\Transient;
     7use Exception;
    78
    89class DevotionaliumApi
     
    2122
    2223    /**
    23      * DevotionaliumApi constructor.
    24      *
    2524     * @param string $endpointUrl
    2625     */
     
    3938     * @param bool $showQuran
    4039     * @return Devotionalium
     40     * @throws Exception
    4141     */
    4242    public function loadDevotionalium(
     
    5151        );
    5252        if ($cached = $this->transient->load($index)) {
    53             //return $cached;
     53            return $cached;
    5454        }
    5555
     
    103103     * @param string $language
    104104     * @return Version[]
    105      * @throws \Exception
     105     * @throws Exception
    106106     */
    107107    public function loadVersions($language = 'en')
    108108    {
    109         $index = Communicator::ACTION_VERSIONS.'-'.$language;
     109        $index = Communicator::ACTION_VERSIONS . '-' . $language;
    110110
    111111        if ($cached = $this->transient->load($index)) {
  • devotionalium/trunk/src/Plugin.php

    r2164856 r2296846  
    1010use Devotionalium\Model\ShortCode;
    1111use Devotionalium\Model\Widget;
     12use Exception;
    1213
    1314class Plugin
     
    7374    {
    7475        $communicator = new DevotionaliumApi($this->config->getEndpointUrl());
    75         $versions = $communicator->loadVersions();
    7676        $versionsArray = [];
    77         foreach ($versions as $version) {
    78             $versionsArray[$version->getId()] = $version->getName();
     77        try {
     78            $versions = $communicator->loadVersions();
     79            foreach ($versions as $version) {
     80                $versionsArray[$version->getId()] = $version->getName();
     81            }
     82        } catch (Exception $exception) {
     83            global $pagenow;
     84            if ($pagenow === 'options-general.php' && $_GET['page'] === 'devotionalium') {
     85                $this->loader->addAction(
     86                    'admin_notices',
     87                    $this,
     88                    'getNoConnectionErrorNotice'
     89                );
     90            }
    7991        }
    8092        $generalSettings = [
     
    8395                __('Original languages', Plugin::WP_TEXTDOMAIN),
    8496                __('Display verses from the Torah, the New Testament, and the Quran in original languages greek, hebrew, and arabic as well.', Plugin::WP_TEXTDOMAIN),
    85                 new \Devotionalium\Block\Setting('/View/config/setting/boolean.phtml')
     97                new Block\Setting('/View/config/setting/boolean.phtml')
    8698            ),
    8799            new Setting(
     
    89101                __('Display Quran verse', Plugin::WP_TEXTDOMAIN),
    90102                __('Display verses from the Quran.', Plugin::WP_TEXTDOMAIN),
    91                 new \Devotionalium\Block\Setting('/View/config/setting/boolean.phtml')
     103                new Block\Setting('/View/config/setting/boolean.phtml')
    92104            ),
    93105            new Setting\Select(
     
    96108                __('Choose a bible version to display Torah and New Testament verses in.', Plugin::WP_TEXTDOMAIN),
    97109                $versionsArray,
    98                 new \Devotionalium\Block\Setting('/View/config/setting/select.phtml')
     110                new Block\Setting('/View/config/setting/select.phtml')
    99111            ),
    100112            new Setting(
     
    105117                    Plugin::WP_TEXTDOMAIN
    106118                ),
    107                 new \Devotionalium\Block\Setting('/View/config/setting/boolean.phtml')
     119                new Block\Setting('/View/config/setting/boolean.phtml')
    108120            ),
    109121        ];
     
    116128                   Plugin::WP_TEXTDOMAIN
    117129                ),
    118                 new \Devotionalium\Block\Setting('/View/config/setting/text-wide.phtml')
     130                new Block\Setting('/View/config/setting/text-wide.phtml')
    119131            ),
    120132            new Setting\Select(
     
    126138                    'de' => __('German', Plugin::WP_TEXTDOMAIN)
    127139                ],
    128                 new \Devotionalium\Block\Setting('/View/config/setting/select.phtml')
     140                new Block\Setting('/View/config/setting/select.phtml')
    129141            ),
    130142            new Setting(
     
    132144                __('Day Offset', Plugin::WP_TEXTDOMAIN),
    133145                __('Offset the displayed Devotionalium by the given amount of days (-7 to 7).', Plugin::WP_TEXTDOMAIN),
    134                 new \Devotionalium\Block\Setting('/View/config/setting/text.phtml')
     146                new Block\Setting('/View/config/setting/text.phtml')
    135147            ),
    136148            new Setting(
     
    141153                    Plugin::WP_TEXTDOMAIN
    142154                ),
    143                 new \Devotionalium\Block\Setting('/View/config/setting/textarea.phtml')
     155                new Block\Setting('/View/config/setting/textarea.phtml')
    144156            ),
    145157        ];
     
    149161                '',
    150162                $generalSettings,
    151                 new \Devotionalium\Block\Section('/View/config/section.phtml')
     163                new Block\Section('/View/config/section.phtml')
    152164            ),
    153165            new Section(
     
    155167                __('Experimental', Plugin::WP_TEXTDOMAIN),
    156168                $experimentalSettings,
    157                 new \Devotionalium\Block\Section('/View/config/section.phtml'),
     169                new Block\Section('/View/config/section.phtml'),
    158170                __("Don't touch this if you don't know what you are doing.", Plugin::WP_TEXTDOMAIN)
    159171            )
     
    200212            'devotionalium/languages'
    201213        );
     214    }
     215
     216    public function getNoConnectionErrorNotice() {
     217        echo '<div class="notice notice-error"><p>';
     218        echo __('The Devotionalium API could not be reached. Please try again later.' , Plugin::WP_TEXTDOMAIN);
     219        echo '</p></div>';
    202220    }
    203221
  • devotionalium/trunk/src/View/devotionalium-widget.phtml

    r2164856 r2296846  
    1 <?php /** @var \Devotionalium\Block\DevotionaliumWidget $block */ ?>
    2 <?php echo $block->getBeforeWidget(); ?>
     1<?php
     2use Devotionalium\Block\DevotionaliumWidget;
     3
     4/** @var DevotionaliumWidget $block */
     5
     6echo $block->getBeforeWidget();
     7?>
     8
    39<style>
    410    <?php echo $block->getCustomCss(); ?>
    511</style>
    6 <?php echo $block->getBeforeTitle(); ?>
    7 <?php echo $block->getHeading(); ?>
    8 <?php echo $block->getAfterTitle(); ?>
     12<?php
     13echo $block->getBeforeTitle();
     14echo $block->getHeading();
     15echo $block->getAfterTitle();
     16?>
    917<div class="devotionalium">
    10     <?php foreach ($block->getDevotionalium()->getVerses() as $verse) : ?>
     18    <?php
     19    try {
     20        $verses = $block->getDevotionalium()->getVerses();
     21    }catch (Exception $e) {
     22        $verses = [];
     23    }
     24    foreach ($verses as $verse) : ?>
    1125        <?php if ($verse->getCollection() === 0) {
    1226            $collection = 'ot';
  • devotionalium/trunk/src/View/devotionalium.phtml

    r2164856 r2296846  
    1 <?php /** @var \Devotionalium\Block\Devotionalium $block */ ?>
     1<?php
     2use Devotionalium\Block\Devotionalium;
     3
     4/** @var Devotionalium $block */
     5?>
     6
    27<style>
    38    <?php echo $block->getCustomCss(); ?>
     
    712        <?php echo $block->getHeading(); ?>
    813    </h2>
    9     <?php foreach ($block->getDevotionalium()->getVerses() as $verse) : ?>
     14    <?php
     15    try {
     16        $verses = $block->getDevotionalium()->getVerses();
     17    } catch (Exception $e) {
     18        $verses = [];
     19    }
     20    foreach ($verses as $verse) : ?>
    1021        <?php if ($verse->getCollection() === 0) {
    1122            $collection = 'ot';
Note: See TracChangeset for help on using the changeset viewer.