Passed
Pull Request — master (#8)
by Michael
14:42
created
class/Utility.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -30,5 +30,5 @@
 block discarded – undo
30 30
  */
31 31
 class Utility extends Common\SysUtility
32 32
 {
33
-    //--------------- Custom module methods -----------------------------
33
+	//--------------- Custom module methods -----------------------------
34 34
 }
Please login to merge, or discard this patch.
class/Common/Breadcrumb.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -25,39 +25,39 @@  discard block
 block discarded – undo
25 25
  */
26 26
 class Breadcrumb
27 27
 {
28
-    public  $dirname;
29
-    private $bread = [];
28
+	public  $dirname;
29
+	private $bread = [];
30 30
 
31
-    public function __construct()
32
-    {
33
-        $this->dirname = \basename(\dirname(__DIR__, 2));
34
-    }
31
+	public function __construct()
32
+	{
33
+		$this->dirname = \basename(\dirname(__DIR__, 2));
34
+	}
35 35
 
36
-    /**
37
-     * Add link to breadcrumb
38
-     *
39
-     * @param string $title
40
-     * @param string $link
41
-     */
42
-    public function addLink($title = '', $link = ''): void
43
-    {
44
-        $this->bread[] = [
45
-            'link'  => $link,
46
-            'title' => $title,
47
-        ];
48
-    }
36
+	/**
37
+	 * Add link to breadcrumb
38
+	 *
39
+	 * @param string $title
40
+	 * @param string $link
41
+	 */
42
+	public function addLink($title = '', $link = ''): void
43
+	{
44
+		$this->bread[] = [
45
+			'link'  => $link,
46
+			'title' => $title,
47
+		];
48
+	}
49 49
 
50
-    /**
51
-     * Render BreadCrumb
52
-     */
53
-    public function render(): void
54
-    {
55
-        /*
50
+	/**
51
+	 * Render BreadCrumb
52
+	 */
53
+	public function render(): void
54
+	{
55
+		/*
56 56
         TODO if you want to use the render code below,
57 57
         1) create ./templates/chess_common_breadcrumb.tpl)
58 58
         2) add declaration to  xoops_version.php
59 59
         */
60
-        /*
60
+		/*
61 61
         if (!isset($GLOBALS['xoTheme']) || !\is_object($GLOBALS['xoTheme'])) {
62 62
             require $GLOBALS['xoops']->path('class/theme.php');
63 63
 
@@ -76,5 +76,5 @@  discard block
 block discarded – undo
76 76
 
77 77
         return $html;
78 78
         */
79
-    }
79
+	}
80 80
 }
Please login to merge, or discard this patch.
class/Common/VersionChecks.php 1 patch
Indentation   +113 added lines, -113 removed lines patch added patch discarded remove patch
@@ -19,127 +19,127 @@
 block discarded – undo
19 19
  */
20 20
 trait VersionChecks
21 21
 {
22
-    /**
23
-     * Verifies XOOPS version meets minimum requirements for this module
24
-     * @static
25
-     * @param \XoopsModule $module
26
-     *
27
-     * @param null|string  $requiredVer
28
-     * @return bool true if meets requirements, false if not
29
-     */
30
-    public static function checkVerXoops(\XoopsModule $module = null, $requiredVer = null)
31
-    {
32
-        $moduleDirName      = \basename(\dirname(__DIR__, 2));
33
-        $moduleDirNameUpper = \mb_strtoupper($moduleDirName);
34
-        if (null === $module) {
35
-            $module = \XoopsModule::getByDirname($moduleDirName);
36
-        }
37
-        \xoops_loadLanguage('admin', $moduleDirName);
38
-        \xoops_loadLanguage('common', $moduleDirName);
22
+	/**
23
+	 * Verifies XOOPS version meets minimum requirements for this module
24
+	 * @static
25
+	 * @param \XoopsModule $module
26
+	 *
27
+	 * @param null|string  $requiredVer
28
+	 * @return bool true if meets requirements, false if not
29
+	 */
30
+	public static function checkVerXoops(\XoopsModule $module = null, $requiredVer = null)
31
+	{
32
+		$moduleDirName      = \basename(\dirname(__DIR__, 2));
33
+		$moduleDirNameUpper = \mb_strtoupper($moduleDirName);
34
+		if (null === $module) {
35
+			$module = \XoopsModule::getByDirname($moduleDirName);
36
+		}
37
+		\xoops_loadLanguage('admin', $moduleDirName);
38
+		\xoops_loadLanguage('common', $moduleDirName);
39 39
 
40
-        //check for minimum XOOPS version
41
-        $currentVer = mb_substr(\XOOPS_VERSION, 6); // get the numeric part of string
42
-        if (null === $requiredVer) {
43
-            $requiredVer = '' . $module->getInfo('min_xoops'); //making sure it's a string
44
-        }
45
-        $success = true;
40
+		//check for minimum XOOPS version
41
+		$currentVer = mb_substr(\XOOPS_VERSION, 6); // get the numeric part of string
42
+		if (null === $requiredVer) {
43
+			$requiredVer = '' . $module->getInfo('min_xoops'); //making sure it's a string
44
+		}
45
+		$success = true;
46 46
 
47
-        if (\version_compare($currentVer, $requiredVer, '<')) {
48
-            $success = false;
49
-            $module->setErrors(\sprintf(\constant('CO_' . $moduleDirNameUpper . '_ERROR_BAD_XOOPS'), $requiredVer, $currentVer));
50
-        }
47
+		if (\version_compare($currentVer, $requiredVer, '<')) {
48
+			$success = false;
49
+			$module->setErrors(\sprintf(\constant('CO_' . $moduleDirNameUpper . '_ERROR_BAD_XOOPS'), $requiredVer, $currentVer));
50
+		}
51 51
 
52
-        return $success;
53
-    }
52
+		return $success;
53
+	}
54 54
 
55
-    /**
56
-     * Verifies PHP version meets minimum requirements for this module
57
-     * @static
58
-     * @param \XoopsModule|bool|null $module
59
-     *
60
-     * @return bool true if meets requirements, false if not
61
-     */
62
-    public static function checkVerPhp(\XoopsModule $module = null)
63
-    {
64
-        $moduleDirName      = \basename(\dirname(__DIR__, 2));
65
-        $moduleDirNameUpper = \mb_strtoupper($moduleDirName);
66
-        if (null === $module) {
67
-            $module = \XoopsModule::getByDirname($moduleDirName);
68
-        }
69
-        \xoops_loadLanguage('admin', $moduleDirName);
70
-        \xoops_loadLanguage('common', $moduleDirName);
55
+	/**
56
+	 * Verifies PHP version meets minimum requirements for this module
57
+	 * @static
58
+	 * @param \XoopsModule|bool|null $module
59
+	 *
60
+	 * @return bool true if meets requirements, false if not
61
+	 */
62
+	public static function checkVerPhp(\XoopsModule $module = null)
63
+	{
64
+		$moduleDirName      = \basename(\dirname(__DIR__, 2));
65
+		$moduleDirNameUpper = \mb_strtoupper($moduleDirName);
66
+		if (null === $module) {
67
+			$module = \XoopsModule::getByDirname($moduleDirName);
68
+		}
69
+		\xoops_loadLanguage('admin', $moduleDirName);
70
+		\xoops_loadLanguage('common', $moduleDirName);
71 71
 
72
-        // check for minimum PHP version
73
-        $success = true;
72
+		// check for minimum PHP version
73
+		$success = true;
74 74
 
75
-        $verNum = \PHP_VERSION;
76
-        $reqVer = &$module->getInfo('min_php');
75
+		$verNum = \PHP_VERSION;
76
+		$reqVer = &$module->getInfo('min_php');
77 77
 
78
-        if (false !== $reqVer && '' !== $reqVer) {
79
-            if (\version_compare($verNum, $reqVer, '<')) {
80
-                $module->setErrors(\sprintf(\constant('CO_' . $moduleDirNameUpper . '_ERROR_BAD_PHP'), $reqVer, $verNum));
81
-                $success = false;
82
-            }
83
-        }
78
+		if (false !== $reqVer && '' !== $reqVer) {
79
+			if (\version_compare($verNum, $reqVer, '<')) {
80
+				$module->setErrors(\sprintf(\constant('CO_' . $moduleDirNameUpper . '_ERROR_BAD_PHP'), $reqVer, $verNum));
81
+				$success = false;
82
+			}
83
+		}
84 84
 
85
-        return $success;
86
-    }
85
+		return $success;
86
+	}
87 87
 
88
-    /**
89
-     * compares current module version with the latest GitHub release
90
-     * @static
91
-     *
92
-     * @return string|array info about the latest module version, if newer
93
-     */
94
-    public static function checkVerModule(\Xmf\Module\Helper $helper, ?string $source = 'github', ?string $default = 'master'): ?array
95
-    {
96
-        $moduleDirName      = \basename(\dirname(__DIR__, 2));
97
-        $moduleDirNameUpper = \mb_strtoupper($moduleDirName);
98
-        $update             = '';
99
-        $repository         = 'XoopsModules25x/' . $moduleDirName;
100
-        //        $repository         = 'XoopsModules25x/publisher'; //for testing only
101
-        $ret             = null;
102
-        $infoReleasesUrl = "https://api.github.com/repos/$repository/releases";
103
-        if ('github' === $source) {
104
-            if (\function_exists('curl_init') && false !== ($curlHandle = \curl_init())) {
105
-                \curl_setopt($curlHandle, \CURLOPT_URL, $infoReleasesUrl);
106
-                \curl_setopt($curlHandle, \CURLOPT_RETURNTRANSFER, true);
107
-                \curl_setopt($curlHandle, \CURLOPT_SSL_VERIFYPEER, true); //TODO: how to avoid an error when 'Peer's Certificate issuer is not recognized'
108
-                \curl_setopt($curlHandle, \CURLOPT_HTTPHEADER, ["User-Agent:Publisher\r\n"]);
109
-                $curlReturn = \curl_exec($curlHandle);
110
-                if (false === $curlReturn) {
111
-                    \trigger_error(\curl_error($curlHandle));
112
-                } elseif (false !== \mb_strpos($curlReturn, 'Not Found')) {
113
-                    \trigger_error('Repository Not Found: ' . $infoReleasesUrl);
114
-                } else {
115
-                    $file              = json_decode($curlReturn, false);
116
-                    $latestVersionLink = \sprintf("https://github.com/$repository/archive/%s.zip", $file ? \reset($file)->tag_name : $default);
117
-                    $latestVersion     = $file[0]->tag_name;
118
-                    $prerelease        = $file[0]->prerelease;
119
-                    if ('master' !== $latestVersionLink) {
120
-                        $update = \constant('CO_' . $moduleDirNameUpper . '_' . 'NEW_VERSION') . $latestVersion;
121
-                    }
122
-                    //"PHP-standardized" version
123
-                    $latestVersion = \mb_strtolower($latestVersion);
124
-                    if (false !== mb_strpos($latestVersion, 'final')) {
125
-                        $latestVersion = \str_replace('_', '', \mb_strtolower($latestVersion));
126
-                        $latestVersion = \str_replace('final', '', \mb_strtolower($latestVersion));
127
-                    }
128
-                    $moduleVersion = ($helper->getModule()->getInfo('version') . '_' . $helper->getModule()->getInfo('module_status'));
129
-                    //"PHP-standardized" version
130
-                    $moduleVersion = \str_replace(' ', '', \mb_strtolower($moduleVersion));
131
-                    //                    $moduleVersion = '1.0'; //for testing only
132
-                    //                    $moduleDirName = 'publisher'; //for testing only
133
-                    if (!$prerelease && \version_compare($moduleVersion, $latestVersion, '<')) {
134
-                        $ret   = [];
135
-                        $ret[] = $update;
136
-                        $ret[] = $latestVersionLink;
137
-                    }
138
-                }
139
-                \curl_close($curlHandle);
140
-            }
141
-        }
88
+	/**
89
+	 * compares current module version with the latest GitHub release
90
+	 * @static
91
+	 *
92
+	 * @return string|array info about the latest module version, if newer
93
+	 */
94
+	public static function checkVerModule(\Xmf\Module\Helper $helper, ?string $source = 'github', ?string $default = 'master'): ?array
95
+	{
96
+		$moduleDirName      = \basename(\dirname(__DIR__, 2));
97
+		$moduleDirNameUpper = \mb_strtoupper($moduleDirName);
98
+		$update             = '';
99
+		$repository         = 'XoopsModules25x/' . $moduleDirName;
100
+		//        $repository         = 'XoopsModules25x/publisher'; //for testing only
101
+		$ret             = null;
102
+		$infoReleasesUrl = "https://api.github.com/repos/$repository/releases";
103
+		if ('github' === $source) {
104
+			if (\function_exists('curl_init') && false !== ($curlHandle = \curl_init())) {
105
+				\curl_setopt($curlHandle, \CURLOPT_URL, $infoReleasesUrl);
106
+				\curl_setopt($curlHandle, \CURLOPT_RETURNTRANSFER, true);
107
+				\curl_setopt($curlHandle, \CURLOPT_SSL_VERIFYPEER, true); //TODO: how to avoid an error when 'Peer's Certificate issuer is not recognized'
108
+				\curl_setopt($curlHandle, \CURLOPT_HTTPHEADER, ["User-Agent:Publisher\r\n"]);
109
+				$curlReturn = \curl_exec($curlHandle);
110
+				if (false === $curlReturn) {
111
+					\trigger_error(\curl_error($curlHandle));
112
+				} elseif (false !== \mb_strpos($curlReturn, 'Not Found')) {
113
+					\trigger_error('Repository Not Found: ' . $infoReleasesUrl);
114
+				} else {
115
+					$file              = json_decode($curlReturn, false);
116
+					$latestVersionLink = \sprintf("https://github.com/$repository/archive/%s.zip", $file ? \reset($file)->tag_name : $default);
117
+					$latestVersion     = $file[0]->tag_name;
118
+					$prerelease        = $file[0]->prerelease;
119
+					if ('master' !== $latestVersionLink) {
120
+						$update = \constant('CO_' . $moduleDirNameUpper . '_' . 'NEW_VERSION') . $latestVersion;
121
+					}
122
+					//"PHP-standardized" version
123
+					$latestVersion = \mb_strtolower($latestVersion);
124
+					if (false !== mb_strpos($latestVersion, 'final')) {
125
+						$latestVersion = \str_replace('_', '', \mb_strtolower($latestVersion));
126
+						$latestVersion = \str_replace('final', '', \mb_strtolower($latestVersion));
127
+					}
128
+					$moduleVersion = ($helper->getModule()->getInfo('version') . '_' . $helper->getModule()->getInfo('module_status'));
129
+					//"PHP-standardized" version
130
+					$moduleVersion = \str_replace(' ', '', \mb_strtolower($moduleVersion));
131
+					//                    $moduleVersion = '1.0'; //for testing only
132
+					//                    $moduleDirName = 'publisher'; //for testing only
133
+					if (!$prerelease && \version_compare($moduleVersion, $latestVersion, '<')) {
134
+						$ret   = [];
135
+						$ret[] = $update;
136
+						$ret[] = $latestVersionLink;
137
+					}
138
+				}
139
+				\curl_close($curlHandle);
140
+			}
141
+		}
142 142
 
143
-        return $ret;
144
-    }
143
+		return $ret;
144
+	}
145 145
 }
Please login to merge, or discard this patch.
class/Common/ServerStats.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -19,60 +19,60 @@
 block discarded – undo
19 19
  */
20 20
 trait ServerStats
21 21
 {
22
-    /**
23
-     * serverStats()
24
-     *
25
-     * @return string
26
-     */
27
-    public static function getServerStats()
28
-    {
29
-        //mb    $wfdownloads = WfdownloadsWfdownloads::getInstance();
30
-        $moduleDirName      = \basename(\dirname(__DIR__, 2));
31
-        $moduleDirNameUpper = \mb_strtoupper($moduleDirName);
32
-        \xoops_loadLanguage('common', $moduleDirName);
33
-        $html = '';
34
-        //        $sql   = 'SELECT metavalue';
35
-        //        $sql   .= ' FROM ' . $GLOBALS['xoopsDB']->prefix('wfdownloads_meta');
36
-        //        $sql   .= " WHERE metakey='version' LIMIT 1";
37
-        //        $query = $GLOBALS['xoopsDB']->query($sql);
38
-        //        list($meta) = $GLOBALS['xoopsDB']->fetchRow($query);
39
-        $html .= "<fieldset><legend style='font-weight: bold; color: #900;'>" . \constant('CO_' . $moduleDirNameUpper . '_IMAGEINFO') . "</legend>\n";
40
-        $html .= "<div style='padding: 8px;'>\n";
41
-        //        $html .= '<div>' . constant('CO_' . $moduleDirNameUpper . '_METAVERSION') . $meta . "</div>\n";
42
-        //        $html .= "<br>\n";
43
-        //        $html .= "<br>\n";
44
-        $html .= '<div>' . \constant('CO_' . $moduleDirNameUpper . '_SPHPINI') . "</div>\n";
45
-        $html .= "<ul>\n";
22
+	/**
23
+	 * serverStats()
24
+	 *
25
+	 * @return string
26
+	 */
27
+	public static function getServerStats()
28
+	{
29
+		//mb    $wfdownloads = WfdownloadsWfdownloads::getInstance();
30
+		$moduleDirName      = \basename(\dirname(__DIR__, 2));
31
+		$moduleDirNameUpper = \mb_strtoupper($moduleDirName);
32
+		\xoops_loadLanguage('common', $moduleDirName);
33
+		$html = '';
34
+		//        $sql   = 'SELECT metavalue';
35
+		//        $sql   .= ' FROM ' . $GLOBALS['xoopsDB']->prefix('wfdownloads_meta');
36
+		//        $sql   .= " WHERE metakey='version' LIMIT 1";
37
+		//        $query = $GLOBALS['xoopsDB']->query($sql);
38
+		//        list($meta) = $GLOBALS['xoopsDB']->fetchRow($query);
39
+		$html .= "<fieldset><legend style='font-weight: bold; color: #900;'>" . \constant('CO_' . $moduleDirNameUpper . '_IMAGEINFO') . "</legend>\n";
40
+		$html .= "<div style='padding: 8px;'>\n";
41
+		//        $html .= '<div>' . constant('CO_' . $moduleDirNameUpper . '_METAVERSION') . $meta . "</div>\n";
42
+		//        $html .= "<br>\n";
43
+		//        $html .= "<br>\n";
44
+		$html .= '<div>' . \constant('CO_' . $moduleDirNameUpper . '_SPHPINI') . "</div>\n";
45
+		$html .= "<ul>\n";
46 46
 
47
-        $gdlib = \function_exists('gd_info') ? '<span style="color: green;">' . \constant('CO_' . $moduleDirNameUpper . '_GDON') . '</span>' : '<span style="color: red;">' . \constant('CO_' . $moduleDirNameUpper . '_GDOFF') . '</span>';
48
-        $html  .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_GDLIBSTATUS') . $gdlib;
49
-        if (\function_exists('gd_info')) {
50
-            if (true === ($gdlib = gd_info())) {
51
-                $html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_GDLIBVERSION') . '<b>' . $gdlib['GD Version'] . '</b>';
52
-            }
53
-        }
54
-        //
55
-        //    $safemode = ini_get('safe_mode') ? constant('CO_' . $moduleDirNameUpper . '_ON') . constant('CO_' . $moduleDirNameUpper . '_SAFEMODEPROBLEMS : constant('CO_' . $moduleDirNameUpper . '_OFF');
56
-        //    $html .= '<li>' . constant('CO_' . $moduleDirNameUpper . '_SAFEMODESTATUS . $safemode;
57
-        //
58
-        //    $registerglobals = (!ini_get('register_globals')) ? "<span style=\"color: green;\">" . constant('CO_' . $moduleDirNameUpper . '_OFF') . '</span>' : "<span style=\"color: red;\">" . constant('CO_' . $moduleDirNameUpper . '_ON') . '</span>';
59
-        //    $html .= '<li>' . constant('CO_' . $moduleDirNameUpper . '_REGISTERGLOBALS . $registerglobals;
60
-        //
61
-        $downloads = \ini_get('file_uploads') ? '<span style="color: green;">' . \constant('CO_' . $moduleDirNameUpper . '_ON') . '</span>' : '<span style="color: red;">' . \constant('CO_' . $moduleDirNameUpper . '_OFF') . '</span>';
62
-        $html      .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_SERVERUPLOADSTATUS') . $downloads;
47
+		$gdlib = \function_exists('gd_info') ? '<span style="color: green;">' . \constant('CO_' . $moduleDirNameUpper . '_GDON') . '</span>' : '<span style="color: red;">' . \constant('CO_' . $moduleDirNameUpper . '_GDOFF') . '</span>';
48
+		$html  .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_GDLIBSTATUS') . $gdlib;
49
+		if (\function_exists('gd_info')) {
50
+			if (true === ($gdlib = gd_info())) {
51
+				$html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_GDLIBVERSION') . '<b>' . $gdlib['GD Version'] . '</b>';
52
+			}
53
+		}
54
+		//
55
+		//    $safemode = ini_get('safe_mode') ? constant('CO_' . $moduleDirNameUpper . '_ON') . constant('CO_' . $moduleDirNameUpper . '_SAFEMODEPROBLEMS : constant('CO_' . $moduleDirNameUpper . '_OFF');
56
+		//    $html .= '<li>' . constant('CO_' . $moduleDirNameUpper . '_SAFEMODESTATUS . $safemode;
57
+		//
58
+		//    $registerglobals = (!ini_get('register_globals')) ? "<span style=\"color: green;\">" . constant('CO_' . $moduleDirNameUpper . '_OFF') . '</span>' : "<span style=\"color: red;\">" . constant('CO_' . $moduleDirNameUpper . '_ON') . '</span>';
59
+		//    $html .= '<li>' . constant('CO_' . $moduleDirNameUpper . '_REGISTERGLOBALS . $registerglobals;
60
+		//
61
+		$downloads = \ini_get('file_uploads') ? '<span style="color: green;">' . \constant('CO_' . $moduleDirNameUpper . '_ON') . '</span>' : '<span style="color: red;">' . \constant('CO_' . $moduleDirNameUpper . '_OFF') . '</span>';
62
+		$html      .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_SERVERUPLOADSTATUS') . $downloads;
63 63
 
64
-        $html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MAXUPLOADSIZE') . ' <b><span style="color: blue;">' . \ini_get('upload_max_filesize') . "</span></b>\n";
65
-        $html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MAXPOSTSIZE') . ' <b><span style="color: blue;">' . \ini_get('post_max_size') . "</span></b>\n";
66
-        $html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MEMORYLIMIT') . ' <b><span style="color: blue;">' . \ini_get('memory_limit') . "</span></b>\n";
67
-        $html .= "</ul>\n";
68
-        $html .= "<ul>\n";
69
-        $html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_SERVERPATH') . ' <b>' . XOOPS_ROOT_PATH . "</b>\n";
70
-        $html .= "</ul>\n";
71
-        $html .= "<br>\n";
72
-        $html .= \constant('CO_' . $moduleDirNameUpper . '_UPLOADPATHDSC') . "\n";
73
-        $html .= '</div>';
74
-        $html .= '</fieldset><br>';
64
+		$html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MAXUPLOADSIZE') . ' <b><span style="color: blue;">' . \ini_get('upload_max_filesize') . "</span></b>\n";
65
+		$html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MAXPOSTSIZE') . ' <b><span style="color: blue;">' . \ini_get('post_max_size') . "</span></b>\n";
66
+		$html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_MEMORYLIMIT') . ' <b><span style="color: blue;">' . \ini_get('memory_limit') . "</span></b>\n";
67
+		$html .= "</ul>\n";
68
+		$html .= "<ul>\n";
69
+		$html .= '<li>' . \constant('CO_' . $moduleDirNameUpper . '_SERVERPATH') . ' <b>' . XOOPS_ROOT_PATH . "</b>\n";
70
+		$html .= "</ul>\n";
71
+		$html .= "<br>\n";
72
+		$html .= \constant('CO_' . $moduleDirNameUpper . '_UPLOADPATHDSC') . "\n";
73
+		$html .= '</div>';
74
+		$html .= '</fieldset><br>';
75 75
 
76
-        return $html;
77
-    }
76
+		return $html;
77
+	}
78 78
 }
Please login to merge, or discard this patch.
class/Common/Configurator.php 1 patch
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -24,41 +24,41 @@
 block discarded – undo
24 24
  */
25 25
 class Configurator
26 26
 {
27
-    public $name;
28
-    public $paths           = [];
29
-    public $uploadFolders   = [];
30
-    public $copyBlankFiles  = [];
31
-    public $copyTestFolders = [];
32
-    public $templateFolders = [];
33
-    public $oldFiles        = [];
34
-    public $oldFolders      = [];
35
-    public $renameTables    = [];
36
-    public $renameColumns   = [];
37
-    public $moduleStats     = [];
38
-    public $modCopyright;
39
-    public $icons;
27
+	public $name;
28
+	public $paths           = [];
29
+	public $uploadFolders   = [];
30
+	public $copyBlankFiles  = [];
31
+	public $copyTestFolders = [];
32
+	public $templateFolders = [];
33
+	public $oldFiles        = [];
34
+	public $oldFolders      = [];
35
+	public $renameTables    = [];
36
+	public $renameColumns   = [];
37
+	public $moduleStats     = [];
38
+	public $modCopyright;
39
+	public $icons;
40 40
 
41
-    /**
42
-     * Configurator constructor.
43
-     */
44
-    public function __construct()
45
-    {
46
-        $config = require \dirname(__DIR__, 2) . '/config/config.php';
41
+	/**
42
+	 * Configurator constructor.
43
+	 */
44
+	public function __construct()
45
+	{
46
+		$config = require \dirname(__DIR__, 2) . '/config/config.php';
47 47
 
48
-        $this->name            = $config->name;
49
-        $this->paths           = $config->paths;
50
-        $this->uploadFolders   = $config->uploadFolders;
51
-        $this->copyBlankFiles  = $config->copyBlankFiles;
52
-        $this->copyTestFolders = $config->copyTestFolders;
53
-        $this->templateFolders = $config->templateFolders;
54
-        $this->oldFiles        = $config->oldFiles;
55
-        $this->oldFolders      = $config->oldFolders;
56
-        $this->renameTables    = $config->renameTables;
57
-        $this->renameColumns   = $config->renameColumns;
58
-        $this->moduleStats     = $config->moduleStats;
59
-        $this->modCopyright    = $config->modCopyright;
48
+		$this->name            = $config->name;
49
+		$this->paths           = $config->paths;
50
+		$this->uploadFolders   = $config->uploadFolders;
51
+		$this->copyBlankFiles  = $config->copyBlankFiles;
52
+		$this->copyTestFolders = $config->copyTestFolders;
53
+		$this->templateFolders = $config->templateFolders;
54
+		$this->oldFiles        = $config->oldFiles;
55
+		$this->oldFolders      = $config->oldFolders;
56
+		$this->renameTables    = $config->renameTables;
57
+		$this->renameColumns   = $config->renameColumns;
58
+		$this->moduleStats     = $config->moduleStats;
59
+		$this->modCopyright    = $config->modCopyright;
60 60
 
61
-        $this->icons = require \dirname(__DIR__, 2) . '/config/icons.php';
62
-        $this->paths = require \dirname(__DIR__, 2) . '/config/paths.php';
63
-    }
61
+		$this->icons = require \dirname(__DIR__, 2) . '/config/icons.php';
62
+		$this->paths = require \dirname(__DIR__, 2) . '/config/paths.php';
63
+	}
64 64
 }
Please login to merge, or discard this patch.
class/Common/Blocksadmin.php 1 patch
Indentation   +556 added lines, -556 removed lines patch added patch discarded remove patch
@@ -26,72 +26,72 @@  discard block
 block discarded – undo
26 26
  */
27 27
 class Blocksadmin
28 28
 {
29
-    /**
30
-     * @var \XoopsMySQLDatabase|null
31
-     */
32
-    public $db;
33
-    /**
34
-     * @var \Xmf\Module\Helper
35
-     */
36
-    public $helper;
37
-    /**
38
-     * @var string
39
-     */
40
-    public $moduleDirName;
41
-    /**
42
-     * @var string
43
-     */
44
-    public $moduleDirNameUpper;
45
-
46
-    /**
47
-     * Blocksadmin constructor.
48
-     */
49
-    public function __construct(?\XoopsDatabase $db, \Xmf\Module\Helper $helper)
50
-    {
51
-        if (null === $db) {
52
-            $db = \XoopsDatabaseFactory::getDatabaseConnection();
53
-        }
54
-        $this->db                 = $db;
55
-        $this->helper             = $helper;
56
-        $this->moduleDirName      = \basename(\dirname(__DIR__, 2));
57
-        $this->moduleDirNameUpper = \mb_strtoupper($this->moduleDirName);
58
-        \xoops_loadLanguage('admin', 'system');
59
-        \xoops_loadLanguage('admin/blocksadmin', 'system');
60
-        \xoops_loadLanguage('admin/groups', 'system');
61
-        \xoops_loadLanguage('common', $this->moduleDirName);
62
-        \xoops_loadLanguage('blocksadmin', $this->moduleDirName);
63
-    }
64
-
65
-    /**
66
-     * @return void
67
-     */
68
-    public function listBlocks(): void
69
-    {
70
-        global $xoopsModule, $pathIcon16;
71
-        require_once XOOPS_ROOT_PATH . '/class/xoopslists.php';
72
-        //        xoops_loadLanguage('admin', 'system');
73
-        //        xoops_loadLanguage('admin/blocksadmin', 'system');
74
-        //        xoops_loadLanguage('admin/groups', 'system');
75
-        //        xoops_loadLanguage('common', $moduleDirName);
76
-        //        xoops_loadLanguage('blocks', $moduleDirName);
77
-
78
-        /** @var \XoopsModuleHandler $moduleHandler */
79
-        $moduleHandler = \xoops_getHandler('module');
80
-        /** @var \XoopsMemberHandler $memberHandler */
81
-        $memberHandler = \xoops_getHandler('member');
82
-        /** @var \XoopsGroupPermHandler $grouppermHandler */
83
-        $grouppermHandler = \xoops_getHandler('groupperm');
84
-        $groups           = $memberHandler->getGroups();
85
-        $criteria         = new \CriteriaCompo(new \Criteria('hasmain', '1'));
86
-        $criteria->add(new \Criteria('isactive', '1'));
87
-        $moduleList     = $moduleHandler->getList($criteria);
88
-        $moduleList[-1] = \_AM_SYSTEM_BLOCKS_TOPPAGE;
89
-        $moduleList[0]  = \_AM_SYSTEM_BLOCKS_ALLPAGES;
90
-        \ksort($moduleList);
91
-        echo "<h4 style='text-align:left;'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</h4>';
92
-        echo "<form action='" . $_SERVER['SCRIPT_NAME'] . "' name='blockadmin' method='post'>";
93
-        echo $GLOBALS['xoopsSecurity']->getTokenHTML();
94
-        echo "<table width='100%' class='outer' cellpadding='4' cellspacing='1'>
29
+	/**
30
+	 * @var \XoopsMySQLDatabase|null
31
+	 */
32
+	public $db;
33
+	/**
34
+	 * @var \Xmf\Module\Helper
35
+	 */
36
+	public $helper;
37
+	/**
38
+	 * @var string
39
+	 */
40
+	public $moduleDirName;
41
+	/**
42
+	 * @var string
43
+	 */
44
+	public $moduleDirNameUpper;
45
+
46
+	/**
47
+	 * Blocksadmin constructor.
48
+	 */
49
+	public function __construct(?\XoopsDatabase $db, \Xmf\Module\Helper $helper)
50
+	{
51
+		if (null === $db) {
52
+			$db = \XoopsDatabaseFactory::getDatabaseConnection();
53
+		}
54
+		$this->db                 = $db;
55
+		$this->helper             = $helper;
56
+		$this->moduleDirName      = \basename(\dirname(__DIR__, 2));
57
+		$this->moduleDirNameUpper = \mb_strtoupper($this->moduleDirName);
58
+		\xoops_loadLanguage('admin', 'system');
59
+		\xoops_loadLanguage('admin/blocksadmin', 'system');
60
+		\xoops_loadLanguage('admin/groups', 'system');
61
+		\xoops_loadLanguage('common', $this->moduleDirName);
62
+		\xoops_loadLanguage('blocksadmin', $this->moduleDirName);
63
+	}
64
+
65
+	/**
66
+	 * @return void
67
+	 */
68
+	public function listBlocks(): void
69
+	{
70
+		global $xoopsModule, $pathIcon16;
71
+		require_once XOOPS_ROOT_PATH . '/class/xoopslists.php';
72
+		//        xoops_loadLanguage('admin', 'system');
73
+		//        xoops_loadLanguage('admin/blocksadmin', 'system');
74
+		//        xoops_loadLanguage('admin/groups', 'system');
75
+		//        xoops_loadLanguage('common', $moduleDirName);
76
+		//        xoops_loadLanguage('blocks', $moduleDirName);
77
+
78
+		/** @var \XoopsModuleHandler $moduleHandler */
79
+		$moduleHandler = \xoops_getHandler('module');
80
+		/** @var \XoopsMemberHandler $memberHandler */
81
+		$memberHandler = \xoops_getHandler('member');
82
+		/** @var \XoopsGroupPermHandler $grouppermHandler */
83
+		$grouppermHandler = \xoops_getHandler('groupperm');
84
+		$groups           = $memberHandler->getGroups();
85
+		$criteria         = new \CriteriaCompo(new \Criteria('hasmain', '1'));
86
+		$criteria->add(new \Criteria('isactive', '1'));
87
+		$moduleList     = $moduleHandler->getList($criteria);
88
+		$moduleList[-1] = \_AM_SYSTEM_BLOCKS_TOPPAGE;
89
+		$moduleList[0]  = \_AM_SYSTEM_BLOCKS_ALLPAGES;
90
+		\ksort($moduleList);
91
+		echo "<h4 style='text-align:left;'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</h4>';
92
+		echo "<form action='" . $_SERVER['SCRIPT_NAME'] . "' name='blockadmin' method='post'>";
93
+		echo $GLOBALS['xoopsSecurity']->getTokenHTML();
94
+		echo "<table width='100%' class='outer' cellpadding='4' cellspacing='1'>
95 95
         <tr valign='middle'><th align='center'>" . \_AM_SYSTEM_BLOCKS_TITLE . "</th><th align='center' nowrap='nowrap'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'SIDE') . '<br>' . _LEFT . '-' . _CENTER . '-' . _RIGHT . "</th>
96 96
         <th align='center'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'WEIGHT') . "</th>
97 97
         <th align='center'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'VISIBLE') . "</th><th align='center'>" . \_AM_SYSTEM_BLOCKS_VISIBLEIN . "</th>
@@ -99,82 +99,82 @@  discard block
 block discarded – undo
99 99
         <th align='center'>" . \_AM_SYSTEM_BLOCKS_BCACHETIME . "</th>
100 100
         <th align='center'>" . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'ACTION') . '</th>
101 101
         </tr>';
102
-        $blockArray = \XoopsBlock::getByModule($xoopsModule->mid());
103
-        $blockCount = \count($blockArray);
104
-        $class      = 'even';
105
-        $cachetimes = [
106
-            0       => _NOCACHE,
107
-            30      => \sprintf(_SECONDS, 30),
108
-            60      => _MINUTE,
109
-            300     => \sprintf(_MINUTES, 5),
110
-            1800    => \sprintf(_MINUTES, 30),
111
-            3600    => _HOUR,
112
-            18000   => \sprintf(_HOURS, 5),
113
-            86400   => _DAY,
114
-            259200  => \sprintf(_DAYS, 3),
115
-            604800  => _WEEK,
116
-            2592000 => _MONTH,
117
-        ];
118
-        foreach ($blockArray as $i) {
119
-            $groupsPermissions = $grouppermHandler->getGroupIds('block_read', $i->getVar('bid'));
120
-            $sql               = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $i->getVar('bid');
121
-            $result            = $this->db->query($sql);
122
-            $modules           = [];
123
-            if (!$result instanceof \mysqli_result) {
124
-                \trigger_error("Query Failed! SQL: $sql Error: " . $this->db->error(), \E_USER_ERROR);
125
-            }
126
-            while (false !== ($row = $this->db->fetchArray($result))) {
127
-                $modules[] = (int)$row['module_id'];
128
-            }
129
-
130
-            $cachetimeOptions = '';
131
-            foreach ($cachetimes as $cachetime => $cachetimeName) {
132
-                if ($i->getVar('bcachetime') == $cachetime) {
133
-                    $cachetimeOptions .= "<option value='$cachetime' selected='selected'>$cachetimeName</option>\n";
134
-                } else {
135
-                    $cachetimeOptions .= "<option value='$cachetime'>$cachetimeName</option>\n";
136
-                }
137
-            }
138
-
139
-            $ssel7 = '';
140
-            $ssel6 = $ssel7;
141
-            $ssel5 = $ssel6;
142
-            $ssel4 = $ssel5;
143
-            $ssel3 = $ssel4;
144
-            $ssel2 = $ssel3;
145
-            $ssel1 = $ssel2;
146
-            $ssel0 = $ssel1;
147
-            $sel1  = $ssel0;
148
-            $sel0  = $sel1;
149
-            if (1 === $i->getVar('visible')) {
150
-                $sel1 = ' checked';
151
-            } else {
152
-                $sel0 = ' checked';
153
-            }
154
-            if (\XOOPS_SIDEBLOCK_LEFT === $i->getVar('side')) {
155
-                $ssel0 = ' checked';
156
-            } elseif (\XOOPS_SIDEBLOCK_RIGHT === $i->getVar('side')) {
157
-                $ssel1 = ' checked';
158
-            } elseif (\XOOPS_CENTERBLOCK_LEFT === $i->getVar('side')) {
159
-                $ssel2 = ' checked';
160
-            } elseif (\XOOPS_CENTERBLOCK_RIGHT === $i->getVar('side')) {
161
-                $ssel4 = ' checked';
162
-            } elseif (\XOOPS_CENTERBLOCK_CENTER === $i->getVar('side')) {
163
-                $ssel3 = ' checked';
164
-            } elseif (\XOOPS_CENTERBLOCK_BOTTOMLEFT === $i->getVar('side')) {
165
-                $ssel5 = ' checked';
166
-            } elseif (\XOOPS_CENTERBLOCK_BOTTOMRIGHT === $i->getVar('side')) {
167
-                $ssel6 = ' checked';
168
-            } elseif (\XOOPS_CENTERBLOCK_BOTTOM === $i->getVar('side')) {
169
-                $ssel7 = ' checked';
170
-            }
171
-            if ('' === $i->getVar('title')) {
172
-                $title = '&nbsp;';
173
-            } else {
174
-                $title = $i->getVar('title');
175
-            }
176
-            $name = $i->getVar('name');
177
-            echo "<tr valign='top'><td class='$class' align='center'><input type='text' name='title[" . $i->getVar('bid') . "]' value='" . $title . "'></td>
102
+		$blockArray = \XoopsBlock::getByModule($xoopsModule->mid());
103
+		$blockCount = \count($blockArray);
104
+		$class      = 'even';
105
+		$cachetimes = [
106
+			0       => _NOCACHE,
107
+			30      => \sprintf(_SECONDS, 30),
108
+			60      => _MINUTE,
109
+			300     => \sprintf(_MINUTES, 5),
110
+			1800    => \sprintf(_MINUTES, 30),
111
+			3600    => _HOUR,
112
+			18000   => \sprintf(_HOURS, 5),
113
+			86400   => _DAY,
114
+			259200  => \sprintf(_DAYS, 3),
115
+			604800  => _WEEK,
116
+			2592000 => _MONTH,
117
+		];
118
+		foreach ($blockArray as $i) {
119
+			$groupsPermissions = $grouppermHandler->getGroupIds('block_read', $i->getVar('bid'));
120
+			$sql               = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $i->getVar('bid');
121
+			$result            = $this->db->query($sql);
122
+			$modules           = [];
123
+			if (!$result instanceof \mysqli_result) {
124
+				\trigger_error("Query Failed! SQL: $sql Error: " . $this->db->error(), \E_USER_ERROR);
125
+			}
126
+			while (false !== ($row = $this->db->fetchArray($result))) {
127
+				$modules[] = (int)$row['module_id'];
128
+			}
129
+
130
+			$cachetimeOptions = '';
131
+			foreach ($cachetimes as $cachetime => $cachetimeName) {
132
+				if ($i->getVar('bcachetime') == $cachetime) {
133
+					$cachetimeOptions .= "<option value='$cachetime' selected='selected'>$cachetimeName</option>\n";
134
+				} else {
135
+					$cachetimeOptions .= "<option value='$cachetime'>$cachetimeName</option>\n";
136
+				}
137
+			}
138
+
139
+			$ssel7 = '';
140
+			$ssel6 = $ssel7;
141
+			$ssel5 = $ssel6;
142
+			$ssel4 = $ssel5;
143
+			$ssel3 = $ssel4;
144
+			$ssel2 = $ssel3;
145
+			$ssel1 = $ssel2;
146
+			$ssel0 = $ssel1;
147
+			$sel1  = $ssel0;
148
+			$sel0  = $sel1;
149
+			if (1 === $i->getVar('visible')) {
150
+				$sel1 = ' checked';
151
+			} else {
152
+				$sel0 = ' checked';
153
+			}
154
+			if (\XOOPS_SIDEBLOCK_LEFT === $i->getVar('side')) {
155
+				$ssel0 = ' checked';
156
+			} elseif (\XOOPS_SIDEBLOCK_RIGHT === $i->getVar('side')) {
157
+				$ssel1 = ' checked';
158
+			} elseif (\XOOPS_CENTERBLOCK_LEFT === $i->getVar('side')) {
159
+				$ssel2 = ' checked';
160
+			} elseif (\XOOPS_CENTERBLOCK_RIGHT === $i->getVar('side')) {
161
+				$ssel4 = ' checked';
162
+			} elseif (\XOOPS_CENTERBLOCK_CENTER === $i->getVar('side')) {
163
+				$ssel3 = ' checked';
164
+			} elseif (\XOOPS_CENTERBLOCK_BOTTOMLEFT === $i->getVar('side')) {
165
+				$ssel5 = ' checked';
166
+			} elseif (\XOOPS_CENTERBLOCK_BOTTOMRIGHT === $i->getVar('side')) {
167
+				$ssel6 = ' checked';
168
+			} elseif (\XOOPS_CENTERBLOCK_BOTTOM === $i->getVar('side')) {
169
+				$ssel7 = ' checked';
170
+			}
171
+			if ('' === $i->getVar('title')) {
172
+				$title = '&nbsp;';
173
+			} else {
174
+				$title = $i->getVar('title');
175
+			}
176
+			$name = $i->getVar('name');
177
+			echo "<tr valign='top'><td class='$class' align='center'><input type='text' name='title[" . $i->getVar('bid') . "]' value='" . $title . "'></td>
178 178
             <td class='$class' align='center' nowrap='nowrap'><div align='center' >
179 179
                     <input type='radio' name='side[" . $i->getVar('bid') . "]' value='" . \XOOPS_CENTERBLOCK_LEFT . "'$ssel2>
180 180
                     <input type='radio' name='side[" . $i->getVar('bid') . "]' value='" . \XOOPS_CENTERBLOCK_CENTER . "'$ssel3>
@@ -193,39 +193,39 @@  discard block
 block discarded – undo
193 193
                 <td class='$class' align='center'><input type='text' name='weight[" . $i->getVar('bid') . "]' value='" . $i->getVar('weight') . "' size='5' maxlength='5'></td>
194 194
                 <td class='$class' align='center' nowrap><input type='radio' name='visible[" . $i->getVar('bid') . "]' value='1'$sel1>" . _YES . "&nbsp;<input type='radio' name='visible[" . $i->getVar('bid') . "]' value='0'$sel0>" . _NO . '</td>';
195 195
 
196
-            echo "<td class='$class' align='center'><select size='5' name='bmodule[" . $i->getVar('bid') . "][]' id='bmodule[" . $i->getVar('bid') . "][]' multiple='multiple'>";
197
-            foreach ($moduleList as $k => $v) {
198
-                echo "<option value='$k'" . (\in_array($k, $modules) ? " selected='selected'" : '') . ">$v</option>";
199
-            }
200
-            echo '</select></td>';
196
+			echo "<td class='$class' align='center'><select size='5' name='bmodule[" . $i->getVar('bid') . "][]' id='bmodule[" . $i->getVar('bid') . "][]' multiple='multiple'>";
197
+			foreach ($moduleList as $k => $v) {
198
+				echo "<option value='$k'" . (\in_array($k, $modules) ? " selected='selected'" : '') . ">$v</option>";
199
+			}
200
+			echo '</select></td>';
201 201
 
202
-            echo "<td class='$class' align='center'><select size='5' name='groups[" . $i->getVar('bid') . "][]' id='groups[" . $i->getVar('bid') . "][]' multiple='multiple'>";
203
-            foreach ($groups as $grp) {
204
-                echo "<option value='" . $grp->getVar('groupid') . "' " . (\in_array($grp->getVar('groupid'), $groupsPermissions) ? " selected='selected'" : '') . '>' . $grp->getVar('name') . '</option>';
205
-            }
206
-            echo '</select></td>';
202
+			echo "<td class='$class' align='center'><select size='5' name='groups[" . $i->getVar('bid') . "][]' id='groups[" . $i->getVar('bid') . "][]' multiple='multiple'>";
203
+			foreach ($groups as $grp) {
204
+				echo "<option value='" . $grp->getVar('groupid') . "' " . (\in_array($grp->getVar('groupid'), $groupsPermissions) ? " selected='selected'" : '') . '>' . $grp->getVar('name') . '</option>';
205
+			}
206
+			echo '</select></td>';
207 207
 
208
-            // Cache lifetime
209
-            echo '<td class="' . $class . '" align="center"> <select name="bcachetime[' . $i->getVar('bid') . ']" size="1">' . $cachetimeOptions . '</select>
208
+			// Cache lifetime
209
+			echo '<td class="' . $class . '" align="center"> <select name="bcachetime[' . $i->getVar('bid') . ']" size="1">' . $cachetimeOptions . '</select>
210 210
                                     </td>';
211 211
 
212
-            // Actions
212
+			// Actions
213 213
 
214
-            echo "<td class='$class' align='center'>
214
+			echo "<td class='$class' align='center'>
215 215
                 <a href='blocksadmin.php?op=edit&amp;bid=" . $i->getVar('bid') . "'><img src=" . $pathIcon16 . '/edit.png' . " alt='" . _EDIT . "' title='" . _EDIT . "'></a> 
216 216
                 <a href='blocksadmin.php?op=clone&amp;bid=" . $i->getVar('bid') . "'><img src=" . $pathIcon16 . '/editcopy.png' . " alt='" . _CLONE . "' title='" . _CLONE . "'></a>";
217
-            //            if ('S' !== $i->getVar('block_type') && 'M' !== $i->getVar('block_type')) {
218
-            //                echo "&nbsp;<a href='" . XOOPS_URL . '/modules/system/admin.php?fct=blocksadmin&amp;op=delete&amp;bid=' . $i->getVar('bid') . "'><img src=" . $pathIcon16 . '/delete.png' . " alt='" . _DELETE . "' title='" . _DELETE . "'>
219
-            //                     </a>";
220
-            //            }
221
-
222
-            //            if ('S' !== $i->getVar('block_type') && 'M' !== $i->getVar('block_type')) {
223
-            if (!\in_array($i->getVar('block_type'), ['M', 'S'])) {
224
-                echo "&nbsp;
217
+			//            if ('S' !== $i->getVar('block_type') && 'M' !== $i->getVar('block_type')) {
218
+			//                echo "&nbsp;<a href='" . XOOPS_URL . '/modules/system/admin.php?fct=blocksadmin&amp;op=delete&amp;bid=' . $i->getVar('bid') . "'><img src=" . $pathIcon16 . '/delete.png' . " alt='" . _DELETE . "' title='" . _DELETE . "'>
219
+			//                     </a>";
220
+			//            }
221
+
222
+			//            if ('S' !== $i->getVar('block_type') && 'M' !== $i->getVar('block_type')) {
223
+			if (!\in_array($i->getVar('block_type'), ['M', 'S'])) {
224
+				echo "&nbsp;
225 225
                 <a href='blocksadmin.php?op=delete&amp;bid=" . $i->getVar('bid') . "'><img src=" . $pathIcon16 . '/delete.png' . " alt='" . _DELETE . "' title='" . _DELETE . "'>
226 226
                      </a>";
227
-            }
228
-            echo "
227
+			}
228
+			echo "
229 229
             <input type='hidden' name='oldtitle[" . $i->getVar('bid') . "]' value='" . $i->getVar('title') . "'>
230 230
             <input type='hidden' name='oldside[" . $i->getVar('bid') . "]' value='" . $i->getVar('side') . "'>
231 231
             <input type='hidden' name='oldweight[" . $i->getVar('bid') . "]' value='" . $i->getVar('weight') . "'>
@@ -235,394 +235,394 @@  discard block
 block discarded – undo
235 235
             <input type='hidden' name='bid[" . $i->getVar('bid') . "]' value='" . $i->getVar('bid') . "'>
236 236
             </td></tr>
237 237
             ";
238
-            $class = ('even' === $class) ? 'odd' : 'even';
239
-        }
240
-        echo "<tr><td class='foot' align='center' colspan='8'> <input type='hidden' name='op' value='order'>" . $GLOBALS['xoopsSecurity']->getTokenHTML() . "<input type='submit' name='submit' value='" . _SUBMIT . "'></td></tr></table></form><br><br>";
241
-    }
242
-
243
-    public function deleteBlock(int $bid): void
244
-    {
245
-        //        \xoops_cp_header();
246
-
247
-        \xoops_loadLanguage('admin', 'system');
248
-        \xoops_loadLanguage('admin/blocksadmin', 'system');
249
-        \xoops_loadLanguage('admin/groups', 'system');
250
-
251
-        $myblock = new \XoopsBlock($bid);
252
-
253
-        $sql = \sprintf('DELETE FROM %s WHERE bid = %u', $this->db->prefix('newblocks'), $bid);
254
-        $this->db->queryF($sql) or \trigger_error($GLOBALS['xoopsDB']->error());
255
-        $sql = \sprintf('DELETE FROM %s WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid);
256
-        $this->db->queryF($sql) or \trigger_error($GLOBALS['xoopsDB']->error());
257
-
258
-        $this->helper->redirect('admin/blocksadmin.php?op=list', 1, _AM_DBUPDATED);
259
-    }
260
-
261
-    public function cloneBlock(int $bid): void
262
-    {
263
-        //require __DIR__ . '/admin_header.php';
264
-        //        \xoops_cp_header();
265
-
266
-        \xoops_loadLanguage('admin', 'system');
267
-        \xoops_loadLanguage('admin/blocksadmin', 'system');
268
-        \xoops_loadLanguage('admin/groups', 'system');
269
-
270
-        $myblock = new \XoopsBlock($bid);
271
-        $sql     = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $bid;
272
-        $result  = $this->db->query($sql);
273
-        $modules = [];
274
-        if ($result instanceof \mysqli_result) {
275
-            while (false !== ($row = $this->db->fetchArray($result))) {
276
-                $modules[] = (int)$row['module_id'];
277
-            }
278
-        }
279
-        $isCustom = \in_array($myblock->getVar('block_type'), ['C', 'E']);
280
-        $block    = [
281
-            'title'      => $myblock->getVar('title') . ' Clone',
282
-            'form_title' => \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BLOCKS_CLONEBLOCK'),
283
-            'name'       => $myblock->getVar('name'),
284
-            'side'       => $myblock->getVar('side'),
285
-            'weight'     => $myblock->getVar('weight'),
286
-            'visible'    => $myblock->getVar('visible'),
287
-            'content'    => $myblock->getVar('content', 'N'),
288
-            'modules'    => $modules,
289
-            'is_custom'  => $isCustom,
290
-            'ctype'      => $myblock->getVar('c_type'),
291
-            'bcachetime' => $myblock->getVar('bcachetime'),
292
-            'op'         => 'clone_ok',
293
-            'bid'        => $myblock->getVar('bid'),
294
-            'edit_form'  => $myblock->getOptions(),
295
-            'template'   => $myblock->getVar('template'),
296
-            'options'    => $myblock->getVar('options'),
297
-        ];
298
-        echo '<a href="blocksadmin.php">' . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . \_AM_SYSTEM_BLOCKS_CLONEBLOCK . '<br><br>';
299
-        //        $form = new Blockform();
300
-        //        $form->render();
301
-
302
-        echo $this->render($block);
303
-        //        xoops_cp_footer();
304
-        //        require_once __DIR__ . '/admin_footer.php';
305
-        //        exit();
306
-    }
307
-
308
-    public function isBlockCloned(int $bid, string $bside, string $bweight, string $bvisible, string $bcachetime, ?array $bmodule, ?array $options, ?array $groups): void
309
-    {
310
-        \xoops_loadLanguage('admin', 'system');
311
-        \xoops_loadLanguage('admin/blocksadmin', 'system');
312
-        \xoops_loadLanguage('admin/groups', 'system');
313
-
314
-        $block = new \XoopsBlock($bid);
315
-        $clone = $block->xoopsClone();
316
-        if (empty($bmodule)) {
317
-            //            \xoops_cp_header();
318
-            \xoops_error(\sprintf(_AM_NOTSELNG, _AM_VISIBLEIN));
319
-            \xoops_cp_footer();
320
-            exit();
321
-        }
322
-        $clone->setVar('side', $bside);
323
-        $clone->setVar('weight', $bweight);
324
-        $clone->setVar('visible', $bvisible);
325
-        //$clone->setVar('content', $_POST['bcontent']);
326
-        $clone->setVar('title', Request::getString('btitle', '', 'POST'));
327
-        $clone->setVar('bcachetime', $bcachetime);
328
-        if (\is_array($options) && (\count($options) > 0)) {
329
-            $options = \implode('|', $options);
330
-            $clone->setVar('options', $options);
331
-        }
332
-        $clone->setVar('bid', 0);
333
-        if (\in_array($block->getVar('block_type'), ['C', 'E'])) {
334
-            $clone->setVar('block_type', 'E');
335
-        } else {
336
-            $clone->setVar('block_type', 'D');
337
-        }
338
-        //        $newid = $clone->store(); //see https://github.com/XOOPS/XoopsCore25/issues/1105
339
-        if ($clone->store()) {
340
-            $newid = $clone->id();  //get the id of the cloned block
341
-        }
342
-        if (!$newid) {
343
-            //            \xoops_cp_header();
344
-            $clone->getHtmlErrors();
345
-            \xoops_cp_footer();
346
-            exit();
347
-        }
348
-        if ('' !== $clone->getVar('template')) {
349
-            /** @var \XoopsTplfileHandler $tplfileHandler */
350
-            $tplfileHandler = \xoops_getHandler('tplfile');
351
-            $btemplate      = $tplfileHandler->find($GLOBALS['xoopsConfig']['template_set'], 'block', (string)$bid);
352
-            if (\count($btemplate) > 0) {
353
-                $tplclone = $btemplate[0]->xoopsClone();
354
-                $tplclone->setVar('tpl_id', 0);
355
-                $tplclone->setVar('tpl_refid', $newid);
356
-                $tplfileHandler->insert($tplclone);
357
-            }
358
-        }
359
-
360
-        foreach ($bmodule as $bmid) {
361
-            $sql = 'INSERT INTO ' . $this->db->prefix('block_module_link') . ' (block_id, module_id) VALUES (' . $newid . ', ' . $bmid . ')';
362
-            $this->db->query($sql);
363
-        }
364
-        //$groups = &$GLOBALS['xoopsUser']->getGroups();
365
-        foreach ($groups as $iValue) {
366
-            $sql = 'INSERT INTO ' . $this->db->prefix('group_permission') . ' (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (' . $iValue . ', ' . $newid . ", 1, 'block_read')";
367
-            $this->db->query($sql);
368
-        }
369
-        $this->helper->redirect('admin/blocksadmin.php?op=list', 1, _AM_DBUPDATED);
370
-    }
371
-
372
-    public function setOrder(string $bid, string $title, string $weight, string $visible, string $side, string $bcachetime, ?array $bmodule = null): void
373
-    {
374
-        $myblock = new \XoopsBlock($bid);
375
-        $myblock->setVar('title', $title);
376
-        $myblock->setVar('weight', $weight);
377
-        $myblock->setVar('visible', $visible);
378
-        $myblock->setVar('side', $side);
379
-        $myblock->setVar('bcachetime', $bcachetime);
380
-        $myblock->store();
381
-        //        /** @var \XoopsBlockHandler $blockHandler */
382
-        //        $blockHandler = \xoops_getHandler('block');
383
-        //        return $blockHandler->insert($myblock);
384
-    }
385
-
386
-    public function editBlock(int $bid): void
387
-    {
388
-        //        require_once \dirname(__DIR__,2) . '/admin/admin_header.php';
389
-        //        \xoops_cp_header();
390
-        \xoops_loadLanguage('admin', 'system');
391
-        \xoops_loadLanguage('admin/blocksadmin', 'system');
392
-        \xoops_loadLanguage('admin/groups', 'system');
393
-        //        mpu_adm_menu();
394
-        $myblock = new \XoopsBlock($bid);
395
-        $sql     = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $bid;
396
-        $result  = $this->db->query($sql);
397
-        $modules = [];
398
-        if ($result instanceof \mysqli_result) {
399
-            while (false !== ($row = $this->db->fetchArray($result))) {
400
-                $modules[] = (int)$row['module_id'];
401
-            }
402
-        }
403
-        $isCustom = \in_array($myblock->getVar('block_type'), ['C', 'E']);
404
-        $block    = [
405
-            'title'      => $myblock->getVar('title'),
406
-            'form_title' => \_AM_SYSTEM_BLOCKS_EDITBLOCK,
407
-            //        'name'       => $myblock->getVar('name'),
408
-            'side'       => $myblock->getVar('side'),
409
-            'weight'     => $myblock->getVar('weight'),
410
-            'visible'    => $myblock->getVar('visible'),
411
-            'content'    => $myblock->getVar('content', 'N'),
412
-            'modules'    => $modules,
413
-            'is_custom'  => $isCustom,
414
-            'ctype'      => $myblock->getVar('c_type'),
415
-            'bcachetime' => $myblock->getVar('bcachetime'),
416
-            'op'         => 'edit_ok',
417
-            'bid'        => $myblock->getVar('bid'),
418
-            'edit_form'  => $myblock->getOptions(),
419
-            'template'   => $myblock->getVar('template'),
420
-            'options'    => $myblock->getVar('options'),
421
-        ];
422
-        echo '<a href="blocksadmin.php">' . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . \_AM_SYSTEM_BLOCKS_EDITBLOCK . '<br><br>';
423
-
424
-        echo $this->render($block);
425
-    }
426
-
427
-    public function updateBlock(int $bid, string $btitle, string $bside, string $bweight, string $bvisible, string $bcachetime, ?array $bmodule, ?array $options, ?array $groups): void
428
-    {
429
-        $myblock = new \XoopsBlock($bid);
430
-        $myblock->setVar('title', $btitle);
431
-        $myblock->setVar('weight', $bweight);
432
-        $myblock->setVar('visible', $bvisible);
433
-        $myblock->setVar('side', $bside);
434
-        $myblock->setVar('bcachetime', $bcachetime);
435
-        //update block options
436
-        if (isset($options)) {
437
-            $optionsCount = \count($options);
438
-            if ($optionsCount > 0) {
439
-                //Convert array values to comma-separated
440
-                foreach ($options as $i => $iValue) {
441
-                    if (\is_array($iValue)) {
442
-                        $options[$i] = \implode(',', $iValue);
443
-                    }
444
-                }
445
-                $options = \implode('|', $options);
446
-                $myblock->setVar('options', $options);
447
-            }
448
-        }
449
-        $myblock->store();
450
-        //        /** @var \XoopsBlockHandler $blockHandler */
451
-        //        $blockHandler = \xoops_getHandler('block');
452
-        //        $blockHandler->insert($myblock);
453
-
454
-        if (!empty($bmodule) && \count($bmodule) > 0) {
455
-            $sql = \sprintf('DELETE FROM `%s` WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid);
456
-            $this->db->query($sql);
457
-            if (\in_array(0, $bmodule)) {
458
-                $sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid, 0);
459
-                $this->db->query($sql);
460
-            } else {
461
-                foreach ($bmodule as $bmid) {
462
-                    $sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid, (int)$bmid);
463
-                    $this->db->query($sql);
464
-                }
465
-            }
466
-        }
467
-        $sql = \sprintf('DELETE FROM `%s` WHERE gperm_itemid = %u', $this->db->prefix('group_permission'), $bid);
468
-        $this->db->query($sql);
469
-        if (!empty($groups)) {
470
-            foreach ($groups as $grp) {
471
-                $sql = \sprintf("INSERT INTO `%s` (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (%u, %u, 1, 'block_read')", $this->db->prefix('group_permission'), $grp, $bid);
472
-                $this->db->query($sql);
473
-            }
474
-        }
475
-        $this->helper->redirect('admin/blocksadmin.php', 1, \constant('CO_' . $this->moduleDirNameUpper . '_' . 'UPDATE_SUCCESS'));
476
-    }
477
-
478
-    public function orderBlock(
479
-        array $bid, array $oldtitle, array $oldside, array $oldweight, array $oldvisible, array $oldgroups, array $oldbcachetime, array $oldbmodule, array $title, array $weight, array $visible, array $side, array $bcachetime, array $groups, array $bmodule
480
-    ): void {
481
-        if (!$GLOBALS['xoopsSecurity']->check()) {
482
-            \redirect_header($_SERVER['SCRIPT_NAME'], 3, \implode('<br>', $GLOBALS['xoopsSecurity']->getErrors()));
483
-        }
484
-        foreach (\array_keys($bid) as $i) {
485
-            if ($oldtitle[$i] !== $title[$i]
486
-                || $oldweight[$i] !== $weight[$i]
487
-                || $oldvisible[$i] !== $visible[$i]
488
-                || $oldside[$i] !== $side[$i]
489
-                || $oldbcachetime[$i] !== $bcachetime[$i]
490
-                || $oldbmodule[$i] !== $bmodule[$i]) {
491
-                $this->setOrder($bid[$i], $title[$i], $weight[$i], $visible[$i], $side[$i], $bcachetime[$i], $bmodule[$i]);
492
-            }
493
-            if (!empty($bmodule[$i]) && \count($bmodule[$i]) > 0) {
494
-                $sql = \sprintf('DELETE FROM `%s` WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid[$i]);
495
-                $this->db->query($sql);
496
-                if (\in_array(0, $bmodule[$i], true)) {
497
-                    $sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid[$i], 0);
498
-                    $this->db->query($sql);
499
-                } else {
500
-                    foreach ($bmodule[$i] as $bmid) {
501
-                        $sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid[$i], (int)$bmid);
502
-                        $this->db->query($sql);
503
-                    }
504
-                }
505
-            }
506
-            $sql = \sprintf('DELETE FROM `%s` WHERE gperm_itemid = %u', $this->db->prefix('group_permission'), $bid[$i]);
507
-            $this->db->query($sql);
508
-            if (!empty($groups[$i])) {
509
-                foreach ($groups[$i] as $grp) {
510
-                    $sql = \sprintf("INSERT INTO `%s` (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (%u, %u, 1, 'block_read')", $this->db->prefix('group_permission'), $grp, $bid[$i]);
511
-                    $this->db->query($sql);
512
-                }
513
-            }
514
-        }
515
-
516
-        $this->helper->redirect('admin/blocksadmin.php', 1, \constant('CO_' . $this->moduleDirNameUpper . '_' . 'UPDATE_SUCCESS'));
517
-    }
518
-
519
-    public function render(?array $block = null)
520
-    {
521
-        \xoops_load('XoopsFormLoader');
522
-        \xoops_loadLanguage('common', $this->moduleDirNameUpper);
523
-
524
-        $form = new \XoopsThemeForm($block['form_title'], 'blockform', 'blocksadmin.php', 'post', true);
525
-        if (isset($block['name'])) {
526
-            $form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_NAME, $block['name']));
527
-        }
528
-        $sideSelect = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_TYPE, 'bside', $block['side']);
529
-        $sideSelect->addOptionArray([
530
-                                        0 => \_AM_SYSTEM_BLOCKS_SBLEFT,
531
-                                        1 => \_AM_SYSTEM_BLOCKS_SBRIGHT,
532
-                                        3 => \_AM_SYSTEM_BLOCKS_CBLEFT,
533
-                                        4 => \_AM_SYSTEM_BLOCKS_CBRIGHT,
534
-                                        5 => \_AM_SYSTEM_BLOCKS_CBCENTER,
535
-                                        7 => \_AM_SYSTEM_BLOCKS_CBBOTTOMLEFT,
536
-                                        8 => \_AM_SYSTEM_BLOCKS_CBBOTTOMRIGHT,
537
-                                        9 => \_AM_SYSTEM_BLOCKS_CBBOTTOM,
538
-                                    ]);
539
-        $form->addElement($sideSelect);
540
-        $form->addElement(new \XoopsFormText(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'WEIGHT'), 'bweight', 2, 5, $block['weight']));
541
-        $form->addElement(new \XoopsFormRadioYN(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'VISIBLE'), 'bvisible', $block['visible']));
542
-        $modSelect = new \XoopsFormSelect(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'VISIBLEIN'), 'bmodule', $block['modules'], 5, true);
543
-        /** @var \XoopsModuleHandler $moduleHandler */
544
-        $moduleHandler = \xoops_getHandler('module');
545
-        $criteria      = new \CriteriaCompo(new \Criteria('hasmain', '1'));
546
-        $criteria->add(new \Criteria('isactive', '1'));
547
-        $moduleList     = $moduleHandler->getList($criteria);
548
-        $moduleList[-1] = \_AM_SYSTEM_BLOCKS_TOPPAGE;
549
-        $moduleList[0]  = \_AM_SYSTEM_BLOCKS_ALLPAGES;
550
-        \ksort($moduleList);
551
-        $modSelect->addOptionArray($moduleList);
552
-        $form->addElement($modSelect);
553
-        $form->addElement(new \XoopsFormText(\_AM_SYSTEM_BLOCKS_TITLE, 'btitle', 50, 255, $block['title']), false);
554
-        if ($block['is_custom']) {
555
-            $textarea = new \XoopsFormDhtmlTextArea(\_AM_SYSTEM_BLOCKS_CONTENT, 'bcontent', $block['content'], 15, 70);
556
-            $textarea->setDescription('<span style="font-size:x-small;font-weight:bold;">' . \_AM_SYSTEM_BLOCKS_USEFULTAGS . '</span><br><span style="font-size:x-small;font-weight:normal;">' . \sprintf(_AM_BLOCKTAG1, '{X_SITEURL}', XOOPS_URL . '/') . '</span>');
557
-            $form->addElement($textarea, true);
558
-            $ctypeSelect = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_CTYPE, 'bctype', $block['ctype']);
559
-            $ctypeSelect->addOptionArray([
560
-                                             'H' => \_AM_SYSTEM_BLOCKS_HTML,
561
-                                             'P' => \_AM_SYSTEM_BLOCKS_PHP,
562
-                                             'S' => \_AM_SYSTEM_BLOCKS_AFWSMILE,
563
-                                             'T' => \_AM_SYSTEM_BLOCKS_AFNOSMILE,
564
-                                         ]);
565
-            $form->addElement($ctypeSelect);
566
-        } else {
567
-            if ('' !== $block['template']) {
568
-                /** @var \XoopsTplfileHandler $tplfileHandler */
569
-                $tplfileHandler = \xoops_getHandler('tplfile');
570
-                $btemplate      = $tplfileHandler->find($GLOBALS['xoopsConfig']['template_set'], 'block', $block['bid']);
571
-                if (\count($btemplate) > 0) {
572
-                    $form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_CONTENT, '<a href="' . XOOPS_URL . '/modules/system/admin.php?fct=tplsets&amp;op=edittpl&amp;id=' . $btemplate[0]->getVar('tpl_id') . '">' . \_AM_SYSTEM_BLOCKS_EDITTPL . '</a>'));
573
-                } else {
574
-                    $btemplate2 = $tplfileHandler->find('default', 'block', $block['bid']);
575
-                    if (\count($btemplate2) > 0) {
576
-                        $form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_CONTENT, '<a href="' . XOOPS_URL . '/modules/system/admin.php?fct=tplsets&amp;op=edittpl&amp;id=' . $btemplate2[0]->getVar('tpl_id') . '" target="_blank">' . \_AM_SYSTEM_BLOCKS_EDITTPL . '</a>'));
577
-                    }
578
-                }
579
-            }
580
-            if (false !== $block['edit_form']) {
581
-                $form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_OPTIONS, $block['edit_form']));
582
-            }
583
-        }
584
-        $cache_select = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_BCACHETIME, 'bcachetime', $block['bcachetime']);
585
-        $cache_select->addOptionArray([
586
-                                          0       => _NOCACHE,
587
-                                          30      => \sprintf(_SECONDS, 30),
588
-                                          60      => _MINUTE,
589
-                                          300     => \sprintf(_MINUTES, 5),
590
-                                          1800    => \sprintf(_MINUTES, 30),
591
-                                          3600    => _HOUR,
592
-                                          18000   => \sprintf(_HOURS, 5),
593
-                                          86400   => _DAY,
594
-                                          259200  => \sprintf(_DAYS, 3),
595
-                                          604800  => _WEEK,
596
-                                          2592000 => _MONTH,
597
-                                      ]);
598
-        $form->addElement($cache_select);
599
-
600
-        /** @var \XoopsGroupPermHandler $grouppermHandler */
601
-        $grouppermHandler = \xoops_getHandler('groupperm');
602
-        $groups           = $grouppermHandler->getGroupIds('block_read', $block['bid']);
603
-
604
-        $form->addElement(new \XoopsFormSelectGroup(\_AM_SYSTEM_BLOCKS_GROUP, 'groups', true, $groups, 5, true));
605
-
606
-        if (isset($block['bid'])) {
607
-            $form->addElement(new \XoopsFormHidden('bid', $block['bid']));
608
-        }
609
-        $form->addElement(new \XoopsFormHidden('op', $block['op']));
610
-        $form->addElement(new \XoopsFormHidden('fct', 'blocksadmin'));
611
-        $buttonTray = new \XoopsFormElementTray('', '&nbsp;');
612
-        if ($block['is_custom']) {
613
-            $buttonTray->addElement(new \XoopsFormButton('', 'previewblock', _PREVIEW, 'submit'));
614
-        }
615
-
616
-        //Submit buttons
617
-        $buttonTray   = new \XoopsFormElementTray('', '');
618
-        $submitButton = new \XoopsFormButton('', 'submitblock', _SUBMIT, 'submit');
619
-        $buttonTray->addElement($submitButton);
620
-
621
-        $cancelButton = new \XoopsFormButton('', '', _CANCEL, 'button');
622
-        $cancelButton->setExtra('onclick="history.go(-1)"');
623
-        $buttonTray->addElement($cancelButton);
624
-
625
-        $form->addElement($buttonTray);
626
-        $form->display();
627
-    }
238
+			$class = ('even' === $class) ? 'odd' : 'even';
239
+		}
240
+		echo "<tr><td class='foot' align='center' colspan='8'> <input type='hidden' name='op' value='order'>" . $GLOBALS['xoopsSecurity']->getTokenHTML() . "<input type='submit' name='submit' value='" . _SUBMIT . "'></td></tr></table></form><br><br>";
241
+	}
242
+
243
+	public function deleteBlock(int $bid): void
244
+	{
245
+		//        \xoops_cp_header();
246
+
247
+		\xoops_loadLanguage('admin', 'system');
248
+		\xoops_loadLanguage('admin/blocksadmin', 'system');
249
+		\xoops_loadLanguage('admin/groups', 'system');
250
+
251
+		$myblock = new \XoopsBlock($bid);
252
+
253
+		$sql = \sprintf('DELETE FROM %s WHERE bid = %u', $this->db->prefix('newblocks'), $bid);
254
+		$this->db->queryF($sql) or \trigger_error($GLOBALS['xoopsDB']->error());
255
+		$sql = \sprintf('DELETE FROM %s WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid);
256
+		$this->db->queryF($sql) or \trigger_error($GLOBALS['xoopsDB']->error());
257
+
258
+		$this->helper->redirect('admin/blocksadmin.php?op=list', 1, _AM_DBUPDATED);
259
+	}
260
+
261
+	public function cloneBlock(int $bid): void
262
+	{
263
+		//require __DIR__ . '/admin_header.php';
264
+		//        \xoops_cp_header();
265
+
266
+		\xoops_loadLanguage('admin', 'system');
267
+		\xoops_loadLanguage('admin/blocksadmin', 'system');
268
+		\xoops_loadLanguage('admin/groups', 'system');
269
+
270
+		$myblock = new \XoopsBlock($bid);
271
+		$sql     = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $bid;
272
+		$result  = $this->db->query($sql);
273
+		$modules = [];
274
+		if ($result instanceof \mysqli_result) {
275
+			while (false !== ($row = $this->db->fetchArray($result))) {
276
+				$modules[] = (int)$row['module_id'];
277
+			}
278
+		}
279
+		$isCustom = \in_array($myblock->getVar('block_type'), ['C', 'E']);
280
+		$block    = [
281
+			'title'      => $myblock->getVar('title') . ' Clone',
282
+			'form_title' => \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BLOCKS_CLONEBLOCK'),
283
+			'name'       => $myblock->getVar('name'),
284
+			'side'       => $myblock->getVar('side'),
285
+			'weight'     => $myblock->getVar('weight'),
286
+			'visible'    => $myblock->getVar('visible'),
287
+			'content'    => $myblock->getVar('content', 'N'),
288
+			'modules'    => $modules,
289
+			'is_custom'  => $isCustom,
290
+			'ctype'      => $myblock->getVar('c_type'),
291
+			'bcachetime' => $myblock->getVar('bcachetime'),
292
+			'op'         => 'clone_ok',
293
+			'bid'        => $myblock->getVar('bid'),
294
+			'edit_form'  => $myblock->getOptions(),
295
+			'template'   => $myblock->getVar('template'),
296
+			'options'    => $myblock->getVar('options'),
297
+		];
298
+		echo '<a href="blocksadmin.php">' . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . \_AM_SYSTEM_BLOCKS_CLONEBLOCK . '<br><br>';
299
+		//        $form = new Blockform();
300
+		//        $form->render();
301
+
302
+		echo $this->render($block);
303
+		//        xoops_cp_footer();
304
+		//        require_once __DIR__ . '/admin_footer.php';
305
+		//        exit();
306
+	}
307
+
308
+	public function isBlockCloned(int $bid, string $bside, string $bweight, string $bvisible, string $bcachetime, ?array $bmodule, ?array $options, ?array $groups): void
309
+	{
310
+		\xoops_loadLanguage('admin', 'system');
311
+		\xoops_loadLanguage('admin/blocksadmin', 'system');
312
+		\xoops_loadLanguage('admin/groups', 'system');
313
+
314
+		$block = new \XoopsBlock($bid);
315
+		$clone = $block->xoopsClone();
316
+		if (empty($bmodule)) {
317
+			//            \xoops_cp_header();
318
+			\xoops_error(\sprintf(_AM_NOTSELNG, _AM_VISIBLEIN));
319
+			\xoops_cp_footer();
320
+			exit();
321
+		}
322
+		$clone->setVar('side', $bside);
323
+		$clone->setVar('weight', $bweight);
324
+		$clone->setVar('visible', $bvisible);
325
+		//$clone->setVar('content', $_POST['bcontent']);
326
+		$clone->setVar('title', Request::getString('btitle', '', 'POST'));
327
+		$clone->setVar('bcachetime', $bcachetime);
328
+		if (\is_array($options) && (\count($options) > 0)) {
329
+			$options = \implode('|', $options);
330
+			$clone->setVar('options', $options);
331
+		}
332
+		$clone->setVar('bid', 0);
333
+		if (\in_array($block->getVar('block_type'), ['C', 'E'])) {
334
+			$clone->setVar('block_type', 'E');
335
+		} else {
336
+			$clone->setVar('block_type', 'D');
337
+		}
338
+		//        $newid = $clone->store(); //see https://github.com/XOOPS/XoopsCore25/issues/1105
339
+		if ($clone->store()) {
340
+			$newid = $clone->id();  //get the id of the cloned block
341
+		}
342
+		if (!$newid) {
343
+			//            \xoops_cp_header();
344
+			$clone->getHtmlErrors();
345
+			\xoops_cp_footer();
346
+			exit();
347
+		}
348
+		if ('' !== $clone->getVar('template')) {
349
+			/** @var \XoopsTplfileHandler $tplfileHandler */
350
+			$tplfileHandler = \xoops_getHandler('tplfile');
351
+			$btemplate      = $tplfileHandler->find($GLOBALS['xoopsConfig']['template_set'], 'block', (string)$bid);
352
+			if (\count($btemplate) > 0) {
353
+				$tplclone = $btemplate[0]->xoopsClone();
354
+				$tplclone->setVar('tpl_id', 0);
355
+				$tplclone->setVar('tpl_refid', $newid);
356
+				$tplfileHandler->insert($tplclone);
357
+			}
358
+		}
359
+
360
+		foreach ($bmodule as $bmid) {
361
+			$sql = 'INSERT INTO ' . $this->db->prefix('block_module_link') . ' (block_id, module_id) VALUES (' . $newid . ', ' . $bmid . ')';
362
+			$this->db->query($sql);
363
+		}
364
+		//$groups = &$GLOBALS['xoopsUser']->getGroups();
365
+		foreach ($groups as $iValue) {
366
+			$sql = 'INSERT INTO ' . $this->db->prefix('group_permission') . ' (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (' . $iValue . ', ' . $newid . ", 1, 'block_read')";
367
+			$this->db->query($sql);
368
+		}
369
+		$this->helper->redirect('admin/blocksadmin.php?op=list', 1, _AM_DBUPDATED);
370
+	}
371
+
372
+	public function setOrder(string $bid, string $title, string $weight, string $visible, string $side, string $bcachetime, ?array $bmodule = null): void
373
+	{
374
+		$myblock = new \XoopsBlock($bid);
375
+		$myblock->setVar('title', $title);
376
+		$myblock->setVar('weight', $weight);
377
+		$myblock->setVar('visible', $visible);
378
+		$myblock->setVar('side', $side);
379
+		$myblock->setVar('bcachetime', $bcachetime);
380
+		$myblock->store();
381
+		//        /** @var \XoopsBlockHandler $blockHandler */
382
+		//        $blockHandler = \xoops_getHandler('block');
383
+		//        return $blockHandler->insert($myblock);
384
+	}
385
+
386
+	public function editBlock(int $bid): void
387
+	{
388
+		//        require_once \dirname(__DIR__,2) . '/admin/admin_header.php';
389
+		//        \xoops_cp_header();
390
+		\xoops_loadLanguage('admin', 'system');
391
+		\xoops_loadLanguage('admin/blocksadmin', 'system');
392
+		\xoops_loadLanguage('admin/groups', 'system');
393
+		//        mpu_adm_menu();
394
+		$myblock = new \XoopsBlock($bid);
395
+		$sql     = 'SELECT module_id FROM ' . $this->db->prefix('block_module_link') . ' WHERE block_id=' . $bid;
396
+		$result  = $this->db->query($sql);
397
+		$modules = [];
398
+		if ($result instanceof \mysqli_result) {
399
+			while (false !== ($row = $this->db->fetchArray($result))) {
400
+				$modules[] = (int)$row['module_id'];
401
+			}
402
+		}
403
+		$isCustom = \in_array($myblock->getVar('block_type'), ['C', 'E']);
404
+		$block    = [
405
+			'title'      => $myblock->getVar('title'),
406
+			'form_title' => \_AM_SYSTEM_BLOCKS_EDITBLOCK,
407
+			//        'name'       => $myblock->getVar('name'),
408
+			'side'       => $myblock->getVar('side'),
409
+			'weight'     => $myblock->getVar('weight'),
410
+			'visible'    => $myblock->getVar('visible'),
411
+			'content'    => $myblock->getVar('content', 'N'),
412
+			'modules'    => $modules,
413
+			'is_custom'  => $isCustom,
414
+			'ctype'      => $myblock->getVar('c_type'),
415
+			'bcachetime' => $myblock->getVar('bcachetime'),
416
+			'op'         => 'edit_ok',
417
+			'bid'        => $myblock->getVar('bid'),
418
+			'edit_form'  => $myblock->getOptions(),
419
+			'template'   => $myblock->getVar('template'),
420
+			'options'    => $myblock->getVar('options'),
421
+		];
422
+		echo '<a href="blocksadmin.php">' . \constant('CO_' . $this->moduleDirNameUpper . '_' . 'BADMIN') . '</a>&nbsp;<span style="font-weight:bold;">&raquo;&raquo;</span>&nbsp;' . \_AM_SYSTEM_BLOCKS_EDITBLOCK . '<br><br>';
423
+
424
+		echo $this->render($block);
425
+	}
426
+
427
+	public function updateBlock(int $bid, string $btitle, string $bside, string $bweight, string $bvisible, string $bcachetime, ?array $bmodule, ?array $options, ?array $groups): void
428
+	{
429
+		$myblock = new \XoopsBlock($bid);
430
+		$myblock->setVar('title', $btitle);
431
+		$myblock->setVar('weight', $bweight);
432
+		$myblock->setVar('visible', $bvisible);
433
+		$myblock->setVar('side', $bside);
434
+		$myblock->setVar('bcachetime', $bcachetime);
435
+		//update block options
436
+		if (isset($options)) {
437
+			$optionsCount = \count($options);
438
+			if ($optionsCount > 0) {
439
+				//Convert array values to comma-separated
440
+				foreach ($options as $i => $iValue) {
441
+					if (\is_array($iValue)) {
442
+						$options[$i] = \implode(',', $iValue);
443
+					}
444
+				}
445
+				$options = \implode('|', $options);
446
+				$myblock->setVar('options', $options);
447
+			}
448
+		}
449
+		$myblock->store();
450
+		//        /** @var \XoopsBlockHandler $blockHandler */
451
+		//        $blockHandler = \xoops_getHandler('block');
452
+		//        $blockHandler->insert($myblock);
453
+
454
+		if (!empty($bmodule) && \count($bmodule) > 0) {
455
+			$sql = \sprintf('DELETE FROM `%s` WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid);
456
+			$this->db->query($sql);
457
+			if (\in_array(0, $bmodule)) {
458
+				$sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid, 0);
459
+				$this->db->query($sql);
460
+			} else {
461
+				foreach ($bmodule as $bmid) {
462
+					$sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid, (int)$bmid);
463
+					$this->db->query($sql);
464
+				}
465
+			}
466
+		}
467
+		$sql = \sprintf('DELETE FROM `%s` WHERE gperm_itemid = %u', $this->db->prefix('group_permission'), $bid);
468
+		$this->db->query($sql);
469
+		if (!empty($groups)) {
470
+			foreach ($groups as $grp) {
471
+				$sql = \sprintf("INSERT INTO `%s` (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (%u, %u, 1, 'block_read')", $this->db->prefix('group_permission'), $grp, $bid);
472
+				$this->db->query($sql);
473
+			}
474
+		}
475
+		$this->helper->redirect('admin/blocksadmin.php', 1, \constant('CO_' . $this->moduleDirNameUpper . '_' . 'UPDATE_SUCCESS'));
476
+	}
477
+
478
+	public function orderBlock(
479
+		array $bid, array $oldtitle, array $oldside, array $oldweight, array $oldvisible, array $oldgroups, array $oldbcachetime, array $oldbmodule, array $title, array $weight, array $visible, array $side, array $bcachetime, array $groups, array $bmodule
480
+	): void {
481
+		if (!$GLOBALS['xoopsSecurity']->check()) {
482
+			\redirect_header($_SERVER['SCRIPT_NAME'], 3, \implode('<br>', $GLOBALS['xoopsSecurity']->getErrors()));
483
+		}
484
+		foreach (\array_keys($bid) as $i) {
485
+			if ($oldtitle[$i] !== $title[$i]
486
+				|| $oldweight[$i] !== $weight[$i]
487
+				|| $oldvisible[$i] !== $visible[$i]
488
+				|| $oldside[$i] !== $side[$i]
489
+				|| $oldbcachetime[$i] !== $bcachetime[$i]
490
+				|| $oldbmodule[$i] !== $bmodule[$i]) {
491
+				$this->setOrder($bid[$i], $title[$i], $weight[$i], $visible[$i], $side[$i], $bcachetime[$i], $bmodule[$i]);
492
+			}
493
+			if (!empty($bmodule[$i]) && \count($bmodule[$i]) > 0) {
494
+				$sql = \sprintf('DELETE FROM `%s` WHERE block_id = %u', $this->db->prefix('block_module_link'), $bid[$i]);
495
+				$this->db->query($sql);
496
+				if (\in_array(0, $bmodule[$i], true)) {
497
+					$sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid[$i], 0);
498
+					$this->db->query($sql);
499
+				} else {
500
+					foreach ($bmodule[$i] as $bmid) {
501
+						$sql = \sprintf('INSERT INTO `%s` (block_id, module_id) VALUES (%u, %d)', $this->db->prefix('block_module_link'), $bid[$i], (int)$bmid);
502
+						$this->db->query($sql);
503
+					}
504
+				}
505
+			}
506
+			$sql = \sprintf('DELETE FROM `%s` WHERE gperm_itemid = %u', $this->db->prefix('group_permission'), $bid[$i]);
507
+			$this->db->query($sql);
508
+			if (!empty($groups[$i])) {
509
+				foreach ($groups[$i] as $grp) {
510
+					$sql = \sprintf("INSERT INTO `%s` (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES (%u, %u, 1, 'block_read')", $this->db->prefix('group_permission'), $grp, $bid[$i]);
511
+					$this->db->query($sql);
512
+				}
513
+			}
514
+		}
515
+
516
+		$this->helper->redirect('admin/blocksadmin.php', 1, \constant('CO_' . $this->moduleDirNameUpper . '_' . 'UPDATE_SUCCESS'));
517
+	}
518
+
519
+	public function render(?array $block = null)
520
+	{
521
+		\xoops_load('XoopsFormLoader');
522
+		\xoops_loadLanguage('common', $this->moduleDirNameUpper);
523
+
524
+		$form = new \XoopsThemeForm($block['form_title'], 'blockform', 'blocksadmin.php', 'post', true);
525
+		if (isset($block['name'])) {
526
+			$form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_NAME, $block['name']));
527
+		}
528
+		$sideSelect = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_TYPE, 'bside', $block['side']);
529
+		$sideSelect->addOptionArray([
530
+										0 => \_AM_SYSTEM_BLOCKS_SBLEFT,
531
+										1 => \_AM_SYSTEM_BLOCKS_SBRIGHT,
532
+										3 => \_AM_SYSTEM_BLOCKS_CBLEFT,
533
+										4 => \_AM_SYSTEM_BLOCKS_CBRIGHT,
534
+										5 => \_AM_SYSTEM_BLOCKS_CBCENTER,
535
+										7 => \_AM_SYSTEM_BLOCKS_CBBOTTOMLEFT,
536
+										8 => \_AM_SYSTEM_BLOCKS_CBBOTTOMRIGHT,
537
+										9 => \_AM_SYSTEM_BLOCKS_CBBOTTOM,
538
+									]);
539
+		$form->addElement($sideSelect);
540
+		$form->addElement(new \XoopsFormText(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'WEIGHT'), 'bweight', 2, 5, $block['weight']));
541
+		$form->addElement(new \XoopsFormRadioYN(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'VISIBLE'), 'bvisible', $block['visible']));
542
+		$modSelect = new \XoopsFormSelect(\constant('CO_' . $this->moduleDirNameUpper . '_' . 'VISIBLEIN'), 'bmodule', $block['modules'], 5, true);
543
+		/** @var \XoopsModuleHandler $moduleHandler */
544
+		$moduleHandler = \xoops_getHandler('module');
545
+		$criteria      = new \CriteriaCompo(new \Criteria('hasmain', '1'));
546
+		$criteria->add(new \Criteria('isactive', '1'));
547
+		$moduleList     = $moduleHandler->getList($criteria);
548
+		$moduleList[-1] = \_AM_SYSTEM_BLOCKS_TOPPAGE;
549
+		$moduleList[0]  = \_AM_SYSTEM_BLOCKS_ALLPAGES;
550
+		\ksort($moduleList);
551
+		$modSelect->addOptionArray($moduleList);
552
+		$form->addElement($modSelect);
553
+		$form->addElement(new \XoopsFormText(\_AM_SYSTEM_BLOCKS_TITLE, 'btitle', 50, 255, $block['title']), false);
554
+		if ($block['is_custom']) {
555
+			$textarea = new \XoopsFormDhtmlTextArea(\_AM_SYSTEM_BLOCKS_CONTENT, 'bcontent', $block['content'], 15, 70);
556
+			$textarea->setDescription('<span style="font-size:x-small;font-weight:bold;">' . \_AM_SYSTEM_BLOCKS_USEFULTAGS . '</span><br><span style="font-size:x-small;font-weight:normal;">' . \sprintf(_AM_BLOCKTAG1, '{X_SITEURL}', XOOPS_URL . '/') . '</span>');
557
+			$form->addElement($textarea, true);
558
+			$ctypeSelect = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_CTYPE, 'bctype', $block['ctype']);
559
+			$ctypeSelect->addOptionArray([
560
+											 'H' => \_AM_SYSTEM_BLOCKS_HTML,
561
+											 'P' => \_AM_SYSTEM_BLOCKS_PHP,
562
+											 'S' => \_AM_SYSTEM_BLOCKS_AFWSMILE,
563
+											 'T' => \_AM_SYSTEM_BLOCKS_AFNOSMILE,
564
+										 ]);
565
+			$form->addElement($ctypeSelect);
566
+		} else {
567
+			if ('' !== $block['template']) {
568
+				/** @var \XoopsTplfileHandler $tplfileHandler */
569
+				$tplfileHandler = \xoops_getHandler('tplfile');
570
+				$btemplate      = $tplfileHandler->find($GLOBALS['xoopsConfig']['template_set'], 'block', $block['bid']);
571
+				if (\count($btemplate) > 0) {
572
+					$form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_CONTENT, '<a href="' . XOOPS_URL . '/modules/system/admin.php?fct=tplsets&amp;op=edittpl&amp;id=' . $btemplate[0]->getVar('tpl_id') . '">' . \_AM_SYSTEM_BLOCKS_EDITTPL . '</a>'));
573
+				} else {
574
+					$btemplate2 = $tplfileHandler->find('default', 'block', $block['bid']);
575
+					if (\count($btemplate2) > 0) {
576
+						$form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_CONTENT, '<a href="' . XOOPS_URL . '/modules/system/admin.php?fct=tplsets&amp;op=edittpl&amp;id=' . $btemplate2[0]->getVar('tpl_id') . '" target="_blank">' . \_AM_SYSTEM_BLOCKS_EDITTPL . '</a>'));
577
+					}
578
+				}
579
+			}
580
+			if (false !== $block['edit_form']) {
581
+				$form->addElement(new \XoopsFormLabel(\_AM_SYSTEM_BLOCKS_OPTIONS, $block['edit_form']));
582
+			}
583
+		}
584
+		$cache_select = new \XoopsFormSelect(\_AM_SYSTEM_BLOCKS_BCACHETIME, 'bcachetime', $block['bcachetime']);
585
+		$cache_select->addOptionArray([
586
+										  0       => _NOCACHE,
587
+										  30      => \sprintf(_SECONDS, 30),
588
+										  60      => _MINUTE,
589
+										  300     => \sprintf(_MINUTES, 5),
590
+										  1800    => \sprintf(_MINUTES, 30),
591
+										  3600    => _HOUR,
592
+										  18000   => \sprintf(_HOURS, 5),
593
+										  86400   => _DAY,
594
+										  259200  => \sprintf(_DAYS, 3),
595
+										  604800  => _WEEK,
596
+										  2592000 => _MONTH,
597
+									  ]);
598
+		$form->addElement($cache_select);
599
+
600
+		/** @var \XoopsGroupPermHandler $grouppermHandler */
601
+		$grouppermHandler = \xoops_getHandler('groupperm');
602
+		$groups           = $grouppermHandler->getGroupIds('block_read', $block['bid']);
603
+
604
+		$form->addElement(new \XoopsFormSelectGroup(\_AM_SYSTEM_BLOCKS_GROUP, 'groups', true, $groups, 5, true));
605
+
606
+		if (isset($block['bid'])) {
607
+			$form->addElement(new \XoopsFormHidden('bid', $block['bid']));
608
+		}
609
+		$form->addElement(new \XoopsFormHidden('op', $block['op']));
610
+		$form->addElement(new \XoopsFormHidden('fct', 'blocksadmin'));
611
+		$buttonTray = new \XoopsFormElementTray('', '&nbsp;');
612
+		if ($block['is_custom']) {
613
+			$buttonTray->addElement(new \XoopsFormButton('', 'previewblock', _PREVIEW, 'submit'));
614
+		}
615
+
616
+		//Submit buttons
617
+		$buttonTray   = new \XoopsFormElementTray('', '');
618
+		$submitButton = new \XoopsFormButton('', 'submitblock', _SUBMIT, 'submit');
619
+		$buttonTray->addElement($submitButton);
620
+
621
+		$cancelButton = new \XoopsFormButton('', '', _CANCEL, 'button');
622
+		$cancelButton->setExtra('onclick="history.go(-1)"');
623
+		$buttonTray->addElement($cancelButton);
624
+
625
+		$form->addElement($buttonTray);
626
+		$form->display();
627
+	}
628 628
 }
