PHPFusion\Atom\Atom::display_theme_widgets PHP Метод

display_theme_widgets() публичный Метод

Theme Widget Page
    public function display_theme_widgets()
    {
        global $locale;
        if (Admin::theme_widget_exists($this->theme_name)) {
            echo "<div class='m-t-20 m-b-20'>\n";
            require_once THEMES . $this->theme_name . "/theme_db.php";
            /**
             * Infuse Widget Action
             */
            if (isset($_POST['infuse_widget']) && fusion_get_settings('theme') == $_POST['infuse_widget'] && !dbcount("(settings_name)", DB_SETTINGS_THEME, "settings_theme='" . $this->theme_name . "'")) {
                if (isset($theme_newtable) && is_array($theme_newtable)) {
                    foreach ($theme_newtable as $item) {
                        $result = dbquery("CREATE TABLE " . $item);
                        if (!$result) {
                            \defender::stop();
                        }
                    }
                }
                // insertion ok
                if (isset($theme_insertdbrow) && is_array($theme_insertdbrow)) {
                    foreach ($theme_insertdbrow as $item) {
                        $result = dbquery("INSERT INTO " . $item);
                        if (!$result) {
                            \defender::stop();
                        }
                    }
                }
                $widgetData = array("settings_theme" => $this->theme_name, "settings_name" => $this->theme_name, "settings_value" => 1);
                dbquery_insert(DB_SETTINGS_THEME, $widgetData, "save");
                addNotice('success', sprintf($locale['theme_1019'], ucwords($this->theme_name)));
                redirect(FUSION_REQUEST);
            }
            /**
             * Defuse Widget Action
             */
            if (isset($_POST['defuse_widget']) && fusion_get_settings('theme') == $_POST['defuse_widget'] && dbcount("(settings_name)", DB_SETTINGS_THEME, "settings_theme='" . $this->theme_name . "'")) {
                if (isset($theme_droptable) && is_array($theme_droptable)) {
                    foreach ($theme_droptable as $item) {
                        $result = dbquery("DROP TABLE " . $item);
                        if (!$result) {
                            \defender::stop();
                        }
                    }
                }
                // row deletion ok
                if (isset($theme_deldbrow) && is_array($theme_deldbrow)) {
                    foreach ($theme_deldbrow as $item) {
                        $result = dbquery("DELETE FROM " . $item);
                        if (!$result) {
                            \defender::stop();
                        }
                    }
                }
                addNotice('success', sprintf($locale['theme_1019b'], ucwords($this->theme_name)));
                redirect(FUSION_REQUEST);
            }
            if ((isset($theme_newtable) || isset($theme_insertdbrow)) && !dbcount("(settings_name)", DB_SETTINGS_THEME, "settings_theme='" . $this->theme_name . "'")) {
                // show alert form
                $html = openform("widget_infuse", "post", FUSION_REQUEST);
                $html .= "<div>" . $locale['theme_1032'] . "</div>";
                $html .= form_button("infuse_widget", $locale['theme_1016'], $this->theme_name, array("class" => "btn-primary m-t-10"));
                $html .= closeform();
                echo alert("", $html);
            } else {
                $html = openform("widget_defuse", "post", FUSION_REQUEST, array("class" => "text-right"));
                $html .= form_button("defuse_widget", $locale['theme_1017'], $this->theme_name, array("class" => "btn-danger"));
                $html .= closeform();
                $html .= "<hr/>\n";
                add_to_jquery("\n\t\t\t\t\$('#defuse_widget').bind('click', function(e) {\n\t\t\t\t\tvar val = confirm('" . $locale['theme_1033'] . "');\n\t\t\t\t\tif (val == false) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t");
                echo $html;
                echo "<!---start widget form--->\n";
                include THEMES . $this->theme_name . "/widget.php";
                echo "<!---end widget form--->\n";
            }
            echo "</div>\n";
        } else {
            echo "<div class='m-t-20 well text-center'>" . $locale['theme_1031'] . "</div>\n";
        }
    }