Пример #1
0
function nc_widgetclass_export($widget_class_id)
{
    global $db, $nc_core;
    $select = "SELECT * from `Widget_Class`\n             WHERE `Widget_Class_ID` = '" . $widget_class_id . "'";
    if ($result = $db->get_results($select, ARRAY_A)) {
        $File_Mode = $result[0]['File_Mode'];
        if ($File_Mode) {
            $File_Path = $result[0]['File_Path'];
            $file_class = new nc_widget_editor($nc_core->WIDGET_TEMPLATE_FOLDER, $nc_core->db);
            $file_class->load($widget_class_id, $File_Path);
            $file_class->fill_fields();
            include $nc_core->DOCUMENT_ROOT . $nc_core->ADMIN_PATH . "tar.inc.php";
        }
        $fields = $db->get_results("SELECT `Field_Name`, `Description`, `TypeOfData_ID`, `Format`, `NotNull`, `Priority`, `DoSearch`, `DefaultState`, `Inheritance`, `Widget_Class_ID`, `TypeOfEdit_ID` from `Field`\n                                WHERE `Widget_Class_ID` = '" . $widget_class_id . "'", ARRAY_A);
        $ret = "<?xml version='1.0' encoding='utf-8'?>\n" . "<netcatml>\n" . "  <widgetclasses>\n" . "    <widgetclass>\n" . "      <ID>" . $widget_class_id . "</ID>\n" . "      <Name>" . to_uni($result[0]['Name']) . "</Name>\n" . "      <Keyword>" . $result[0]['Keyword'] . "</Keyword>\n" . "      <Description><![CDATA[" . to_uni(strip_new_line($result[0]['Description'])) . "]]></Description>\n" . "      <Category>" . to_uni($result[0]['Category']) . "</Category>\n" . "      <InDevelop>" . $result[0]['InDevelop'] . "</InDevelop>\n" . "      <Template><![CDATA[" . ($File_Mode ? '' : to_uni($result[0]['Template'])) . "]]></Template>\n" . "      <Settings><![CDATA[" . ($File_Mode ? '' : to_uni($result[0]['Settings'])) . "]]></Settings>\n" . "      <AddForm><![CDATA[" . ($File_Mode ? '' : to_uni($result[0]['AddForm'])) . "]]></AddForm>\n" . "      <EditForm><![CDATA[" . ($File_Mode ? '' : to_uni($result[0]['EditForm'])) . "]]></EditForm>\n" . "      <WidgetDisallow>" . $result[0]['WidgetDisallow'] . "</WidgetDisallow>\n" . "      <Update>" . $result[0]['Update'] . "</Update>\n" . "      <File_Mode>" . $result[0]['File_Mode'] . "</File_Mode>\n" . "    </widgetclass>\n" . "  </widgetclasses>\n" . "  <fields>\n";
        if (!empty($fields)) {
            foreach ($fields as $f) {
                $ret .= "    <field type_of_data_id='" . $f['TypeOfData_ID'] . "'>\n";
                $ret .= "      <Field_Name>" . $f['Field_Name'] . "</Field_Name>\n";
                $ret .= "      <Description><![CDATA[" . to_uni(strip_new_line($f['Description'])) . "]]></Description>\n";
                $ret .= "      <Format>" . $f['Format'] . "</Format>\n";
                $ret .= "      <NotNull>" . $f['NotNull'] . "</NotNull>\n";
                $ret .= "      <Priority>" . $f['Priority'] . "</Priority>\n";
                $ret .= "      <DoSearch>" . $f['DoSearch'] . "</DoSearch>\n";
                $ret .= "      <DefaultState>" . $f['DefaultState'] . "</DefaultState>\n";
                $ret .= "      <Inheritance>" . $f['Inheritance'] . "</Inheritance>\n";
                $ret .= "      <TypeOfEdit_ID>" . $f['TypeOfEdit_ID'] . "</TypeOfEdit_ID>\n";
                $ret .= "    </field>\n";
            }
        }
        $ret .= "  </fields>\n";
        if ($File_Mode) {
            $tmp_file_name = $nc_core->TMP_FOLDER . "netcat_widget_{$widget_class_id}.tgz";
            $dump_file = nc_tgz_create($tmp_file_name, $widget_class_id, $nc_core->HTTP_TEMPLATE_PATH . 'widget/');
            $tar_contents = file_get_contents($tmp_file_name);
            $ret .= "  <tar_data>" . base64_encode($tar_contents) . "\n  </tar_data>\n";
        }
        $ret .= "</netcatml>\n";
    }
    return $ret;
}
function return_input_text($string, $limit = false)
{
    $string = is_numeric($limit) ? substr($string, 0, $limit) : $string;
    $patterns = array('"', ">", "<");
    $substitutions = array("&quot;", "&gt;", "&lt;");
    //&rsquo;
    return double_escape(str_replace($patterns, $substitutions, strip_new_line(trim(stripslashes($string)))));
}