Please login to merge, or discard this patch.
class/Common/SysUtility.php 1 patch
Indentation   +212 added lines, -212 removed lines patch added patch discarded remove patch
@@ -30,216 +30,216 @@
 block discarded – undo
30 30
  */
31 31
 class SysUtility
32 32
 {
33
-    use VersionChecks;
34
-
35
-    //checkVerXoops, checkVerPhp Traits
36
-
37
-    use ServerStats;
38
-
39
-    // getServerStats Trait
40
-
41
-    use FilesManagement;
42
-
43
-    // Files Management Trait
44
-
45
-    /**
46
-     * truncateHtml can truncate a string up to a number of characters while preserving whole words and HTML tags
47
-     * www.gsdesign.ro/blog/cut-html-string-without-breaking-the-tags
48
-     * www.cakephp.org
49
-     *
50
-     * @param string $text         String to truncate.
51
-     * @param int    $length       Length of returned string, including ellipsis.
52
-     * @param string $ending       Ending to be appended to the trimmed string.
53
-     * @param bool   $exact        If false, $text will not be cut mid-word
54
-     * @param bool   $considerHtml If true, HTML tags would be handled correctly
55
-     *
56
-     * @return string Trimmed string.
57
-     */
58
-    public static function truncateHtml($text, $length = 100, $ending = '...', $exact = false, $considerHtml = true)
59
-    {
60
-        if ($considerHtml) {
61
-            // if the plain text is shorter than the maximum length, return the whole text
62
-            if (mb_strlen(\preg_replace('/<.*?' . '>/', '', $text)) <= $length) {
63
-                return $text;
64
-            }
65
-            // splits all html-tags to scanable lines
66
-            \preg_match_all('/(<.+?' . '>)?([^<>]*)/s', $text, $lines, \PREG_SET_ORDER);
67
-            $total_length = mb_strlen($ending);
68
-            $open_tags    = [];
69
-            $truncate     = '';
70
-            foreach ($lines as $line_matchings) {
71
-                // if there is any html-tag in this line, handle it and add it (uncounted) to the output
72
-                if (!empty($line_matchings[1])) {
73
-                    // if it's an "empty element" with or without xhtml-conform closing slash
74
-                    if (\preg_match('/^<(\s*.+?\/\s*|\s*(img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param)(\s.+?)?)>$/is', $line_matchings[1])) {
75
-                        // do nothing
76
-                        // if tag is a closing tag
77
-                    } elseif (\preg_match('/^<\s*\/(\S+?)\s*>$/s', $line_matchings[1], $tag_matchings)) {
78
-                        // delete tag from $open_tags list
79
-                        $pos = \array_search($tag_matchings[1], $open_tags, true);
80
-                        if (false !== $pos) {
81
-                            unset($open_tags[$pos]);
82
-                        }
83
-                        // if tag is an opening tag
84
-                    } elseif (\preg_match('/^<\s*([^\s>!]+).*?' . '>$/s', $line_matchings[1], $tag_matchings)) {
85
-                        // add tag to the beginning of $open_tags list
86
-                        \array_unshift($open_tags, \mb_strtolower($tag_matchings[1]));
87
-                    }
88
-                    // add html-tag to $truncate'd text
89
-                    $truncate .= $line_matchings[1];
90
-                }
91
-                // calculate the length of the plain text part of the line; handle entities as one character
92
-                $content_length = mb_strlen(\preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', ' ', $line_matchings[2]));
93
-                if ($total_length + $content_length > $length) {
94
-                    // the number of characters which are left
95
-                    $left            = $length - $total_length;
96
-                    $entities_length = 0;
97
-                    // search for html entities
98
-                    if (\preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', $line_matchings[2], $entities, \PREG_OFFSET_CAPTURE)) {
99
-                        // calculate the real length of all entities in the legal range
100
-                        foreach ($entities[0] as $entity) {
101
-                            if ($left >= $entity[1] + 1 - $entities_length) {
102
-                                $left--;
103
-                                $entities_length += mb_strlen($entity[0]);
104
-                            } else {
105
-                                // no more characters left
106
-                                break;
107
-                            }
108
-                        }
109
-                    }
110
-                    $truncate .= mb_substr($line_matchings[2], 0, $left + $entities_length);
111
-                    // maximum lenght is reached, so get off the loop
112
-                    break;
113
-                }
114
-                $truncate     .= $line_matchings[2];
115
-                $total_length += $content_length;
116
-
117
-                // if the maximum length is reached, get off the loop
118
-                if ($total_length >= $length) {
119
-                    break;
120
-                }
121
-            }
122
-        } else {
123
-            if (mb_strlen($text) <= $length) {
124
-                return $text;
125
-            }
126
-            $truncate = mb_substr($text, 0, $length - mb_strlen($ending));
127
-        }
128
-        // if the words shouldn't be cut in the middle...
129
-        if (!$exact) {
130
-            // ...search the last occurance of a space...
131
-            $spacepos = mb_strrpos($truncate, ' ');
132
-            if (isset($spacepos)) {
133
-                // ...and cut the text in this position
134
-                $truncate = mb_substr($truncate, 0, $spacepos);
135
-            }
136
-        }
137
-        // add the defined ending to the text
138
-        $truncate .= $ending;
139
-        if ($considerHtml) {
140
-            // close all unclosed html-tags
141
-            foreach ($open_tags as $tag) {
142
-                $truncate .= '</' . $tag . '>';
143
-            }
144
-        }
145
-
146
-        return $truncate;
147
-    }
148
-
149
-    /**
150
-     * @param \Xmf\Module\Helper $helper
151
-     * @param array|null         $options
152
-     * @return \XoopsFormDhtmlTextArea|\XoopsFormEditor
153
-     */
154
-    public static function getEditor($helper = null, $options = null)
155
-    {
156
-        /** @var Helper $helper */
157
-        if (null === $options) {
158
-            $options           = [];
159
-            $options['name']   = 'Editor';
160
-            $options['value']  = 'Editor';
161
-            $options['rows']   = 10;
162
-            $options['cols']   = '100%';
163
-            $options['width']  = '100%';
164
-            $options['height'] = '400px';
165
-        }
166
-
167
-        if (null === $helper) {
168
-            $helper = Helper::getInstance();
169
-        }
170
-
171
-        $isAdmin = $helper->isUserAdmin();
172
-
173
-        if (\class_exists('XoopsFormEditor')) {
174
-            if ($isAdmin) {
175
-                $descEditor = new \XoopsFormEditor(\ucfirst($options['name']), $helper->getConfig('editorAdmin'), $options, $nohtml = false, $onfailure = 'textarea');
176
-            } else {
177
-                $descEditor = new \XoopsFormEditor(\ucfirst($options['name']), $helper->getConfig('editorUser'), $options, $nohtml = false, $onfailure = 'textarea');
178
-            }
179
-        } else {
180
-            $descEditor = new \XoopsFormDhtmlTextArea(\ucfirst($options['name']), $options['name'], $options['value'], '100%', '100%');
181
-        }
182
-
183
-        //        $form->addElement($descEditor);
184
-
185
-        return $descEditor;
186
-    }
187
-
188
-    /**
189
-     * @param $fieldname
190
-     * @param $table
191
-     */
192
-    public static function fieldExists(string $fieldname, string $table): bool
193
-    {
194
-        global $xoopsDB;
195
-        $result = $xoopsDB->queryF("SHOW COLUMNS FROM   $table LIKE '$fieldname'");
196
-
197
-        return ($xoopsDB->getRowsNum($result) > 0);
198
-    }
199
-
200
-    /**
201
-     * @param array|string $tableName
202
-     * @param int          $id_field
203
-     * @param int          $id
204
-     *
205
-     * @return mixed
206
-     */
207
-    public static function cloneRecord($tableName, $id_field, $id)
208
-    {
209
-        $new_id = false;
210
-        $table  = $GLOBALS['xoopsDB']->prefix($tableName);
211
-        // copy content of the record you wish to clone
212
-        $sql    = "SELECT * FROM $table WHERE $idField='" . $id . "' ";
213
-        $result = $GLOBALS['xoopsDB']->query($sql);
214
-        if ($result instanceof \mysqli_result) {
215
-            $tempTable = $GLOBALS['xoopsDB']->fetchArray($result, \MYSQLI_ASSOC);
216
-        }
217
-        if (!$tempTable) {
218
-            \trigger_error($GLOBALS['xoopsDB']->error());
219
-        }
220
-        // set the auto-incremented id's value to blank.
221
-        unset($tempTable[$id_field]);
222
-        // insert cloned copy of the original  record
223
-        $sql    = "INSERT INTO $table (" . \implode(', ', \array_keys($tempTable)) . ") VALUES ('" . \implode("', '", \array_values($tempTable)) . "')";
224
-        $result = $GLOBALS['xoopsDB']->queryF($sql);
225
-        if (!$result) {
226
-            \trigger_error($GLOBALS['xoopsDB']->error());
227
-        }
228
-        // Return the new id
229
-        $new_id = $GLOBALS['xoopsDB']->getInsertId();
230
-
231
-        return $new_id;
232
-    }
233
-
234
-    /**
235
-     * @param string $tablename
236
-     *
237
-     * @return bool
238
-     */
239
-    public static function tableExists($tablename)
240
-    {
241
-        $result = $GLOBALS['xoopsDB']->queryF("SHOW TABLES LIKE '$tablename'");
242
-
243
-        return $GLOBALS['xoopsDB']->getRowsNum($result) > 0;
244
-    }
33
+	use VersionChecks;
34
+
35
+	//checkVerXoops, checkVerPhp Traits
36
+
37
+	use ServerStats;
38
+
39
+	// getServerStats Trait
40
+
41
+	use FilesManagement;
42
+
43
+	// Files Management Trait
44
+
45
+	/**
46
+	 * truncateHtml can truncate a string up to a number of characters while preserving whole words and HTML tags
47
+	 * www.gsdesign.ro/blog/cut-html-string-without-breaking-the-tags
48
+	 * www.cakephp.org
49
+	 *
50
+	 * @param string $text         String to truncate.
51
+	 * @param int    $length       Length of returned string, including ellipsis.
52
+	 * @param string $ending       Ending to be appended to the trimmed string.
53
+	 * @param bool   $exact        If false, $text will not be cut mid-word
54
+	 * @param bool   $considerHtml If true, HTML tags would be handled correctly
55
+	 *
56
+	 * @return string Trimmed string.
57
+	 */
58
+	public static function truncateHtml($text, $length = 100, $ending = '...', $exact = false, $considerHtml = true)
59
+	{
60
+		if ($considerHtml) {
61
+			// if the plain text is shorter than the maximum length, return the whole text
62
+			if (mb_strlen(\preg_replace('/<.*?' . '>/', '', $text)) <= $length) {
63
+				return $text;
64
+			}
65
+			// splits all html-tags to scanable lines
66
+			\preg_match_all('/(<.+?' . '>)?([^<>]*)/s', $text, $lines, \PREG_SET_ORDER);
67
+			$total_length = mb_strlen($ending);
68
+			$open_tags    = [];
69
+			$truncate     = '';
70
+			foreach ($lines as $line_matchings) {
71
+				// if there is any html-tag in this line, handle it and add it (uncounted) to the output
72
+				if (!empty($line_matchings[1])) {
73
+					// if it's an "empty element" with or without xhtml-conform closing slash
74
+					if (\preg_match('/^<(\s*.+?\/\s*|\s*(img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param)(\s.+?)?)>$/is', $line_matchings[1])) {
75
+						// do nothing
76
+						// if tag is a closing tag
77
+					} elseif (\preg_match('/^<\s*\/(\S+?)\s*>$/s', $line_matchings[1], $tag_matchings)) {
78
+						// delete tag from $open_tags list
79
+						$pos = \array_search($tag_matchings[1], $open_tags, true);
80
+						if (false !== $pos) {
81
+							unset($open_tags[$pos]);
82
+						}
83
+						// if tag is an opening tag
84
+					} elseif (\preg_match('/^<\s*([^\s>!]+).*?' . '>$/s', $line_matchings[1], $tag_matchings)) {
85
+						// add tag to the beginning of $open_tags list
86
+						\array_unshift($open_tags, \mb_strtolower($tag_matchings[1]));
87
+					}
88
+					// add html-tag to $truncate'd text
89
+					$truncate .= $line_matchings[1];
90
+				}
91
+				// calculate the length of the plain text part of the line; handle entities as one character
92
+				$content_length = mb_strlen(\preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', ' ', $line_matchings[2]));
93
+				if ($total_length + $content_length > $length) {
94
+					// the number of characters which are left
95
+					$left            = $length - $total_length;
96
+					$entities_length = 0;
97
+					// search for html entities
98
+					if (\preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', $line_matchings[2], $entities, \PREG_OFFSET_CAPTURE)) {
99
+						// calculate the real length of all entities in the legal range
100
+						foreach ($entities[0] as $entity) {
101
+							if ($left >= $entity[1] + 1 - $entities_length) {
102
+								$left--;
103
+								$entities_length += mb_strlen($entity[0]);
104
+							} else {
105
+								// no more characters left
106
+								break;
107
+							}
108
+						}
109
+					}
110
+					$truncate .= mb_substr($line_matchings[2], 0, $left + $entities_length);
111
+					// maximum lenght is reached, so get off the loop
112
+					break;
113
+				}
114
+				$truncate     .= $line_matchings[2];
115
+				$total_length += $content_length;
116
+
117
+				// if the maximum length is reached, get off the loop
118
+				if ($total_length >= $length) {
119
+					break;
120
+				}
121
+			}
122
+		} else {
123
+			if (mb_strlen($text) <= $length) {
124
+				return $text;
125
+			}
126
+			$truncate = mb_substr($text, 0, $length - mb_strlen($ending));
127
+		}
128
+		// if the words shouldn't be cut in the middle...
129
+		if (!$exact) {
130
+			// ...search the last occurance of a space...
131
+			$spacepos = mb_strrpos($truncate, ' ');
132
+			if (isset($spacepos)) {
133
+				// ...and cut the text in this position
134
+				$truncate = mb_substr($truncate, 0, $spacepos);
135
+			}
136
+		}
137
+		// add the defined ending to the text
138
+		$truncate .= $ending;
139
+		if ($considerHtml) {
140
+			// close all unclosed html-tags
141
+			foreach ($open_tags as $tag) {
142
+				$truncate .= '</' . $tag . '>';
143
+			}
144
+		}
145
+
146
+		return $truncate;
147
+	}
148
+
149
+	/**
150
+	 * @param \Xmf\Module\Helper $helper
151
+	 * @param array|null         $options
152
+	 * @return \XoopsFormDhtmlTextArea|\XoopsFormEditor
153
+	 */
154
+	public static function getEditor($helper = null, $options = null)
155
+	{
156
+		/** @var Helper $helper */
157
+		if (null === $options) {
158
+			$options           = [];
159
+			$options['name']   = 'Editor';
160
+			$options['value']  = 'Editor';
161
+			$options['rows']   = 10;
162
+			$options['cols']   = '100%';
163
+			$options['width']  = '100%';
164
+			$options['height'] = '400px';
165
+		}
166
+
167
+		if (null === $helper) {
168
+			$helper = Helper::getInstance();
169
+		}
170
+
171
+		$isAdmin = $helper->isUserAdmin();
172
+
173
+		if (\class_exists('XoopsFormEditor')) {
174
+			if ($isAdmin) {
175
+				$descEditor = new \XoopsFormEditor(\ucfirst($options['name']), $helper->getConfig('editorAdmin'), $options, $nohtml = false, $onfailure = 'textarea');
176
+			} else {
177
+				$descEditor = new \XoopsFormEditor(\ucfirst($options['name']), $helper->getConfig('editorUser'), $options, $nohtml = false, $onfailure = 'textarea');
178
+			}
179
+		} else {
180
+			$descEditor = new \XoopsFormDhtmlTextArea(\ucfirst($options['name']), $options['name'], $options['value'], '100%', '100%');
181
+		}
182
+
183
+		//        $form->addElement($descEditor);
184
+
185
+		return $descEditor;
186
+	}
187
+
188
+	/**
189
+	 * @param $fieldname
190
+	 * @param $table
191
+	 */
192
+	public static function fieldExists(string $fieldname, string $table): bool
193
+	{
194
+		global $xoopsDB;
195
+		$result = $xoopsDB->queryF("SHOW COLUMNS FROM   $table LIKE '$fieldname'");
196
+
197
+		return ($xoopsDB->getRowsNum($result) > 0);
198
+	}
199
+
200
+	/**
201
+	 * @param array|string $tableName
202
+	 * @param int          $id_field
203
+	 * @param int          $id
204
+	 *
205
+	 * @return mixed
206
+	 */
207
+	public static function cloneRecord($tableName, $id_field, $id)
208
+	{
209
+		$new_id = false;
210
+		$table  = $GLOBALS['xoopsDB']->prefix($tableName);
211
+		// copy content of the record you wish to clone
212
+		$sql    = "SELECT * FROM $table WHERE $idField='" . $id . "' ";
213
+		$result = $GLOBALS['xoopsDB']->query($sql);
214
+		if ($result instanceof \mysqli_result) {
215
+			$tempTable = $GLOBALS['xoopsDB']->fetchArray($result, \MYSQLI_ASSOC);
216
+		}
217
+		if (!$tempTable) {
218
+			\trigger_error($GLOBALS['xoopsDB']->error());
219
+		}
220
+		// set the auto-incremented id's value to blank.
221
+		unset($tempTable[$id_field]);
222
+		// insert cloned copy of the original  record
223
+		$sql    = "INSERT INTO $table (" . \implode(', ', \array_keys($tempTable)) . ") VALUES ('" . \implode("', '", \array_values($tempTable)) . "')";
224
+		$result = $GLOBALS['xoopsDB']->queryF($sql);
225
+		if (!$result) {
226
+			\trigger_error($GLOBALS['xoopsDB']->error());
227
+		}
228
+		// Return the new id
229
+		$new_id = $GLOBALS['xoopsDB']->getInsertId();
230
+
231
+		return $new_id;
232
+	}
233
+
234
+	/**
235
+	 * @param string $tablename
236
+	 *
237
+	 * @return bool
238
+	 */
239
+	public static function tableExists($tablename)
240
+	{
241
+		$result = $GLOBALS['xoopsDB']->queryF("SHOW TABLES LIKE '$tablename'");
242
+
243
+		return $GLOBALS['xoopsDB']->getRowsNum($result) > 0;
244
+	}
245 245
 }
Please login to merge, or discard this patch.
class/MyiframeBase.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -15,50 +15,50 @@
 block discarded – undo
15 15
  */
16 16
 class MyiframeBase extends \XoopsObject
17 17
 {
18
-    //    /** @var \XoopsMySQLDatabase */
19
-    public $db;
18
+	//    /** @var \XoopsMySQLDatabase */
19
+	public $db;
20 20
 
21
-    /**
22
-     * myiframe constructor.
23
-     * @param null $id
24
-     */
25
-    public function __construct($id = null)
26
-    {
27
-        $this->db = \XoopsDatabaseFactory::getDatabaseConnection();
28
-        $this->initVar('frame_frameid', \XOBJ_DTYPE_INT, null, false, 10);
29
-        $this->initVar('frame_created', \XOBJ_DTYPE_INT, null, false, 10);
30
-        $this->initVar('frame_uid', \XOBJ_DTYPE_INT, null, false, 10);
31
-        $this->initVar('frame_description', \XOBJ_DTYPE_TXTBOX, null, false, 255);
32
-        $this->initVar('frame_width', \XOBJ_DTYPE_TXTBOX, null, false, 15);
33
-        $this->initVar('frame_height', \XOBJ_DTYPE_TXTBOX, null, false, 15);
34
-        $this->initVar('frame_align', \XOBJ_DTYPE_INT, null, false, 10);
35
-        $this->initVar('frame_frameborder', \XOBJ_DTYPE_INT, null, false, 10);
36
-        $this->initVar('frame_marginwidth', \XOBJ_DTYPE_INT, null, false, 10);
37
-        $this->initVar('frame_marginheight', \XOBJ_DTYPE_INT, null, false, 10);
38
-        $this->initVar('frame_scrolling', \XOBJ_DTYPE_INT, null, false, 10);
39
-        $this->initVar('frame_hits', \XOBJ_DTYPE_INT, null, false, 10);
40
-        $this->initVar('frame_url', \XOBJ_DTYPE_TXTBOX, null, false, 255);
41
-        if (!empty($id)) {
42
-            if (\is_array($id)) {
43
-                $this->assignVars($id);
44
-            } else {
45
-                $this->load((int)$id);
46
-            }
47
-        } else {
48
-            $this->setNew();
49
-        }
50
-    }
21
+	/**
22
+	 * myiframe constructor.
23
+	 * @param null $id
24
+	 */
25
+	public function __construct($id = null)
26
+	{
27
+		$this->db = \XoopsDatabaseFactory::getDatabaseConnection();
28
+		$this->initVar('frame_frameid', \XOBJ_DTYPE_INT, null, false, 10);
29
+		$this->initVar('frame_created', \XOBJ_DTYPE_INT, null, false, 10);
30
+		$this->initVar('frame_uid', \XOBJ_DTYPE_INT, null, false, 10);
31
+		$this->initVar('frame_description', \XOBJ_DTYPE_TXTBOX, null, false, 255);
32
+		$this->initVar('frame_width', \XOBJ_DTYPE_TXTBOX, null, false, 15);
33
+		$this->initVar('frame_height', \XOBJ_DTYPE_TXTBOX, null, false, 15);
34
+		$this->initVar('frame_align', \XOBJ_DTYPE_INT, null, false, 10);
35
+		$this->initVar('frame_frameborder', \XOBJ_DTYPE_INT, null, false, 10);
36
+		$this->initVar('frame_marginwidth', \XOBJ_DTYPE_INT, null, false, 10);
37
+		$this->initVar('frame_marginheight', \XOBJ_DTYPE_INT, null, false, 10);
38
+		$this->initVar('frame_scrolling', \XOBJ_DTYPE_INT, null, false, 10);
39
+		$this->initVar('frame_hits', \XOBJ_DTYPE_INT, null, false, 10);
40
+		$this->initVar('frame_url', \XOBJ_DTYPE_TXTBOX, null, false, 255);
41
+		if (!empty($id)) {
42
+			if (\is_array($id)) {
43
+				$this->assignVars($id);
44
+			} else {
45
+				$this->load((int)$id);
46
+			}
47
+		} else {
48
+			$this->setNew();
49
+		}
50
+	}
51 51
 
52
-    /**
53
-     * @param $id
54
-     */
55
-    public function load($id): void
56
-    {
57
-        $sql   = 'SELECT * FROM ' . $this->db->prefix('myiframe') . ' WHERE frame_frameid=' . (int)$id;
58
-        $myrow = $this->db->fetchArray($this->db->query($sql));
59
-        $this->assignVars($myrow);
60
-        if (!$myrow) {
61
-            $this->setNew();
62
-        }
63
-    }
52
+	/**
53
+	 * @param $id
54
+	 */
55
+	public function load($id): void
56
+	{
57
+		$sql   = 'SELECT * FROM ' . $this->db->prefix('myiframe') . ' WHERE frame_frameid=' . (int)$id;
58
+		$myrow = $this->db->fetchArray($this->db->query($sql));
59
+		$this->assignVars($myrow);
60
+		if (!$myrow) {
61
+			$this->setNew();
62
+		}
63
+	}
64 64
 }
Please login to merge, or discard this patch.
index.php 1 patch
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -18,81 +18,81 @@
 block discarded – undo
18 18
 
19 19
 $suplparam = '';
20 20
 if (isset($_GET)) {
21
-    foreach ($_GET as $k => $v) {
22
-        if ('IFRAMEID' !== \mb_strtoupper(trim($k))) {
23
-            $suplparam .= $k . '=' . $v . '&';
24
-        }
25
-    }
21
+	foreach ($_GET as $k => $v) {
22
+		if ('IFRAMEID' !== \mb_strtoupper(trim($k))) {
23
+			$suplparam .= $k . '=' . $v . '&';
24
+		}
25
+	}
26 26
 }
27 27
 
28 28
 if (mb_strlen(xoops_trim($suplparam)) > 0) {
29
-    $suplparam = mb_substr($suplparam, 0, -1);
29
+	$suplparam = mb_substr($suplparam, 0, -1);
30 30
 }
31 31
 
32 32
 /** @var \MyiframeBaseHandler $iframeHandler */
33 33
 $iframeHandler = $helper->getHandler('MyiframeBase');
34 34
 
35 35
 if (Request::hasVar('iframeid', 'GET')) {
36
-    $tblalign     = [
37
-        'top',
38
-        'middle',
39
-        'bottom',
40
-        'left',
41
-        'rigth',
42
-    ];
43
-    $tblscrolling = [
44
-        'yes',
45
-        'no',
46
-        'auto',
47
-    ];
48
-    $frameid      = Request::getInt('iframeid', 0, 'GET');
36
+	$tblalign     = [
37
+		'top',
38
+		'middle',
39
+		'bottom',
40
+		'left',
41
+		'rigth',
42
+	];
43
+	$tblscrolling = [
44
+		'yes',
45
+		'no',
46
+		'auto',
47
+	];
48
+	$frameid      = Request::getInt('iframeid', 0, 'GET');
49 49
 
50
-    $frame = $iframeHandler->get($frameid);
50
+	$frame = $iframeHandler->get($frameid);
51 51
 
52
-    if (is_object($frame)) {
53
-        $iframeHandler->updatehits($frameid);
54
-        $xoopsTpl->assign('frameok', true);
55
-        $xoopsTpl->assign('longdesc', $frame->getVar('frame_description'));
56
-        $xoopsTpl->assign('width', $frame->getVar('frame_width'));
57
-        $xoopsTpl->assign('height', $frame->getVar('frame_height'));
58
-        $xoopsTpl->assign('align', $tblalign[(string)($frame->getVar('frame_align') - 1)]);
59
-        $xoopsTpl->assign('frameborder', $frame->getVar('frame_frameborder'));
60
-        $xoopsTpl->assign('marginwidth', $frame->getVar('frame_marginwidth'));
61
-        $xoopsTpl->assign('marginheight', $frame->getVar('frame_marginheight'));
62
-        $xoopsTpl->assign('scrolling', $tblscrolling[(string)($frame->getVar('frame_scrolling') - 1)]);
63
-        if ('' !== xoops_trim($suplparam)) {
64
-            $xoopsTpl->assign('url', $frame->getVar('frame_url') . '?' . $suplparam);
65
-        } else {
66
-            $xoopsTpl->assign('url', $frame->getVar('frame_url'));
67
-        }
68
-        $title = $frame->getVar('frame_description');
69
-        myiframe_set_metas($title, $title);
70
-    } else {
71
-        $xoopsTpl->assign('frameok', false);
72
-        $xoopsTpl->assign('frame_error', _MYIFRAME_FRAME_ERROR);
73
-    }
52
+	if (is_object($frame)) {
53
+		$iframeHandler->updatehits($frameid);
54
+		$xoopsTpl->assign('frameok', true);
55
+		$xoopsTpl->assign('longdesc', $frame->getVar('frame_description'));
56
+		$xoopsTpl->assign('width', $frame->getVar('frame_width'));
57
+		$xoopsTpl->assign('height', $frame->getVar('frame_height'));
58
+		$xoopsTpl->assign('align', $tblalign[(string)($frame->getVar('frame_align') - 1)]);
59
+		$xoopsTpl->assign('frameborder', $frame->getVar('frame_frameborder'));
60
+		$xoopsTpl->assign('marginwidth', $frame->getVar('frame_marginwidth'));
61
+		$xoopsTpl->assign('marginheight', $frame->getVar('frame_marginheight'));
62
+		$xoopsTpl->assign('scrolling', $tblscrolling[(string)($frame->getVar('frame_scrolling') - 1)]);
63
+		if ('' !== xoops_trim($suplparam)) {
64
+			$xoopsTpl->assign('url', $frame->getVar('frame_url') . '?' . $suplparam);
65
+		} else {
66
+			$xoopsTpl->assign('url', $frame->getVar('frame_url'));
67
+		}
68
+		$title = $frame->getVar('frame_description');
69
+		myiframe_set_metas($title, $title);
70
+	} else {
71
+		$xoopsTpl->assign('frameok', false);
72
+		$xoopsTpl->assign('frame_error', _MYIFRAME_FRAME_ERROR);
73
+	}
74 74
 } else {
75
-    if (myiframe_getmoduleoption('showlist')) {
76
-        $baseurl = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/index.php';
77
-        $frarray = [];
78
-        $critere = new \Criteria('1', '1', '=');
79
-        $critere->setSort('frame_description');
80
-        $frarray = $iframeHandler->getObjects($critere);
81
-        if (count($frarray) > 0) {
82
-            foreach ($frarray as $frame) {
83
-                /** @var Myiframe $frame */
84
-                if ('' === xoops_trim($frame->getVar('frame_description'))) {
85
-                    $liendesc = $frame->getVar('frame_url');
86
-                } else {
87
-                    $liendesc = "<a href='" . $baseurl . '?iframeid=' . $frame->getVar('frame_frameid') . "'>" . $frame->getVar('frame_description') . '</a>';
88
-                }
89
-                $iframe['list'] = $liendesc;
90
-                $xoopsTpl->append('iframes', $iframe);
91
-            }
92
-        }
93
-    } else {
94
-        $xoopsTpl->assign('frameok', false);
95
-        $xoopsTpl->assign('frame_error', _MYIFRAME_FRAME_ERROR);
96
-    }
75
+	if (myiframe_getmoduleoption('showlist')) {
76
+		$baseurl = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/index.php';
77
+		$frarray = [];
78
+		$critere = new \Criteria('1', '1', '=');
79
+		$critere->setSort('frame_description');
80
+		$frarray = $iframeHandler->getObjects($critere);
81
+		if (count($frarray) > 0) {
82
+			foreach ($frarray as $frame) {
83
+				/** @var Myiframe $frame */
84
+				if ('' === xoops_trim($frame->getVar('frame_description'))) {
85
+					$liendesc = $frame->getVar('frame_url');
86
+				} else {
87
+					$liendesc = "<a href='" . $baseurl . '?iframeid=' . $frame->getVar('frame_frameid') . "'>" . $frame->getVar('frame_description') . '</a>';
88
+				}
89
+				$iframe['list'] = $liendesc;
90
+				$xoopsTpl->append('iframes', $iframe);
91
+			}
92
+		}
93
+	} else {
94
+		$xoopsTpl->assign('frameok', false);
95
+		$xoopsTpl->assign('frame_error', _MYIFRAME_FRAME_ERROR);
96
+	}
97 97
 }
98 98
 require_once XOOPS_ROOT_PATH . '/footer.php';
Please login to merge, or discard this patch.