Completed
Push — master ( 8786b6...8e35b4 )
by Michael
8s
created

RandomquoteUtilities::checkXoopsVer()   C

Complexity

Conditions 7
Paths 10

Size

Total Lines 32
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 2 Features 1
Metric Value
cc 7
eloc 23
c 2
b 2
f 1
nc 10
nop 1
dl 0
loc 32
rs 6.7272
1
<?php
2
/*
3
 You may not change or alter any portion of this comment or credits
4
 of supporting developers from this source code or any supporting source code
5
 which is considered copyrighted (c) material of the original comment or credit authors.
6
7
 This program is distributed in the hope that it will be useful,
8
 but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
 */
11
/**
12
 * Module: RandomQuote
13
 *
14
 * @category        Module
15
 * @package         randomquote
16
 * @author          XOOPS Module Development Team
17
 * @author          Mamba
18
 * @copyright       {@link http://xoops.org The XOOPS Project}
19
 * @license         {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
20
 * @link            http://xoops.org XOOPS
21
 * @since           2.00
22
 */
23
 /**
24
  * RandomquoteUtilities
25
  *
26
  * Static utilities class to provide common functionality
27
  *
28
  */
29
class RandomquoteUtilities
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
30
{
31
    /**
32
     *
33
     * Verifies XOOPS version meets minimum requirements for this module
34
     * @static
35
     * @param XoopsModule
36
     *
37
     * @return bool true if meets requirements, false if not
38
     */
39
    public static function checkXoopsVer(&$module) {
40
        xoops_loadLanguage('admin', $module->dirname());
41
        //check for minimum XOOPS version
42
        $currentVer  = substr(XOOPS_VERSION, 6); // get the numeric part of string
43
        $currArray   = explode('.', $currentVer);
44
        $requiredVer = "" . $module->getInfo('min_xoops'); //making sure it's a string
45
        $reqArray    = explode('.', $requiredVer);
46
        $success     = true;
47
        foreach ($reqArray as $k=>$v) {
48
            if (isset($currArray[$k])) {
49
                if ($currArray[$k] > $v) {
50
                    break;
51
                } elseif ($currArray[$k] == $v) {
52
                    continue;
53
                } else {
54
                    $success = false;
55
                    break;
56
                }
57
            } else {
58
                if (intval($v) > 0) { // handles things like x.x.x.0_RC2
59
                    $success = false;
60
                    break;
61
                }
62
            }
63
        }
64
65
        if (!$success) {
66
            $module->setErrors(sprintf(_AM_RANDOMQUOTE_ERROR_BAD_XOOPS, $requiredVer, $currentVer));
67
        }
68
69
        return $success;
70
    }
71
    /**
72
     *
73
     * Verifies PHP version meets minimum requirements for this module
74
     * @static
75
     * @param XoopsModule
76
     *
77
     * @return bool true if meets requirements, false if not
78
     */
79
    public static function checkPHPVer(&$module) {
80
        xoops_loadLanguage('admin', $module->dirname());
81
        // check for minimum PHP version
82
        $phpLen   = strlen(PHP_VERSION);
83
        $extraLen = strlen(PHP_EXTRA_VERSION);
84
        $verNum   = trim(substr(PHP_VERSION, 0, ($phpLen-$extraLen)));
85
        $reqVer   = trim($module->getInfo('min_php') . ""); //make sure it's a string and then trim it
86
87
        $success  = true;
88
        if ($verNum >= $reqVer) {
89
            $module->setErrors(sprintf(_AM_RANDOMQUOTE_ERROR_BAD_PHP, $reqVer, $verNum));
90
            $success = false;
91
        }
92
93
        return $success;
94
    }
95
}
96