Passed
Pull Request — master (#1323)
by Michael
06:22
created

langDropdown()   C

Complexity

Conditions 12
Paths 5

Size

Total Lines 44
Code Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 12
eloc 32
nc 5
nop 0
dl 0
loc 44
rs 6.9666
c 1
b 0
f 0

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
/**
3
 *  Xoopsmlcontent plugin for tinymce
4
 *
5
 * @copyright       (c) 2000-2016 XOOPS Project (www.xoops.org)
6
 * @license             GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html)
7
 * @package             class / xoopseditor
8
 * @subpackage          tinymce / xoops plugins
9
 * @since               2.3.0
10
 * @author              ralf57
11
 * @author              luciorota <[email protected]>
12
 * @author              Laurent JEN <[email protected]>
13
 */
14
15
// load mainfile.php - start
16
$current_path = __DIR__;
17
if (DIRECTORY_SEPARATOR !== '/') {
18
    $current_path = str_replace(DIRECTORY_SEPARATOR, '/', $current_path);
19
}
20
$xoops_root_path = substr($current_path, 0, strpos(strtolower($current_path), '/class/xoopseditor/tinymce/'));
21
include_once $xoops_root_path . '/mainfile.php';
22
defined('XOOPS_ROOT_PATH') || exit('XOOPS root path not defined');
23
// load mainfile.php - end
24
25
function langDropdown()
26
{
27
    $content = '';
28
29
    $time = time();
30
    if (!isset($_SESSION['XoopsMLcontent']) && (isset($_SESSION['XoopsMLcontent_expire']) && $_SESSION['XoopsMLcontent_expire'] < $time)) {
31
        include_once XOOPS_ROOT_PATH . '/kernel/module.php';
32
        $xlanguage = XoopsModule::getByDirname('xlanguage');
33
        if (is_object($xlanguage) && $xlanguage->getVar('isactive')) {
34
            include_once(XOOPS_ROOT_PATH . '/modules/xlanguage/include/vars.php');
35
            include_once(XOOPS_ROOT_PATH . '/modules/xlanguage/include/functions.php');
36
            /** @var LanguageHandler $xlanguage_handler */
37
            $xlanguage_handler = xoops_getModuleHandler('language', 'xlanguage');
38
            $xlanguage_handler->loadConfig();
39
            $lang_list =& $xlanguage_handler->getAllList();
40
41
            $content .= '<select name="mlanguages" id="mlanguages">';
42
            $content .= '<option value="">{#xoopsmlcontent_dlg.sellang}</option>';
43
            if (!empty($lang_list) && \is_array($lang_list)) {
44
                foreach (array_keys($lang_list) as $lang_name) {
45
                    $lang =& $lang_list[$lang_name];
46
                    $content .= '<option value="' . $lang['base']->getVar('lang_code') . '">' . $lang['base']->getVar('lang_name') . '</option>';
47
                }
48
            }
49
            $content .= '</select>';
50
        } elseif (defined('EASIESTML_LANGS') && defined('EASIESTML_LANGNAMES')) {
51
            $easiestml_langs = explode(',', EASIESTML_LANGS);
0 ignored issues
show
Bug introduced by
The constant EASIESTML_LANGS was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
52
            $langnames       = explode(',', EASIESTML_LANGNAMES);
0 ignored issues
show
Bug introduced by
The constant EASIESTML_LANGNAMES was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
53
            $lang_options    = '';
0 ignored issues
show
Unused Code introduced by
The assignment to $lang_options is dead and can be removed.
Loading history...
54
55
            $content .= '<select name="mlanguages" id="mlanguages">';
56
            $content .= '<option value="">{#xoopsmlcontent_dlg.sellang}</option>';
57
            foreach ($easiestml_langs as $l => $lang) {
58
                $content .= '<option value="' . $lang . '">' . $langnames[$l] . '</option>';
59
            }
60
            $content .= '</select>';
61
        } else {
62
            $content .= '<input type="text" name="mlanguages" />';
63
        }
64
        $_SESSION['XoopsMLcontent']        = $content;
65
        $_SESSION['XoopsMLcontent_expire'] = $time + 300;
66
    }
67
68
    echo $_SESSION['XoopsMLcontent'];
69
}
70
71
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
72
echo '<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="' . _LANGCODE . '" lang="' . _LANGCODE . '">';
73
echo '<head>';
74
echo '<meta http-equiv="content-type" content="text/html; charset=' . _CHARSET . '" />';
75
echo '<meta http-equiv="content-language" content="' . _LANGCODE . '" />';
76
?>
77
<title>{#xoopsmlcontent_dlg.title}</title>
78
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
79
<script type="text/javascript" src="../../utils/mctabs.js"></script>
80
<script type="text/javascript" src="../../utils/form_utils.js"></script>
81
<script type="text/javascript" src="../../utils/validate.js"></script>
82
<script type="text/javascript" src="js/xoopsmlcontent.js"></script>
83
<link href="<?php echo xoops_getcss($xoopsConfig['theme_set']); ?>" rel="stylesheet" type="text/css"/>
84
<link href="css/xoopsmlcontent.css" rel="stylesheet" type="text/css"/>
85
<base target="_self"/>
86
</head>
87
<body>
88
<form>
89
    <div class="tabs">
90
        <ul>
91
            <li id="tab_mlcontent" class="current"><span><a href="javascript:mcTabs.displayTab('tab_mlcontent','mlcontent_panel');"
92
                                                            onmousedown="return false;">{#xoopsmlcontent_dlg.title}</a></span></li>
93
        </ul>
94
    </div>
95
96
    <div class="panel_wrapper">
97
        <div id="mlcontent_panel" class="panel current" style="overflow:auto;">
98
            <table border="0" cellspacing="1" width="100%">
99
                <tr>
100
                    <th>{#xoopsmlcontent_dlg.subtitle}</th>
101
                </tr>
102
103
                <tr>
104
                    <td class="even">
105
                    <?php langDropdown(); ?></td>
106
                </tr>
107
108
                <tr>
109
                    <td nowrap="nowrap">
110
                        <textarea type="text" id="mltext" name="mltext" value="" onkeyup="XoopsmlcontentDialog.onkeyupMLC(this);"></textarea>
111
                    </td>
112
                </tr>
113
                <tr>
114
                    <td class="foot bold">
115
                        <div id="mltext_msg">
116
                            <script type="text/javascript">XoopsmlcontentDialog.onkeyupMLC(this);</script>
117
                        </div>
118
                    </td>
119
                </tr>
120
            </table>
121
122
            <div class="mceActionPanel floatright">
123
                <input type="submit" id="insert" name="insert" value="{#insert}" onclick="XoopsmlcontentDialog.insertMLC();return false;"/>
124
                <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();"/>
125
            </div>
126
        </div>
127
    </div>
128
</form>
129
</body>
130
</html>
131