| <?php
function displayMenuPlugin($moduleName, $pluginName, $pluginConf, $siteModule)
{
    $conf = $pluginConf['melis'];
    if (!empty($conf['thumbnail']))
        $thumbnail = $conf['thumbnail'];
    else
        $thumbnail = '/MelisFront/plugins/images/default.jpg';
    if (!empty($conf['name'])) {
        $name = $conf['name'];
    }
    else {
        $name = $pluginName;
    }
    ?>
    <?php
    if(isset($conf['subcategory']['id'])) {
        $pluginid = $conf['subcategory']['id'];
        /**
         * check if plugin is came from the mini template
         * to remove the thumbnail
         */
        if (strpos($pluginid, 'miniTemplatePlugins') !== false) { ?>
            <div class="melis-cms-plugin-snippets plugins-override-padding" data-module-name="<?= $moduleName; ?>" data-plugin-name="<?= $pluginName; ?>" data-plugin-site-module="<?= $siteModule ?>" title="<?php if (!empty($conf['description'])){ echo $conf['description']; } ?>">
                <span class="melis-cms-plugin-title plugins-name-override-margin"><?= $name; ?></span>
            </div>
        <?php } else { ?>
            <div class="melis-cms-plugin-snippets" data-module-name="<?= $moduleName; ?>" data-plugin-name="<?= $pluginName; ?>" data-plugin-site-module="<?= $siteModule ?>" title="<?php if (!empty($conf['description'])){ echo $conf['description']; } ?>">
                <img src="<?= $thumbnail; ?>" alt="">
                <span class="melis-cms-plugin-title"><?= $name; ?></span>
            </div>
        <?php }
    }else{ ?>
        <div class="melis-cms-plugin-snippets" data-module-name="<?= $moduleName; ?>" data-plugin-name="<?= $pluginName; ?>" data-plugin-site-module="<?= $siteModule ?>" title="<?php if (!empty($conf['description'])){ echo $conf['description']; } ?>">
            <img src="<?= $thumbnail; ?>" alt="">
            <span class="melis-cms-plugin-title"><?= $name; ?></span>
        </div>
    <?php }
    ?>
    <?php
}
?>
<?php
$ctrNewPlugins = 0;
$sectionHasNewPlugins = $this->sectionNewPlugins ?? [];
$moduleHasNewPlugins  = $this->modulesHasNewPlugins ?? [];
$subsectionHasNewPlugins = $this->subsectionHasNewPlugins ?? [];
?>
<div class="melis-cms-dnd-box">
    <div class="melis-cms-dnd-fix-menu">
        <div class="melis-cms-dnd-title"><?= $this->boTranslate('tr_meliscms_Plugins') ?></div>
        <div class="melis-cms-plugin-filter-box">
            <?php foreach ($this->newPluginList as $section => $plugin) : ?>
                <?php
                /**
                 * count first the children of the current section
                 * before displaying the parent tab
                 */
                $sectionChildrenCtr = count($plugin);
                ?>
                <?php if ($sectionChildrenCtr > 0) : ?>
                    <div class="melis-cms-ps-box">
                        <span class="melis-cms-filter-btn" style="position:relative;">
                            <div class="melis-section-icons">
                                <!-- get melis module section icons -->
                                <?= $this->getMelisSectionIcons($section) ?>
                            </div>
                            <?php
                            $sectionName = $section;
                            if ($section == 'CustomProjects') {
                                $sectionName = "Custom / Projects";
                            }
                            ?>
                            <?= $sectionName ?>
                            <?php if (in_array($section,$sectionHasNewPlugins)) : ?>
                                <div class="melis-plugins-icon-new-parent">
                                    <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                </div>
                            <?php endif ?>
                            <i class="fa fa-angle-down angle-down-menu"></i>
                        </span>
                        <div class="melis-cms-plugin-snippets-box">
                            <?php foreach ($plugin as $moduleName => $templatingPlugins) : ?>
                                <?php
                                $firstLevelMaxWidth = "";
                                $moduleText = $this->boTranslate('tr_PluginSection_' . $moduleName);
                                // regular rendering of menu
                                ?>
                                <?php if ($sectionChildrenCtr > 1) : ?>
                                    <div class="melis-cms-category-box">
                                    <span class="melis-cms-category-btn">
                                        <?php if (in_array($moduleName,$moduleHasNewPlugins)) : ?>
                                            <div class="melis-plugins-icon-new-child">
                                                <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                            </div>
                                            <?php $firstLevelMaxWidth = "module-name" ?>
                                        <?php endif ?>
                                        <span class="<?= $firstLevelMaxWidth ?>"><?= $moduleText ?></span>
                                        <i class="fa fa-angle-down angle-down-menu"></i>
                                    </span>
                                        <div class="melis-cms-category-plugins-box">
                                            <?php
                                            if (! empty($templatingPlugins)) {
                                                $hasSubsection = false;
                                                foreach ($templatingPlugins as $pluginName => $pluginConfig) { ?>
                                                    <?php
                                                    /*
                                                     * modules that has subsection
                                                     */
                                                    if ($pluginName == 'hasSubsection') {
                                                        $hasSubsection = true;
                                                    }
                                                    if ($hasSubsection) {
                                                        if ($pluginName != 'hasSubsection') {
                                                            $subsectionTitle = $this->boTranslate($pluginConfig['title'] ?? null);?>
                                                            <span class="melis-cms-filter-btn-sub-category"><?= $subsectionTitle; ?>
                                                                <?php if(in_array($pluginConfig['title'],$subsectionHasNewPlugins)) {?>
                                                                    <div class="melis-plugins-icon-new-sub-child">
                                                                    <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                </div>
                                                                <?php }?>
                                                                            <i class="fa fa-angle-down"></i>
                                                                        </span>
                                                            <div class="melis-cms-category-plugins-box-sub">
                                                                <?php
                                                                if (! empty($pluginConfig) && is_array($pluginConfig)) {
                                                                    foreach ($pluginConfig as $plugin => $config) {
                                                                        if (!empty($config['isCategory'])) { ?>
                                                                            <?php
                                                                            $children = $config;
                                                                            unset($children['text']);
                                                                            unset($children['isCategory']);
                                                                            ?>
                                                                            <?php if (! empty($children)) : ?>
                                                                                <span class="melis-cms-filter-btn-mini-tpl-category"><?= htmlentities($config['text']) ?>
                                                                                    <?php if(in_array($pluginConfig['title'],$subsectionHasNewPlugins)) {?>
                                                                                        <div class="melis-plugins-icon-new-sub-child">
                                                                                            <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                                        </div>
                                                                                    <?php }?>
                                                                                    <i class="fa fa-angle-down"></i>
                                                                                </span>
                                                                                <div class="melis-cms-category-plugins-box-sub">
                                                                                    <?php foreach ($config as $key => $val) : ?>
                                                                                        <?php if (!in_array($key, ['text', 'isCategory'])) : ?>
                                                                                            <?php
                                                                                            $conf = $val['melis'] ?? null;
                                                                                            $thumbnail = $conf['thumbnail'] ?? "/MelisFront/plugins/images/default.jpg";
                                                                                            $name = $conf['name'] ?? $pluginName;
                                                                                            $name = str_replace('\\', null, $name);
                                                                                            $subcategory = $conf['subcategory'];
                                                                                            $subcategoryId = $subcategory['id'] ?? null;
                                                                                            $isNew = $val['isNew'] ?? false;
                                                                                            $newClass = '';
                                                                                            if ($isNew) {
                                                                                                $newClass = 'has-new-plugins';
                                                                                            }
                                                                                            ?>
                                                                                            <?php if ($plugin != 'title') : ?>
                                                                                                <div class="melis-cms-plugin-snippets <?= $newClass ?>"
                                                                                                     data-module-name="<?= $moduleName; ?>"
                                                                                                     data-plugin-name="<?= $key; ?>"
                                                                                                     data-plugin-site-module="<?= $this->siteModule ?>"
                                                                                                     title="<?php if (!empty($conf['description'])) {
                                                                                                         echo $this->boTranslate(str_replace('\\', null, $conf['description']));
                                                                                                     } ?>">
                                                                                                    <img  src="<?= $thumbnail; ?>" width="195">
                                                                                                    <?php if ($isNew) : ?>
                                                                                                        <div class="melis-plugins-icon-new-sub-child ">
                                                                                                            <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                                                        </div>
                                                                                                    <?php endif; ?>
                                                                                                    <span class="melis-cms-plugin-title"><?= $this->boTranslate($name); ?></span>
                                                                                                </div>
                                                                                            <?php endif ?>
                                                                                        <?php endif ?>
                                                                                    <?php endforeach ?>
                                                                                </div>
                                                                            <?php endif ?>
                                                                            <?php
                                                                        } else {
                                                                            $conf = $config['melis'] ?? null;
                                                                            $thumbnail = $conf['thumbnail'] ?? "/MelisFront/plugins/images/default.jpg";
                                                                            $name = $conf['name'] ?? $pluginName;
                                                                            $name = str_replace('\\', null, $name);
                                                                            $subcategory = $conf['subcategory'] ?? null;
                                                                            $subcategoryId = $subcategory['id'] ?? null;
                                                                            $isNew = $config['isNew'] ?? false;
                                                                            $newClass = '';
                                                                            if ($isNew) {
                                                                                $newClass = 'has-new-plugins';
                                                                            }
                                                                            if ($plugin != 'title') { ?>
                                                                                <div class="melis-cms-plugin-snippets <?= $newClass ?>"
                                                                                     data-module-name="<?= $moduleName; ?>"
                                                                                     data-plugin-name="<?= $plugin; ?>"
                                                                                     data-plugin-site-module="<?= $this->siteModule ?>"
                                                                                     title="<?php if (!empty($conf['description'])) {
                                                                                         echo $this->boTranslate(str_replace('\\', null, $conf['description']));
                                                                                     } ?>">
                                                                                    <img  src="<?= $thumbnail; ?>" width="195">
                                                                                    <?php if($isNew) {?>
                                                                                        <div class="melis-plugins-icon-new-sub-child ">
                                                                                            <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                                        </div>
                                                                                    <?php }?>
                                                                                    <span class="melis-cms-plugin-title"><?= $this->boTranslate($name); ?></span>
                                                                                </div>
                                                                            <?php } }
                                                                    }
                                                                }
                                                                ?>
                                                            </div>
                                                        <?php }?>
                                                        <?php
                                                    } else {
                                                        /*
                                                         * this is for module that has no subsections
                                                         */
                                                        $conf = $pluginConfig['melis'];
                                                        $thumbnail = $conf['thumbnail']  ?? "/MelisFront/plugins/images/default.jpg";
                                                        $name      = $conf['name'] ?? $pluginName;
                                                        $name      = str_replace('\\', null, $name);
                                                        $moduleTextDisplay = $conf['moduleName'];
                                                        $titleTextClass = '';
                                                        $isNew = $pluginConfig['isNew'] ?? false;
                                                        $newClass = '';
                                                        if ($isNew) {
                                                            $newClass = 'has-new-plugins';
                                                        }
                                                        ?>
                                                        <div class="melis-cms-plugin-snippets <?= $newClass ?>" data-module-name="<?= $moduleName; ?>" data-plugin-name="<?= $pluginName; ?>" data-plugin-site-module="<?= $this->siteModule ?>" title="<?php if (!empty($conf['description'])){ echo $this->boTranslate(str_replace('\\', null, $conf['description'])); } ?>">
                                                            <?php if ($moduleName!= "MelisMiniTemplate") { ?>
                                                                <img  src="<?= $thumbnail; ?>" alt="">
                                                            <?php }?>
                                                            <?php if($isNew) {?>
                                                                <div class="melis-plugins-icon-new-sub-child ">
                                                                    <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                </div>
                                                            <?php }?>
                                                            <span class="melis-cms-plugin-title"><?= $this->boTranslate($name); ?></span>
                                                        </div>
                                                    <?php } ?>
                                                <?php }
                                            }
                                            ?>
                                        </div>
                                    </div>
                                <?php else: ?>
                                    <?php
                                    // one special rule
                                    // if there's only one subsection then dont
                                    // rewrite the module name and just list plugins
                                    if (! empty($templatingPlugins)) : ?>
                                        <?php
                                        $hasSubsection = false;
                                        ?>
                                        <?php foreach ($templatingPlugins as $pluginName => $pluginConfig) : ?>
                                            <?php
                                            if ($pluginName == 'hasSubsection') {
                                                $hasSubsection = true;
                                            }
                                            if ($hasSubsection) : ?>
                                                <?php if ($pluginName != 'hasSubsection') : ?>
                                                    <?php
                                                    $subsectionTitle = $this->boTranslate($pluginConfig['title'] ?? null);
                                                    ?>
                                                    <span class="melis-cms-filter-btn-sub-category">
                                                        <?= $subsectionTitle; ?>
                                                        <?php if (in_array($pluginConfig['title'], $subsectionHasNewPlugins)) : ?>
                                                            <div class="melis-plugins-icon-new-sub-child">
                                                                <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                            </div>
                                                        <?php endif ?>
                                                        <i class="fa fa-angle-down"></i></span>
                                                    <div class="melis-cms-category-plugins-box-sub">
                                                        <?php if (! empty($pluginConfig) && is_array($pluginConfig)) : ?>
                                                            <?php foreach ($pluginConfig as $plugin => $config) : ?>
                                                                <?php
                                                                $conf = $config['melis'] ?? null;
                                                                $thumbnail = $conf['thumbnail'] ?? "/MelisFront/plugins/images/default.jpg";
                                                                $name = $conf['name'] ?? $pluginName;
                                                                $name = str_replace('\\',null,$name);
                                                                $subcategory = $conf['subcategory'] ?? null;
                                                                $subcategoryId = $subcategory['id'] ?? null;
                                                                $isNew = $config['isNew'] ?? false;
                                                                $newClass = '';
                                                                if ($isNew) {
                                                                    $newClass = 'has-new-plugins';
                                                                }
                                                                ?>
                                                                <?php if ($plugin != 'title') : ?>
                                                                    <div class="melis-cms-plugin-snippets <?= $newClass ?>"
                                                                         data-module-name="<?= $moduleName; ?>"
                                                                         data-plugin-name="<?= $plugin; ?>"
                                                                         data-plugin-site-module="<?= $this->siteModule ?>"
                                                                         title="<?php if (!empty($conf['description'])) {
                                                                             echo $this->boTranslate(str_replace('\\',null,$conf['description']));
                                                                         } ?>">
                                                                        <?php if ($moduleName!= "MelisMiniTemplate") : ?>
                                                                            <img  src="<?= $thumbnail; ?>" alt="">
                                                                        <?php endif ?>
                                                                        <?php if($isNew) : ?>
                                                                            <div class="melis-plugins-icon-new-sub-child ">
                                                                                <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                                            </div>
                                                                        <?php endif ?>
                                                                        <span class="melis-cms-plugin-title"><?= $this->boTranslate($name); ?></span>
                                                                    </div>
                                                                <?php endif ?>
                                                            <?php endforeach ?>
                                                        <?php endif ?>
                                                    </div>
                                                <?php endif ?>
                                            <?php else :
                                                // this is for plugins doesnt have subsection(s)
                                                $conf = $pluginConfig['melis'];
                                                $thumbnail = $conf['thumbnail']  ?? "/MelisFront/plugins/images/default.jpg";
                                                $name      = $conf['name'] ?? $pluginName;
                                                $name      = str_replace('\\',null,$name);
                                                $moduleTextDisplay = $conf['moduleName'];
                                                $isNew = $pluginConfig['isNew'] ?? false;
                                                $newClass = '';
                                                if ($isNew) {
                                                    $newClass = 'has-new-plugins';
                                                }
                                                ?>
                                                <div
                                                        class="melis-cms-plugin-snippets <?= $newClass ?>"
                                                        data-module-name="<?= $moduleName; ?>"
                                                        data-plugin-name="<?= $pluginName; ?>"
                                                        data-plugin-site-module="<?= $this->siteModule ?>"
                                                        title="<?php if (!empty($conf['description'])){ echo $this->boTranslate(str_replace('\\',null,$conf['description'])); } ?>"
                                                >
                                                    <?php if ($moduleName!= "MelisMiniTemplate") : ?>
                                                        <img  src="<?= $thumbnail; ?>" alt="">
                                                    <?php endif ?>
                                                    <?php if($isNew) : ?>
                                                        <div class="melis-plugins-icon-new-sub-child ">
                                                            <span class="melis-plugins-icon-new new-plugin-indicator">NEW!</span>
                                                        </div>
                                                    <?php endif ?>
                                                    <span class="melis-cms-plugin-title"><?= $this->boTranslate($name) ?></span>
                                                </div>
                                            <?php endif ?>
                                        <?php endforeach ?>
                                    <?php endif ?>
                                <?php endif ?>
                            <?php endforeach ?>
                        </div>
                    </div>
                <?php endif ?>
            <?php endforeach ?>
        </div>
    </div>
    <div id="melisPluginBtn">
        <?php if (!empty($sectionHasNewPlugins) ) : ?>
            <?php
            // latesplugin installed
            $latestPlugin = $this->latestPlugin;
            $latestPluginDatetime = $latestPlugin['latest_plugin_datetime'];
            $dateTimeElapse = date('Y-m-d h:i:s',strtotime("+" . $this->newPluginNotification . " days",strtotime($latestPluginDatetime)));
            $dateToday      = date('Y-m-d h:i:s');
            ?>
            <?php if ($dateToday < $dateTimeElapse) : ?>
                <span class="melis-templating-new-plugin">
                    <span class="new-plugin-indicator">NEW!</span>
                </span>
            <?php endif ?>
        <?php endif ?>
        <i class="fa fa-plug"></i>
    </div>
</div>
<!--  ======================= tinymce temp CSS ============================= -->
<link rel="stylesheet" href="/MelisCms/css/jquery-ui.css">
<link rel="stylesheet" href="/MelisCms/css/plugin-mini-menu.css">
<link rel="stylesheet" href="/MelisCms/css/dragndrop.css">
<link href="/assets/css/schemes.css" media="screen" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/MelisCms/js/dragndrop/jquery-ui.js"></script>
<script type="text/javascript" src="/MelisCms/js/dragndrop/jquery.ui.touch-punch.min.js"></script>
<script type="text/javascript" src="/MelisCms/js/plugins/plugin.sortable.js"></script>
<script type="text/javascript" src="/MelisCms/js/dragndrop/dragndrop.js"></script>
 |