Exemplo n.º 1
0
 function nv_aleditor($textareaname, $width = "100%", $height = '450px', $val = '')
 {
     // Create class instance.
     $editortoolbar = array(array('Link', 'Unlink', 'Image', 'Table', 'Font', 'FontSize', 'RemoveFormat'), array('Bold', 'Italic', 'Underline', 'StrikeThrough', '-', 'Subscript', 'Superscript', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'OrderedList', 'UnorderedList', '-', 'Outdent', 'Indent', 'TextColor', 'BGColor', 'Source'));
     $CKEditor = new CKEditor();
     // Do not print the code directly to the browser, return it instead
     $CKEditor->returnOutput = true;
     $CKEditor->config['skin'] = 'v2';
     $CKEditor->config['entities'] = false;
     //$CKEditor->config['enterMode'] = 2;
     $CKEditor->config['language'] = NV_LANG_INTERFACE;
     $CKEditor->config['toolbar'] = $editortoolbar;
     // Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
     //   $CKEditor->basePath = '/ckeditor/'
     // If not set, CKEditor will try to detect the correct path.
     $CKEditor->basePath = NV_BASE_SITEURL . '' . NV_EDITORSDIR . '/ckeditor/';
     // Set global configuration (will be used by all instances of CKEditor).
     if (!empty($width)) {
         $CKEditor->config['width'] = strpos($width, '%') ? $width : intval($width);
     }
     if (!empty($height)) {
         $CKEditor->config['height'] = strpos($height, '%') ? $height : intval($height);
     }
     // Change default textarea attributes
     $CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10);
     $val = nv_unhtmlspecialchars($val);
     return $CKEditor->editor($textareaname, $val);
 }
Exemplo n.º 2
0
function nv_aleditor($textareaname, $width = "100%", $height = '450px', $val = '', $path = '', $currentpath = '')
{
    global $module_name, $admin_info, $client_info;
    if (empty($path) and empty($currentpath)) {
        $path = NV_UPLOADS_DIR;
        $currentpath = NV_UPLOADS_DIR;
        if (!empty($module_name) and file_exists(NV_UPLOADS_REAL_DIR . '/' . $module_name . '/' . date("Y_m"))) {
            $currentpath = NV_UPLOADS_DIR . '/' . $module_name . '/' . date("Y_m");
            $path = NV_UPLOADS_DIR . '/' . $module_name;
        } elseif (!empty($module_name) and file_exists(NV_UPLOADS_REAL_DIR . '/' . $module_name)) {
            $currentpath = NV_UPLOADS_DIR . '/' . $module_name;
        }
    }
    $CKEditor = new CKEditor();
    $CKEditor->returnOutput = true;
    if (preg_match("/^(Internet Explorer v([0-9])\\.([0-9]))+\$/", $client_info['browser']['name'], $m)) {
        $jwplayer = $m[2] < 8 ? false : true;
    } else {
        $jwplayer = true;
    }
    if ($jwplayer) {
        $CKEditor->config['extraPlugins'] = 'jwplayer';
        $editortoolbar = array(array('Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo', '-', 'Link', 'Unlink', 'Anchor', '-', 'Image', 'Flash', 'jwplayer', 'Table', 'Font', 'FontSize', 'RemoveFormat', 'Templates', 'Maximize'), array('Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv', '-', 'TextColor', 'BGColor', 'SpecialChar', 'Smiley', 'PageBreak', 'Source', 'About'));
    } else {
        $editortoolbar = array(array('Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo', '-', 'Link', 'Unlink', 'Anchor', '-', 'Image', 'Flash', 'Table', 'Font', 'FontSize', 'RemoveFormat', 'Templates', 'Maximize'), array('Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv', '-', 'TextColor', 'BGColor', 'SpecialChar', 'Smiley', 'PageBreak', 'Source', 'About'));
    }
    $CKEditor->config['skin'] = 'v2';
    $CKEditor->config['entities'] = false;
    $CKEditor->config['enterMode'] = 2;
    $CKEditor->config['language'] = NV_LANG_INTERFACE;
    $CKEditor->config['toolbar'] = $editortoolbar;
    $CKEditor->config['pasteFromWordRemoveFontStyles'] = true;
    $CKEditor->basePath = NV_BASE_SITEURL . '' . NV_EDITORSDIR . '/ckeditor/';
    if (!empty($width)) {
        $CKEditor->config['width'] = strpos($width, '%') ? $width : intval($width);
    }
    if (!empty($height)) {
        $CKEditor->config['height'] = strpos($height, '%') ? $height : intval($height);
    }
    $CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10);
    $CKEditor->config['filebrowserBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&popup=1&path=" . $path . "&currentpath=" . $currentpath;
    $CKEditor->config['filebrowserImageBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&popup=1&type=image&path=" . $path . "&currentpath=" . $currentpath;
    $CKEditor->config['filebrowserFlashBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&popup=1&type=flash&path=" . $path . "&currentpath=" . $currentpath;
    if (!empty($admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&" . NV_OP_VARIABLE . "=quickupload&currentpath=" . $currentpath;
    }
    if (in_array('images', $admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserImageUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&" . NV_OP_VARIABLE . "=quickupload&type=image&currentpath=" . $currentpath;
    }
    if (in_array('flash', $admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserFlashUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&" . NV_OP_VARIABLE . "=quickupload&type=flash&currentpath=" . $currentpath;
    }
    $val = nv_unhtmlspecialchars($val);
    return $CKEditor->editor($textareaname, $val);
}
Exemplo n.º 3
0
/**
 * BoldKeywordInStr()
 * 
 * @param mixed $str
 * @param mixed $keyword
 * @return
 */
function BoldKeywordInStr($str, $keyword, $logic)
{
    global $db;
    $str = nv_br2nl($str);
    $str = nv_nl2br($str, " ");
    $str = nv_unhtmlspecialchars(strip_tags(trim($str)));
    $str = $db->unfixdb($str);
    $pos = false;
    if ($logic == 'AND') {
        $array_keyword = array($keyword, nv_EncString($keyword));
    } else {
        $keyword .= " " . nv_EncString($keyword);
        $array_keyword = explode(" ", $keyword);
        $array_keyword = array_unique($array_keyword);
    }
    foreach ($array_keyword as $k) {
        unset($matches);
        if (preg_match("/^(.*?)" . preg_quote($k) . "/uis", $str, $matches)) {
            $strlen = nv_strlen($str);
            $kstrlen = nv_strlen($k);
            $residual = $strlen - 300;
            if ($residual > 0) {
                $lstrlen = nv_strlen($matches[1]);
                $rstrlen = $strlen - $lstrlen - $kstrlen;
                $medium = round((300 - $kstrlen) / 2);
                if ($lstrlen <= $medium) {
                    $str = nv_clean60($str, 300);
                } elseif ($rstrlen <= $medium) {
                    $str = nv_substr($str, $residual, 300);
                    $str = nv_substr_clean($str, 'l');
                } else {
                    $str = nv_substr($str, $lstrlen - $medium, $strlen - $lstrlen + $medium);
                    $str = nv_substr($str, 0, 300);
                    $str = nv_substr_clean($str, 'lr');
                }
            }
            $pos = true;
            break;
        }
    }
    if (!$pos) {
        return nv_clean60($str, 300);
    }
    $pattern = array();
    foreach ($array_keyword as $k) {
        $pattern[] = "/(" . preg_quote($k) . ")/uis";
    }
    $str = preg_replace($pattern, "{\\1}", $str);
    $str = str_replace(array("{", "}"), array("<span class=\"keyword\">", "</span>"), $str);
    return $str;
}
Exemplo n.º 4
0
/**
 * nv_aleditor()
 * 
 * @param mixed $textareaname
 * @param string $width
 * @param string $height
 * @param string $val
 * @return
 */
function nv_aleditor($textareaname, $width = "100%", $height = '450px', $val = '')
{
    global $module_name, $admin_info;
    $currentpath = NV_UPLOADS_DIR;
    $path = NV_UPLOADS_DIR;
    if (!empty($module_name) and file_exists(NV_UPLOADS_REAL_DIR . '/' . $module_name . '/' . date("Y_m"))) {
        $currentpath = NV_UPLOADS_DIR . '/' . $module_name . '/' . date("Y_m");
        $path = NV_UPLOADS_DIR . '/' . $module_name;
    } elseif (!empty($module_name) and file_exists(NV_UPLOADS_REAL_DIR . '/' . $module_name)) {
        $currentpath = NV_UPLOADS_DIR . '/' . $module_name;
    }
    // Create class instance.
    $editortoolbar = array(array('Cut', 'Copy', 'Paste', 'PasteText', 'PasteWord', '-', 'Undo', 'Redo', '-', 'Link', 'Unlink', 'Anchor', '-', 'Image', 'Flash', 'Table', 'Font', 'FontSize', 'RemoveFormat', 'Templates', 'Maximize'), array('Bold', 'Italic', 'Underline', 'StrikeThrough', '-', 'Subscript', 'Superscript', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'OrderedList', 'UnorderedList', '-', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv', '-', 'TextColor', 'BGColor', 'SpecialChar', 'Smiley', 'PageBreak', 'Source', 'About'));
    $CKEditor = new CKEditor();
    // Do not print the code directly to the browser, return it instead
    $CKEditor->returnOutput = true;
    $CKEditor->config['skin'] = 'kama';
    $CKEditor->config['entities'] = false;
    //$CKEditor->config['enterMode'] = 2;
    $CKEditor->config['language'] = NV_LANG_INTERFACE;
    $CKEditor->config['toolbar'] = $editortoolbar;
    // Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
    //   $CKEditor->basePath = '/ckeditor/'
    // If not set, CKEditor will try to detect the correct path.
    $CKEditor->basePath = NV_BASE_SITEURL . '' . NV_EDITORSDIR . '/ckeditor/';
    // Set global configuration (will be used by all instances of CKEditor).
    if (!empty($width)) {
        $CKEditor->config['width'] = strpos($width, '%') ? $width : intval($width);
    }
    if (!empty($height)) {
        $CKEditor->config['height'] = strpos($height, '%') ? $height : intval($height);
    }
    // Change default textarea attributes
    $CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10);
    $CKEditor->config['filebrowserBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&popup=1&path=" . $path . "&currentpath=" . $currentpath;
    $CKEditor->config['filebrowserImageBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&popup=1&type=image&path=" . $path . "&currentpath=" . $currentpath;
    $CKEditor->config['filebrowserFlashBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&popup=1&type=flash&path=" . $path . "&currentpath=" . $currentpath;
    if (!empty($admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&" . NV_OP_VARIABLE . "=quickupload&currentpath=" . $currentpath;
    }
    if (in_array('images', $admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserImageUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&" . NV_OP_VARIABLE . "=quickupload&type=image&currentpath=" . $currentpath;
    }
    if (in_array('flash', $admin_info['allow_files_type'])) {
        $CKEditor->config['filebrowserFlashUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&" . NV_OP_VARIABLE . "=quickupload&type=flash&currentpath=" . $currentpath;
    }
    $val = nv_unhtmlspecialchars($val);
    return $CKEditor->editor($textareaname, $val);
}
Exemplo n.º 5
0
/**
 * BoldKeywordInStr()
 *
 * @param mixed $str
 * @param mixed $keyword
 * @return
 */
function BoldKeywordInStr($str, $keyword, $logic)
{
    $str = nv_br2nl($str);
    $str = nv_nl2br($str, ' ');
    $str = nv_unhtmlspecialchars(strip_tags(trim($str)));
    $pos = false;
    if ($logic == 'AND') {
        $array_keyword = array($keyword, nv_EncString($keyword));
    } else {
        $keyword .= ' ' . nv_EncString($keyword);
        $array_keyword = explode(' ', $keyword);
        $array_keyword = array_unique($array_keyword);
    }
    foreach ($array_keyword as $k) {
        if (preg_match('/^(.*?)' . nv_preg_quote($k) . '/uis', $str, $matches)) {
            $strlen = nv_strlen($str);
            $kstrlen = nv_strlen($k);
            $residual = $strlen - 300;
            if ($residual > 0) {
                $lstrlen = nv_strlen($matches[1]);
                $rstrlen = $strlen - $lstrlen - $kstrlen;
                $medium = round((300 - $kstrlen) / 2);
                if ($lstrlen <= $medium) {
                    $str = nv_clean60($str, 300);
                } elseif ($rstrlen <= $medium) {
                    $str = nv_substr($str, $residual, 300);
                    $str = nv_substr_clean($str, 'l');
                } else {
                    $str = nv_substr($str, $lstrlen - $medium, $strlen - $lstrlen + $medium);
                    $str = nv_substr($str, 0, 300);
                    $str = nv_substr_clean($str, 'lr');
                }
            }
            $pos = true;
            break;
        }
    }
    if (!$pos) {
        return nv_clean60($str, 300);
    }
    $pattern = array();
    foreach ($array_keyword as $k) {
        $pattern[] = '/(' . nv_preg_quote($k) . ')/uis';
    }
    $str = preg_replace($pattern, '{\\1}', $str);
    $str = str_replace(array('{', '}'), array('<span class="keyword">', '</span>'), $str);
    return $str;
}
Exemplo n.º 6
0
function nv_write_lang_mod_admin($mod, $lang, $arr_new_lang)
{
    global $funname;
    if (!empty($arr_new_lang)) {
        if (file_exists(NV_ROOTDIR . '/modules/' . $mod . '/language/admin_' . $lang . '.php')) {
            $content_lang = file_get_contents(NV_ROOTDIR . '/modules/' . $mod . '/language/admin_' . $lang . '.php');
            $content_lang = trim($content_lang);
            $content_lang = rtrim($content_lang, '?>');
        } else {
            $content_lang = "<?php\n\n";
            $content_lang .= "/**\n";
            $content_lang .= "* @Project NUKEVIET 4.x\n";
            $content_lang .= "* @Author VINADES.,JSC (contact@vinades.vn)\n";
            $content_lang .= "* @Copyright (C) " . date("Y") . " VINADES.,JSC. All rights reserved\n";
            $content_lang .= "* @Language " . $language_array[$dirlang]['name'] . "\n";
            $content_lang .= "* @License CC BY-SA (http://creativecommons.org/licenses/by-sa/4.0/)\n";
            $content_lang .= "* @Createdate " . gmdate("M d, Y, h:i:s A", time()) . "\n";
            $content_lang .= "*/\n";
            $content_lang .= "\nif( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) )";
            $content_lang .= " die( 'Stop!!!' );\n\n";
            $array_translator['info'] = isset($array_translator['info']) ? $array_translator['info'] : "";
            $content_lang .= "\$lang_translator['author'] = 'VINADES.,JSC (contact@vinades.vn)';\n";
            $content_lang .= "\$lang_translator['createdate'] = '" . date('d/m/Y, H:i') . "';\n";
            $content_lang .= "\$lang_translator['copyright'] = 'Copyright (C) ' . date( 'Y' ) . ' VINADES.,JSC. All rights reserved';\n";
            $content_lang .= "\$lang_translator['info'] = '';\n";
            $content_lang .= "\$lang_translator['langtype'] = 'lang_module';\n";
            $content_lang .= "\n";
        }
        $content_lang .= "\n\n//Lang for function " . $funname . "\n";
        foreach ($arr_new_lang as $lang_key => $lang_value) {
            $lang_value = nv_unhtmlspecialchars($lang_value);
            $lang_value = str_replace("\\'", "'", $lang_value);
            $lang_value = str_replace("'", "\\'", $lang_value);
            $lang_value = nv_nl2br($lang_value);
            $lang_value = str_replace('<br />', '<br />', $lang_value);
            $content_lang .= "\$lang_module['" . $lang_key . "'] = '" . $lang_value . "';\n";
        }
        if (!is_writable(NV_ROOTDIR . '/modules/' . $mod . '/language/admin_' . $lang . '.php')) {
            if (substr($sys_info['os'], 0, 3) != 'WIN') {
                chmod(NV_ROOTDIR . '/modules/' . $mod . '/language/admin_' . $lang . '.php', 0777);
            }
        }
        file_put_contents(NV_ROOTDIR . '/modules/' . $mod . '/language/admin_' . $lang . '.php', $content_lang, LOCK_EX);
    }
}
Exemplo n.º 7
0
             die('ERROR|' . (empty($ftp->error) ? $lang_module['ftp_error_detect_root'] : (string) $ftp->error));
         }
         $ftp->close();
         die('OK|' . $ftp_root);
     }
     $ftp->close();
     die('ERROR|' . $lang_module['ftp_error_detect_root']);
 }
 if ($nv_Request->isset_request('ftp_server', 'post')) {
     $array_config['ftp_check_login'] = 0;
     if (!empty($array_config['ftp_server']) and !empty($array_config['ftp_user_name']) and !empty($array_config['ftp_user_pass'])) {
         $ftp_server = nv_unhtmlspecialchars($array_config['ftp_server']);
         $ftp_port = intval($array_config['ftp_port']);
         $ftp_user_name = nv_unhtmlspecialchars($array_config['ftp_user_name']);
         $ftp_user_pass = nv_unhtmlspecialchars($array_config['ftp_user_pass']);
         $ftp_path = nv_unhtmlspecialchars($array_config['ftp_path']);
         if (!defined('NV_FTP_CLASS')) {
             require NV_ROOTDIR . '/includes/class/ftp.class.php';
         }
         $ftp = new NVftp($ftp_server, $ftp_user_name, $ftp_user_pass, array('timeout' => 10), $ftp_port);
         if (!empty($ftp->error)) {
             $array_config['ftp_check_login'] = 3;
             $error = (string) $ftp->error;
         } elseif ($ftp->chdir($ftp_path) === false) {
             $array_config['ftp_check_login'] = 2;
             $error = $lang_global['ftp_error_path'];
         } else {
             $check_files = array(NV_CACHEDIR, NV_DATADIR, "images", "includes", "index.php", "js", "language", NV_LOGS_DIR, "mainfile.php", "modules", NV_SESSION_SAVE_PATH, "themes", NV_TEMP_DIR, NV_UPLOADS_DIR);
             $list_files = $ftp->listDetail($ftp_path, 'all');
             $a = 0;
             if (!empty($list_files)) {
Exemplo n.º 8
0
/**
 * nv_save_file_config_global()
 *
 * @return
 */
function nv_save_file_config_global()
{
    global $db, $sys_info, $global_config, $db_config;
    if ($global_config['idsite']) {
        return false;
    }
    $content_config = "<?php" . "\n\n";
    $content_config .= NV_FILEHEAD . "\n\n";
    $content_config .= "if ( ! defined( 'NV_MAINFILE' ) ) die( 'Stop!!!' );\n\n";
    //disable_classes
    $sys_info['disable_classes'] = (($disable_classes = ini_get('disable_classes')) != '' and $disable_classes != false) ? array_map('trim', preg_split("/[\\s,]+/", $disable_classes)) : array();
    if (!empty($sys_info['disable_classes'])) {
        $disable_classes = "'" . implode("','", $sys_info['disable_classes']) . "'";
    } else {
        $disable_classes = '';
    }
    $content_config .= "\$sys_info['disable_classes']=array(" . $disable_classes . ");\n";
    //disable_functions
    $sys_info['disable_functions'] = (($disable_functions = ini_get('disable_functions')) != '' and $disable_functions != false) ? array_map('trim', preg_split("/[\\s,]+/", $disable_functions)) : array();
    if (extension_loaded('suhosin')) {
        $sys_info['disable_functions'] = array_merge($sys_info['disable_functions'], array_map('trim', preg_split("/[\\s,]+/", ini_get('suhosin.executor.func.blacklist'))));
    }
    if (!empty($sys_info['disable_functions'])) {
        $disable_functions = "'" . implode("','", $sys_info['disable_functions']) . "'";
    } else {
        $disable_functions = '';
    }
    $content_config .= "\$sys_info['disable_functions']=array(" . $disable_functions . ");\n";
    //ini_set_support
    $sys_info['ini_set_support'] = (function_exists('ini_set') and !in_array('ini_set', $sys_info['disable_functions'])) ? true : false;
    $ini_set_support = $sys_info['ini_set_support'] ? 'true' : 'false';
    $content_config .= "\$sys_info['ini_set_support']= " . $ini_set_support . ";\n";
    //Kiem tra ho tro rewrite
    if (function_exists('apache_get_modules')) {
        $apache_modules = apache_get_modules();
        if (in_array('mod_rewrite', $apache_modules)) {
            $sys_info['supports_rewrite'] = 'rewrite_mode_apache';
        } else {
            $sys_info['supports_rewrite'] = false;
        }
    } elseif (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false) {
        if (isset($_SERVER['IIS_UrlRewriteModule']) and class_exists('DOMDocument')) {
            $sys_info['supports_rewrite'] = 'rewrite_mode_iis';
        } else {
            $sys_info['supports_rewrite'] = false;
        }
    }
    if ($sys_info['supports_rewrite'] == 'rewrite_mode_iis' or $sys_info['supports_rewrite'] == 'rewrite_mode_apache') {
        $content_config .= "\$sys_info['supports_rewrite']='" . $sys_info['supports_rewrite'] . "';\n";
    } else {
        $content_config .= "\$sys_info['supports_rewrite']=false;\n";
    }
    $content_config .= "\n";
    $config_variable = array();
    $allowed_html_tags = '';
    $sql = "SELECT module, config_name, config_value FROM " . NV_CONFIG_GLOBALTABLE . " WHERE lang='sys' AND (module='global' OR module='define') ORDER BY config_name ASC";
    $result = $db->query($sql);
    while (list($c_module, $c_config_name, $c_config_value) = $result->fetch(3)) {
        if ($c_module == 'define') {
            if (preg_match('/^\\d+$/', $c_config_value)) {
                $content_config .= "define('" . strtoupper($c_config_name) . "', " . $c_config_value . ");\n";
            } else {
                $content_config .= "define('" . strtoupper($c_config_name) . "', '" . $c_config_value . "');\n";
            }
            if ($c_config_name == 'nv_allowed_html_tags') {
                $allowed_html_tags = $c_config_value;
            }
        } else {
            $config_variable[$c_config_name] = $c_config_value;
        }
    }
    $nv_eol = strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '"\\r\\n"' : (strtoupper(substr(PHP_OS, 0, 3) == 'MAC') ? '"\\r"' : '"\\n"');
    $upload_max_filesize = min(nv_converttoBytes(ini_get('upload_max_filesize')), nv_converttoBytes(ini_get('post_max_size')), $config_variable['nv_max_size']);
    $content_config .= "define('NV_EOL', " . $nv_eol . ");\n";
    $content_config .= "define('NV_UPLOAD_MAX_FILESIZE', " . floatval($upload_max_filesize) . ");\n";
    if ($config_variable['openid_mode']) {
        $content_config .= "define('NV_OPENID_ALLOWED', true);\n\n";
    }
    $my_domains = array_map('trim', explode(',', $config_variable['my_domains']));
    $my_domains[] = NV_SERVER_NAME;
    $config_variable['my_domains'] = implode(',', array_unique($my_domains));
    $config_variable['check_rewrite_file'] = nv_check_rewrite_file();
    $config_variable['allow_request_mods'] = NV_ALLOW_REQUEST_MODS != '' ? NV_ALLOW_REQUEST_MODS : "request";
    $config_variable['request_default_mode'] = NV_REQUEST_DEFAULT_MODE != '' ? trim(NV_REQUEST_DEFAULT_MODE) : 'request';
    $config_variable['session_save_path'] = NV_SESSION_SAVE_PATH;
    $config_variable['log_errors_list'] = NV_LOG_ERRORS_LIST;
    $config_variable['display_errors_list'] = NV_DISPLAY_ERRORS_LIST;
    $config_variable['send_errors_list'] = NV_SEND_ERRORS_LIST;
    $config_variable['error_log_path'] = NV_LOGS_DIR . '/error_logs';
    $config_variable['error_log_filename'] = NV_ERRORLOGS_FILENAME;
    $config_variable['error_log_fileext'] = NV_LOGS_EXT;
    $config_variable['error_send_email'] = $config_variable['error_send_email'];
    $config_name_array = array('file_allowed_ext', 'forbid_extensions', 'forbid_mimes', 'allow_sitelangs', 'openid_servers', 'allow_request_mods', 'config_sso');
    if (empty($config_variable['openid_servers'])) {
        $config_variable['openid_mode'] = 0;
    }
    if ($config_variable['is_user_forum']) {
        $forum_files = @scandir(NV_ROOTDIR . '/' . DIR_FORUM . '/nukeviet');
        if (!empty($forum_files) and in_array('is_user.php', $forum_files) and in_array('changepass.php', $forum_files) and in_array('editinfo.php', $forum_files) and in_array('login.php', $forum_files) and in_array('logout.php', $forum_files) and in_array('lostpass.php', $forum_files) and in_array('register.php', $forum_files)) {
            $content_config .= "define( 'NV_IS_USER_FORUM', true );\n\n";
        } else {
            $config_variable['is_user_forum'] = 0;
        }
    }
    foreach ($config_variable as $c_config_name => $c_config_value) {
        if ($c_config_name == 'config_sso') {
            $config_sso = empty($c_config_value) ? '' : nv_var_export(unserialize($c_config_value));
            $content_config .= "\$global_config['" . $c_config_name . "']=" . $config_sso . ";\n";
        } elseif (in_array($c_config_name, $config_name_array)) {
            if (!empty($c_config_value)) {
                $c_config_value = "'" . implode("','", array_map("trim", explode(',', $c_config_value))) . "'";
            } else {
                $c_config_value = '';
            }
            $content_config .= "\$global_config['" . $c_config_name . "']=array(" . $c_config_value . ");\n";
        } else {
            if (preg_match('/^\\d+$/', $c_config_value) and $c_config_name != 'facebook_client_id') {
                $content_config .= "\$global_config['" . $c_config_name . "']=" . $c_config_value . ";\n";
            } else {
                $c_config_value = nv_unhtmlspecialchars($c_config_value);
                if (!preg_match("/^[a-z0-9\\-\\_\\.\\,\\;\\:\\@\\/\\s]+\$/i", $c_config_value) and $c_config_name != 'my_domains') {
                    $c_config_value = nv_htmlspecialchars($c_config_value);
                }
                $content_config .= "\$global_config['" . $c_config_name . "']='" . $c_config_value . "';\n";
            }
        }
    }
    $content_config .= "\$global_config['array_theme_type']=" . nv_var_export(array_filter(array_map('trim', explode(',', NV_THEME_TYPE)))) . ";\n";
    //allowed_html_tags
    if (!empty($allowed_html_tags)) {
        $allowed_html_tags = "'" . implode("','", array_map('trim', explode(',', $allowed_html_tags))) . "'";
    } else {
        $allowed_html_tags = '';
    }
    $content_config .= "\$global_config['allowed_html_tags']=array(" . $allowed_html_tags . ");\n";
    //Xac dinh cac search_engine
    $engine_allowed = file_exists(NV_ROOTDIR . '/' . NV_DATADIR . '/search_engine.xml') ? nv_object2array(simplexml_load_file(NV_ROOTDIR . '/' . NV_DATADIR . '/search_engine.xml')) : array();
    $content_config .= "\$global_config['engine_allowed']=" . nv_var_export($engine_allowed) . ";\n";
    $content_config .= "\n";
    $language_array = nv_parse_ini_file(NV_ROOTDIR . '/includes/ini/langs.ini', true);
    $tmp_array = array();
    $lang_array_exit = nv_scandir(NV_ROOTDIR . "/language", "/^[a-z]{2}+\$/");
    foreach ($lang_array_exit as $lang) {
        $tmp_array[$lang] = $language_array[$lang];
    }
    unset($language_array);
    $content_config .= "\$language_array=" . nv_var_export($tmp_array) . ";\n";
    $tmp_array = nv_parse_ini_file(NV_ROOTDIR . '/includes/ini/br.ini', true);
    $content_config .= "\$nv_parse_ini_browsers=" . nv_var_export($tmp_array) . ";\n";
    $tmp_array = nv_parse_ini_file(NV_ROOTDIR . '/includes/ini/mobile.ini', true);
    $content_config .= "\$nv_parse_ini_mobile=" . nv_var_export($tmp_array) . ";\n";
    $tmp_array = nv_parse_ini_file(NV_ROOTDIR . '/includes/ini/os.ini', true);
    $content_config .= "\$nv_parse_ini_os=" . nv_var_export($tmp_array) . ";\n";
    $tmp_array = nv_parse_ini_file(NV_ROOTDIR . '/includes/ini/timezone.ini', true);
    $content_config .= "\$nv_parse_ini_timezone=" . nv_var_export($tmp_array) . ";\n";
    $rewrite = array();
    $global_config['rewrite_optional'] = $config_variable['rewrite_optional'];
    $global_config['rewrite_op_mod'] = $config_variable['rewrite_op_mod'];
    $global_config['rewrite_endurl'] = $config_variable['rewrite_endurl'];
    $global_config['rewrite_exturl'] = $config_variable['rewrite_exturl'];
    if ($config_variable['check_rewrite_file']) {
        require NV_ROOTDIR . '/includes/rewrite.php';
    } else {
        require NV_ROOTDIR . '/includes/rewrite_index.php';
    }
    $content_config .= "\n";
    $nv_plugin_area = array();
    $_sql = 'SELECT * FROM ' . $db_config['prefix'] . '_plugin ORDER BY plugin_area ASC, weight ASC';
    $_query = $db->query($_sql);
    while ($row = $_query->fetch()) {
        $nv_plugin_area[$row['plugin_area']][] = $row['plugin_file'];
    }
    $content_config .= "\$nv_plugin_area=" . nv_var_export($nv_plugin_area) . ";\n\n";
    $content_config .= "\$rewrite_keys=" . nv_var_export(array_keys($rewrite)) . ";\n";
    $content_config .= "\$rewrite_values=" . nv_var_export(array_values($rewrite)) . ";\n";
    $return = file_put_contents(NV_ROOTDIR . "/" . NV_DATADIR . "/config_global.php", trim($content_config), LOCK_EX);
    nv_delete_all_cache();
    return $return;
}
Exemplo n.º 9
0
            $in_groups = array_intersect($in_groups, array_keys($groups_list));
            $in_groups_hiden = array_diff($array_old_groups, array_keys($groups_list));
            $in_groups = array_unique(array_merge($in_groups, $in_groups_hiden));
            $in_groups_del = array_diff($array_old_groups, $in_groups);
            if (!empty($in_groups_del)) {
                foreach ($in_groups_del as $gid) {
                    nv_groups_del_user($gid, $userid);
                }
            }
            $in_groups_add = array_diff($in_groups, $array_old_groups);
            if (!empty($in_groups_add)) {
                foreach ($in_groups_add as $gid) {
                    nv_groups_add_user($gid, $userid);
                }
            }
            $db->query("UPDATE " . NV_USERS_GLOBALTABLE . " SET\n\t\t\t\tusername="******",\n\t\t\t\tmd5username='******'username']) . "',\n\t\t\t\tpassword="******",\n\t\t\t\temail=" . $db->quote($_user['email']) . ",\n\t\t\t\tfirst_name=" . $db->quote($_user['first_name']) . ",\n\t\t\t\tlast_name=" . $db->quote($_user['last_name']) . ",\n\t\t\t\tgender=" . $db->quote($_user['gender']) . ",\n\t\t\t\tphoto=" . $db->quote(nv_unhtmlspecialchars($_user['photo'])) . ",\n\t\t\t\tbirthday=" . $_user['birthday'] . ",\n\t\t\t\tsig=" . $db->quote($_user['sig']) . ",\n\t\t\t\tquestion=" . $db->quote($_user['question']) . ",\n\t\t\t\tanswer=" . $db->quote($_user['answer']) . ",\n\t\t\t\tview_mail=" . $_user['view_mail'] . ",\n\t\t\t\tin_groups='" . implode(',', $in_groups) . "'\n\t\t\t\tWHERE userid=" . $userid);
            if (!empty($array_field_config)) {
                $db->query('UPDATE ' . NV_USERS_GLOBALTABLE . '_info SET ' . implode(', ', $query_field) . ' WHERE userid=' . $userid);
            }
            nv_insert_logs(NV_LANG_DATA, $module_name, 'log_edit_user', 'userid ' . $userid, $admin_info['userid']);
            Header('Location: ' . NV_BASE_ADMINURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&' . NV_NAME_VARIABLE . '=' . $module_name);
            exit;
        }
    }
} else {
    $_user = $row;
    $_user['password1'] = $_user['password2'] = '';
    $_user['birthday'] = !empty($_user['birthday']) ? date('d/m/Y', $_user['birthday']) : '';
    $_user['in_groups'] = $array_old_groups;
    if (!empty($_user['sig'])) {
        $_user['sig'] = nv_br2nl($_user['sig']);
Exemplo n.º 10
0
    include NV_ROOTDIR . '/includes/footer.php';
}
$error = '';
$savecat = 0;
$incomplete = $nv_Request->get_bool('incomplete', 'get,post', false);
list($tid, $title, $alias, $description, $image, $keywords) = array(0, '', '', '', '', '');
$currentpath = NV_UPLOADS_DIR . '/' . $module_upload;
$savecat = $nv_Request->get_int('savecat', 'post', 0);
if (!empty($savecat)) {
    $tid = $nv_Request->get_int('tid', 'post', 0);
    $keywords = $nv_Request->get_title('keywords', 'post', '');
    $alias = $nv_Request->get_title('alias', 'post', '');
    $description = $nv_Request->get_string('description', 'post', '');
    $description = nv_nl2br(nv_htmlspecialchars(strip_tags($description)), '<br />');
    $alias = str_replace('&', ' ', $alias);
    $alias = str_replace('-', ' ', nv_unhtmlspecialchars($alias));
    $keywords = explode(',', $keywords);
    $keywords[] = $alias;
    $keywords = array_map('strip_punctuation', $keywords);
    $keywords = array_map('trim', $keywords);
    $keywords = array_diff($keywords, array(''));
    $keywords = array_unique($keywords);
    $keywords = implode(',', $keywords);
    $alias = str_replace(' ', '-', strip_punctuation($alias));
    $image = $nv_Request->get_string('image', 'post', '');
    if (nv_is_file($image, NV_UPLOADS_DIR . '/' . $module_upload)) {
        $lu = strlen(NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' . $module_upload . '/');
        $image = substr($image, $lu);
    } else {
        $image = '';
    }
Exemplo n.º 11
0
function change($text)
{
    $text = nv_unhtmlspecialchars(trim(nv_convert(strip_tags($text))));
    $text = str_replace(array('"', '>', '<', '´', '`'), array('&quot;', '&gt;', '&lt;', '&#180;', '&#96;'), $text);
    //if($strip==1)
    //{
    //$text = strip_tags($text);
    //}
    return $text;
}
Exemplo n.º 12
0
/**
 * nv_clean60()
 *
 * @param mixed $string
 * @param integer $num
 * @return
 */
function nv_clean60($string, $num = 60, $specialchars = false)
{
    global $global_config;
    $string = nv_unhtmlspecialchars($string);
    $len = nv_strlen($string);
    if ($num and $num < $len) {
        if (ord(nv_substr($string, $num, 1)) == 32) {
            $string = nv_substr($string, 0, $num) . '...';
        } elseif (strpos($string, ' ') === false) {
            $string = nv_substr($string, 0, $num);
        } else {
            $string = nv_clean60($string, $num - 1);
        }
    }
    if ($specialchars) {
        $string = nv_htmlspecialchars($string);
    }
    return $string;
}
Exemplo n.º 13
0
    $mods = $array_modul;
    $limit = 3;
    $is_generate_page = false;
}
$key = filter_text_input('search_query', 'get', '', 0, NV_MAX_SEARCH_LENGTH);
$len_key = 0;
$logic = filter_text_input('logic', 'get', 'OR');
if ($logic != 'AND') {
    $logic = 'OR';
}
$checkss = filter_text_input('search_ss', 'get', '', 1, 32);
$ss = md5($client_info['session_id'] . $global_config['sitekey']);
if (!preg_match("/^[a-z0-9]{32}\$/", $checkss) or $checkss != $ss) {
    $key = "";
} else {
    $key = nv_unhtmlspecialchars($key);
    if ($logic == 'OR') {
        $key = preg_replace(array("/^([\\S]{1})\\s/uis", "/\\s([\\S]{1})\\s/uis", "/\\s([\\S]{1})\$/uis"), " ", $key);
    }
    $key = strip_punctuation($key);
    $key = trim($key);
    $len_key = nv_strlen($key);
    $key = nv_htmlspecialchars($key);
}
if ($len_key < NV_MIN_SEARCH_LENGTH) {
    die('&nbsp;&nbsp;');
}
$pages = $nv_Request->get_int('page', 'get', 0);
$contents = "";
$ss = md5($client_info['session_id'] . $global_config['sitekey']);
foreach ($mods as $m_name => $m_values) {
Exemplo n.º 14
0
 $content_lang .= "\$lang_translator['author'] = 'VINADES.,JSC (contact@vinades.vn)';\n";
 $content_lang .= "\$lang_translator['createdate'] = '" . gmdate("d/m/Y, H:i") . "';\n";
 $content_lang .= "\$lang_translator['copyright'] = '@Copyright (C) " . gmdate("Y") . " VINADES.,JSC. All rights reserved';\n";
 $content_lang .= "\$lang_translator['info'] = '';\n";
 $content_lang .= "\$lang_translator['langtype'] = 'lang_module';\n\n";
 $content_langvi = $content_lang;
 $is_search = false;
 foreach ($data_site as $data_i) {
     $array_modfuncs[] = $data_i['file'];
     $lang_value = nv_unhtmlspecialchars($data_i['title']);
     $lang_value = str_replace('$', '\\$', $lang_value);
     $lang_value = str_replace("'", "\\'", $lang_value);
     $lang_value = nv_nl2br($lang_value);
     $lang_value = str_replace('<br  />', '<br />', $lang_value);
     $content_lang .= "\$lang_module['" . $data_i['file'] . "'] = \"" . $lang_value . "\";\n";
     $lang_value = nv_unhtmlspecialchars($data_i['titlevi']);
     $lang_value = str_replace('$', '\\$', $lang_value);
     $lang_value = str_replace("'", "\\'", $lang_value);
     $lang_value = nv_nl2br($lang_value);
     $lang_value = str_replace('<br  />', '<br />', $lang_value);
     $content_langvi .= "\$lang_module['" . $data_i['file'] . "'] = '" . $lang_value . "';\n";
     $content = "<?php\n\n";
     $content .= NV_FILEHEAD . "\n\n";
     $content .= "if ( ! defined( 'NV_IS_MOD_" . strtoupper($data_system['module_data']) . "' ) ) die( 'Stop!!!' );\n\n";
     $content .= "\$page_title = \$module_info['custom_title'];\n";
     $content .= "\$key_words = \$module_info['keywords'];\n\n";
     $content .= "\$array_data = array();\n\n";
     $content .= "\n\n";
     $content .= "\$contents = nv_theme_" . $data_system['module_data'] . "_" . $data_i['file'] . "( \$array_data );\n\n";
     $content .= "include NV_ROOTDIR . '/includes/header.php';\n";
     if ($data_i['ajax']) {
Exemplo n.º 15
0
                 $path_file_lang = NV_ROOTDIR . '/modules/' . $mod_file . '/language/block.' . $matches[1] . '.' . $matches[2] . '_' . NV_LANG_DATA . '.php';
             } elseif (file_exists(NV_ROOTDIR . '/modules/' . $mod_file . '/language/block.' . $matches[1] . '.' . $matches[2] . '_en.php')) {
                 $path_file_lang = NV_ROOTDIR . '/modules/' . $mod_file . '/language/block.' . $matches[1] . '.' . $matches[2] . '_en.php';
             }
         }
     }
     if (empty($row['title'])) {
         $row['title'] = str_replace('_', ' ', $matches[1] . ' ' . $matches[2]);
     }
 } else {
     $error[] = $lang_module['block_error_nsblock'];
 }
 $row['link'] = $nv_Request->get_title('link', 'post', '');
 $row['template'] = nv_substr($nv_Request->get_title('template', 'post', '', 0), 0, 55);
 $row['position'] = $nv_Request->get_title('position', 'post', '', 0);
 $row['position'] = nv_substr(nv_unhtmlspecialchars($row['position']), 0, 55);
 if (preg_match('/^([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})$/', $nv_Request->get_string('exp_time', 'post'), $m)) {
     $row['exp_time'] = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
 } else {
     $row['exp_time'] = 0;
 }
 $row['active_device'] = $nv_Request->get_typed_array('active_device', 'post', 'int');
 if (in_array('1', $row['active_device']) or in_array('2', $row['active_device']) and in_array('3', $row['active_device']) and in_array('4', $row['active_device'])) {
     $row['active'] = 1;
 } else {
     $row['active'] = implode(',', $row['active_device']);
 }
 $groups_view = $nv_Request->get_array('groups_view', 'post', array());
 $row['groups_view'] = !empty($groups_view) ? implode(',', nv_groups_post(array_intersect($groups_view, array_keys($groups_list)))) : '';
 $all_func = ($nv_Request->get_int('all_func', 'post') == 1 and ((preg_match($global_config['check_block_module'], $row['file_name']) or preg_match($global_config['check_block_theme'], $row['file_name'])) and preg_match('/^global\\.([a-zA-Z0-9\\-\\_\\.]+)\\.php$/', $row['file_name']))) ? 1 : 0;
 $array_funcid_post = $nv_Request->get_array('func_id', 'post');
Exemplo n.º 16
0
/**
 * main_theme()
 *
 * @param mixed $array_content
 * @param mixed $array_department
 * @param mixed $base_url
 * @param mixed $checkss
 * @return
 */
function contact_main_theme($array_content, $array_department, $catsName, $base_url, $checkss)
{
    global $module_file, $lang_global, $lang_module, $module_info;
    $xtpl = new XTemplate('main.tpl', NV_ROOTDIR . '/themes/' . $module_info['template'] . '/modules/' . $module_file);
    $xtpl->assign('LANG', $lang_module);
    $xtpl->assign('GLANG', $lang_global);
    $xtpl->assign('CHECKSS', $checkss);
    $xtpl->assign('CONTENT', $array_content);
    if (!empty($array_content['bodytext'])) {
        $xtpl->parse('main.bodytext');
    }
    if (!empty($array_department)) {
        foreach ($array_department as $dep) {
            $xtpl->assign('DEP', $dep);
            if (!empty($dep['note'])) {
                $xtpl->parse('main.dep.note');
            }
            if (!empty($dep['phone'])) {
                $nums = array_map("trim", explode("|", nv_unhtmlspecialchars($dep['phone'])));
                foreach ($nums as $k => $num) {
                    unset($m);
                    if (preg_match("/^(.*)\\s*\\[([0-9\\+\\.\\,\\;\\*\\#]+)\\]\$/", $num, $m)) {
                        $phone = array('number' => nv_htmlspecialchars($m[1]), 'href' => $m[2]);
                        $xtpl->assign('PHONE', $phone);
                        $xtpl->parse('main.dep.phone.item.href');
                        $xtpl->parse('main.dep.phone.item.href2');
                    } else {
                        $num = preg_replace("/\\[[^\\]]*\\]/", "", $num);
                        $phone = array('number' => nv_htmlspecialchars($num));
                        $xtpl->assign('PHONE', $phone);
                    }
                    if ($k) {
                        $xtpl->parse('main.dep.phone.item.comma');
                    }
                    $xtpl->parse('main.dep.phone.item');
                }
                $xtpl->parse('main.dep.phone');
            }
            if (!empty($dep['fax'])) {
                $xtpl->parse('main.dep.fax');
            }
            if (!empty($dep['email'])) {
                $emails = array_map("trim", explode(",", $dep['email']));
                foreach ($emails as $k => $email) {
                    $xtpl->assign('EMAIL', $email);
                    if ($k) {
                        $xtpl->parse('main.dep.email.item.comma');
                    }
                    $xtpl->parse('main.dep.email.item');
                }
                $xtpl->parse('main.dep.email');
            }
            if (!empty($dep['others'])) {
                $others = json_decode($dep['others'], true);
                if (!empty($others)) {
                    foreach ($others as $key => $value) {
                        if (!empty($value)) {
                            if (strtolower($key) == "yahoo") {
                                $ys = array_map("trim", explode(",", $value));
                                foreach ($ys as $k => $y) {
                                    $xtpl->assign('YAHOO', array('name' => $key, 'value' => $y));
                                    if ($k) {
                                        $xtpl->parse('main.dep.yahoo.item.comma');
                                    }
                                    $xtpl->parse('main.dep.yahoo.item');
                                }
                                $xtpl->parse('main.dep.yahoo');
                            } elseif (strtolower($key) == "skype") {
                                $ss = array_map("trim", explode(",", $value));
                                foreach ($ss as $k => $s) {
                                    $xtpl->assign('SKYPE', array('name' => $key, 'value' => $s));
                                    if ($k) {
                                        $xtpl->parse('main.dep.skype.item.comma');
                                    }
                                    $xtpl->parse('main.dep.skype.item');
                                }
                                $xtpl->parse('main.dep.skype');
                            } elseif (strtolower($key) == "viber") {
                                $ss = array_map("trim", explode(",", $value));
                                foreach ($ss as $k => $s) {
                                    $xtpl->assign('VIBER', array('name' => $key, 'value' => $s));
                                    if ($k) {
                                        $xtpl->parse('main.dep.viber.item.comma');
                                    }
                                    $xtpl->parse('main.dep.viber.item');
                                }
                                $xtpl->parse('main.dep.viber');
                            } elseif (strtolower($key) == "icq") {
                                $ss = array_map("trim", explode(",", $value));
                                foreach ($ss as $k => $s) {
                                    $xtpl->assign('ICQ', array('name' => $key, 'value' => $s));
                                    if ($k) {
                                        $xtpl->parse('main.dep.icq.item.comma');
                                    }
                                    $xtpl->parse('main.dep.icq.item');
                                }
                                $xtpl->parse('main.dep.icq');
                            } elseif (strtolower($key) == "whatsapp") {
                                $ss = array_map("trim", explode(",", $value));
                                foreach ($ss as $k => $s) {
                                    $xtpl->assign('WHATSAPP', array('name' => $key, 'value' => $s));
                                    if ($k) {
                                        $xtpl->parse('main.dep.whatsapp.item.comma');
                                    }
                                    $xtpl->parse('main.dep.whatsapp.item');
                                }
                                $xtpl->parse('main.dep.whatsapp');
                            } else {
                                $xtpl->assign('OTHER', array('name' => $key, 'value' => $value));
                                $xtpl->parse('main.dep.other');
                            }
                        }
                    }
                }
            }
            $xtpl->parse('main.dep');
        }
    }
    $form = contact_form_theme($array_content, $catsName, $base_url, $checkss);
    $xtpl->assign('FORM', $form);
    $xtpl->parse('main');
    return $xtpl->text('main');
}
Exemplo n.º 17
0
/**
 * nv_admin_write_lang()
 * 
 * @param mixed $dirlang
 * @param mixed $idfile
 * @return error write file
 */
function nv_admin_write_lang($dirlang, $idfile)
{
    global $db, $language_array, $global_config, $include_lang, $lang_module, $array_lang_exit, $array_lang_no_check;
    list($module, $admin_file, $langtype, $author_lang) = $db->sql_fetchrow($db->sql_query("SELECT `module`, `admin_file`, `langtype`, `author_" . $dirlang . "` FROM `" . NV_LANGUAGE_GLOBALTABLE . "_file` WHERE `idfile` ='" . intval($idfile) . "'"));
    if (!empty($dirlang) and !empty($module)) {
        if (empty($author_lang)) {
            $array_translator = array();
            $array_translator['author'] = "";
            $array_translator['createdate'] = "";
            $array_translator['copyright'] = "";
            $array_translator['info'] = "";
            $array_translator['langtype'] = $langtype;
        } else {
            eval('$array_translator = ' . $author_lang . ';');
        }
        $include_lang = "";
        $modules_exit = nv_scandir(NV_ROOTDIR . "/modules", $global_config['check_module']);
        if ($module == "global" and preg_match("/^block\\.global\\.([a-zA-Z0-9\\-\\_]+)\$/", $admin_file)) {
            $include_lang = NV_ROOTDIR . "/language/" . $dirlang . "/" . $admin_file . ".php";
        } elseif (in_array($module, $modules_exit) and preg_match("/^block\\.(global|module)\\.([a-zA-Z0-9\\-\\_]+)\$/", $admin_file)) {
            $include_lang = NV_ROOTDIR . "/modules/" . $module . "/language/" . $admin_file . "_" . $dirlang . ".php";
        } elseif (in_array($module, $modules_exit) and $admin_file == 1) {
            $include_lang = NV_ROOTDIR . "/modules/" . $module . "/language/admin_" . $dirlang . ".php";
        } elseif (in_array($module, $modules_exit) and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . "/modules/" . $module . "/language/" . $dirlang . ".php";
        } elseif ($module == "global" and $admin_file == 1) {
            $include_lang = NV_ROOTDIR . "/language/" . $dirlang . "/admin_" . $module . ".php";
        } elseif ($module == "global" and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . "/language/" . $dirlang . "/" . $module . ".php";
        } elseif ($module == "install" and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . "/language/" . $dirlang . "/" . $module . ".php";
        } else {
            $admin_file = 1;
            $include_lang = NV_ROOTDIR . "/language/" . $dirlang . "/admin_" . $module . ".php";
        }
        if ($include_lang == "") {
            return $lang_module['nv_error_write_module'] . " : " . $module;
        } else {
            if (preg_match("/^(0?\\d|[1-2]{1}\\d|3[0-1]{1})[\\-\\/\\.]{1}(0?\\d|1[0-2]{1})[\\-\\/\\.]{1}(19[\\d]{2}|20[\\d]{2})[\\-\\/\\.\\,\\s]{2}(0?\\d|[1]{1}\\d|2[0-4]{1})[\\-\\/\\.\\:]{1}([0-5]?[0-9])\$/", $array_translator['createdate'], $m)) {
                $createdate = mktime($m[4], $m[5], 0, $m[2], $m[1], $m[3]);
            } elseif (preg_match("/^(0?\\d|[1-2]{1}\\d|3[0-1]{1})[\\-\\/\\.]{1}(0?\\d|1[0-2]{1})[\\-\\/\\.]{1}(19[\\d]{2}|20[\\d]{2})\$/", $array_translator['createdate'], $m)) {
                $createdate = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
            } else {
                $createdate = time();
            }
            $content_lang_no_tran = "";
            $content_lang = "<?php\n\n";
            $content_lang .= "/**\n";
            $content_lang .= "* @Project NUKEVIET 3.x\n";
            $content_lang .= "* @Author VINADES.,JSC (contact@vinades.vn)\n";
            $content_lang .= "* @Copyright (C) " . date("Y") . " VINADES.,JSC. All rights reserved\n";
            $content_lang .= "* @Language " . $language_array[$dirlang]['name'] . "\n";
            $content_lang .= "* @Createdate " . gmdate("M d, Y, h:i:s A", $createdate) . "\n";
            $content_lang .= "*/\n";
            if ($admin_file) {
                $content_lang .= "\nif( ! defined( 'NV_ADMIN' ) or ! defined( 'NV_MAINFILE' ) ) ";
            } else {
                $content_lang .= "\nif( ! defined( 'NV_MAINFILE' ) ) ";
            }
            $content_lang .= " die( 'Stop!!!' );\n\n";
            $array_translator['info'] = isset($array_translator['info']) ? $array_translator['info'] : "";
            $content_lang .= "\$lang_translator['author'] = '" . $array_translator['author'] . "';\n";
            $content_lang .= "\$lang_translator['createdate'] = '" . $array_translator['createdate'] . "';\n";
            $content_lang .= "\$lang_translator['copyright'] = '" . $array_translator['copyright'] . "';\n";
            $content_lang .= "\$lang_translator['info'] = '" . $array_translator['info'] . "';\n";
            $content_lang .= "\$lang_translator['langtype'] = '" . $array_translator['langtype'] . "';\n";
            $content_lang .= "\n";
            $content_lang_no_check = "";
            $numrows = 0;
            if (in_array("vi", $array_lang_exit) and in_array("en", $array_lang_exit) and $dirlang != "vi" and $dirlang != "en") {
                $sql = "SELECT `lang_key`, `lang_vi`, `lang_en`, `lang_" . $dirlang . "`, `update_" . $dirlang . "` FROM `" . NV_LANGUAGE_GLOBALTABLE . "` WHERE `idfile`='" . $idfile . "' ORDER BY `id` ASC";
                $result = $db->sql_query($sql);
                while (list($lang_key, $lang_value_vi, $lang_value_en, $lang_value, $update_time) = $db->sql_fetchrow($result)) {
                    if ($lang_value != "") {
                        $numrows++;
                        $lang_value = nv_unhtmlspecialchars($lang_value);
                        $lang_value = str_replace("\\'", "'", $lang_value);
                        $lang_value = str_replace("'", "\\'", $lang_value);
                        $lang_value = nv_nl2br($lang_value);
                        $lang_value = str_replace('<br  />', '<br />', $lang_value);
                        $content_temp = "\$" . $langtype . "['" . $lang_key . "'] = '{$lang_value}';\n";
                        $content_temp .= "/*\n";
                        if ($dirlang != "vi" and !empty($lang_value_vi)) {
                            $lang_value_vi = nv_unhtmlspecialchars($lang_value_vi);
                            $lang_value_vi = str_replace("\\'", "'", $lang_value_vi);
                            $lang_value_vi = str_replace("'", "\\'", $lang_value_vi);
                            $lang_value_vi = nv_nl2br($lang_value_vi);
                            $lang_value_vi = str_replace('<br  />', '<br />', $lang_value_vi);
                            $content_temp .= "\t vietnam:\t  " . $lang_value_vi . "\n";
                        }
                        if ($dirlang != "en" and !empty($lang_value_en)) {
                            $lang_value_en = nv_unhtmlspecialchars($lang_value_en);
                            $lang_value_en = str_replace("\\'", "'", $lang_value_en);
                            $lang_value_en = str_replace("'", "\\'", $lang_value_en);
                            $lang_value_en = nv_nl2br($lang_value_en);
                            $lang_value_en = str_replace('<br  />', '<br />', $lang_value_en);
                            $content_temp .= "\t english:\t  " . $lang_value_en . "\n";
                        }
                        $content_temp .= "*/\n\n";
                        if ($update_time > 0) {
                            $content_lang .= $content_temp;
                        } else {
                            $content_lang_no_check .= $content_temp;
                        }
                    }
                }
                if (!empty($content_lang_no_check)) {
                    $content_lang .= "\n\n/*---------------------------------------- Language untested ----------------------------------------------*/\n";
                    $content_lang .= $content_lang_no_check;
                    $array_lang_no_check[] = $include_lang;
                }
            } else {
                $sql = "SELECT `lang_key`, `lang_" . $dirlang . "` FROM `" . NV_LANGUAGE_GLOBALTABLE . "` WHERE `idfile`='" . $idfile . "' ORDER BY `id` ASC";
                $result = $db->sql_query($sql);
                while (list($lang_key, $lang_value) = $db->sql_fetchrow($result)) {
                    if ($lang_value != "") {
                        $numrows++;
                        $lang_value = nv_unhtmlspecialchars($lang_value);
                        $lang_value = str_replace("\\'", "'", $lang_value);
                        $lang_value = str_replace("'", "\\'", $lang_value);
                        $lang_value = nv_nl2br($lang_value);
                        $lang_value = str_replace('<br  />', '<br />', $lang_value);
                        $content_lang .= "\$" . $langtype . "['" . $lang_key . "'] = '{$lang_value}';\n";
                    }
                }
            }
            if ($numrows) {
                $content_lang .= "\n";
                $content_lang .= "?>";
                $number_bytes = file_put_contents($include_lang, $content_lang, LOCK_EX);
                if (empty($number_bytes)) {
                    $errfile = str_replace(NV_ROOTDIR, "", str_replace('\\', '/', $include_lang));
                    return $lang_module['nv_error_write_file'] . " : " . $errfile;
                }
            }
        }
        return "";
    } else {
        return $lang_module['nv_error_exit_module'] . " : " . $module;
    }
}
 function nv_contact_default_info()
 {
     global $db, $site_mods, $global_config, $lang_global;
     if (file_exists(NV_ROOTDIR . '/themes/' . $global_config['module_theme'] . '/modules/' . $site_mods['contact']['module_file'] . '/block.contact_default.tpl')) {
         $block_theme = $global_config['module_theme'];
     } elseif (file_exists(NV_ROOTDIR . '/themes/' . $global_config['site_theme'] . '/modules/' . $site_mods['contact']['module_file'] . '/block.contact_default.tpl')) {
         $block_theme = $global_config['site_theme'];
     } else {
         $block_theme = 'default';
     }
     $sql = 'SELECT id, alias, phone, email, others FROM ' . NV_PREFIXLANG . '_' . $site_mods['contact']['module_data'] . '_department WHERE act=1 AND is_default=1';
     $array_department = nv_db_cache($sql, 'id', 'contact');
     if (empty($array_department)) {
         $sql = 'SELECT id, alias, phone, email, others FROM ' . NV_PREFIXLANG . '_' . $site_mods['contact']['module_data'] . '_department WHERE act=1 ORDER BY weight LIMIT 1';
         $array_department = nv_db_cache($sql, 'id', 'contact');
     }
     if (empty($array_department)) {
         return "";
     }
     $xtpl = new XTemplate('block.contact_default.tpl', NV_ROOTDIR . '/themes/' . $block_theme . '/modules/' . $site_mods['contact']['module_file']);
     $xtpl->assign('LANG', $lang_global);
     $row = array_shift($array_department);
     if (empty($row)) {
         return "";
     }
     $row['emailhref'] = NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=contact&amp;' . NV_OP_VARIABLE . '=' . $row['alias'];
     $xtpl->assign('DEPARTMENT', $row);
     if (!empty($row['phone'])) {
         $nums = array_map("trim", explode("|", nv_unhtmlspecialchars($row['phone'])));
         foreach ($nums as $k => $num) {
             unset($m);
             if (preg_match("/^(.*)\\s*\\[([0-9\\+\\.\\,\\;\\*\\#]+)\\]\$/", $num, $m)) {
                 $phone = array('number' => nv_htmlspecialchars($m[1]), 'href' => $m[2]);
                 $xtpl->assign('PHONE', $phone);
                 $xtpl->parse('main.phone.item.href');
                 $xtpl->parse('main.phone.item.href2');
             } else {
                 $num = preg_replace("/\\[[^\\]]*\\]/", "", $num);
                 $phone = array('number' => nv_htmlspecialchars($num));
                 $xtpl->assign('PHONE', $phone);
             }
             if ($k) {
                 $xtpl->parse('main.phone.item.comma');
             }
             $xtpl->parse('main.phone.item');
         }
         $xtpl->parse('main.phone');
     }
     if (!empty($row['email'])) {
         $emails = array_map("trim", explode(",", $row['email']));
         foreach ($emails as $k => $email) {
             $xtpl->assign('EMAIL', $email);
             if ($k) {
                 $xtpl->parse('main.email.item.comma');
             }
             $xtpl->parse('main.email.item');
         }
         $xtpl->parse('main.email');
     }
     if (!empty($row['others'])) {
         $others = json_decode($row['others'], true);
         if (!empty($others)) {
             foreach ($others as $key => $value) {
                 if (!empty($value)) {
                     if (strtolower($key) == "yahoo") {
                         $ys = array_map("trim", explode(",", $value));
                         foreach ($ys as $k => $y) {
                             $xtpl->assign('YAHOO', array('name' => $key, 'value' => $y));
                             if ($k) {
                                 $xtpl->parse('main.yahoo.item.comma');
                             }
                             $xtpl->parse('main.yahoo.item');
                         }
                         $xtpl->parse('main.yahoo');
                     } elseif (strtolower($key) == "skype") {
                         $ss = array_map("trim", explode(",", $value));
                         foreach ($ss as $k => $s) {
                             $xtpl->assign('SKYPE', array('name' => $key, 'value' => $s));
                             if ($k) {
                                 $xtpl->parse('main.skype.item.comma');
                             }
                             $xtpl->parse('main.skype.item');
                         }
                         $xtpl->parse('main.skype');
                     } elseif (strtolower($key) == "viber") {
                         $ss = array_map("trim", explode(",", $value));
                         foreach ($ss as $k => $s) {
                             $xtpl->assign('VIBER', array('name' => $key, 'value' => $s));
                             if ($k) {
                                 $xtpl->parse('main.viber.item.comma');
                             }
                             $xtpl->parse('main.viber.item');
                         }
                         $xtpl->parse('main.viber');
                     } elseif (strtolower($key) == "icq") {
                         $ss = array_map("trim", explode(",", $value));
                         foreach ($ss as $k => $s) {
                             $xtpl->assign('ICQ', array('name' => $key, 'value' => $s));
                             if ($k) {
                                 $xtpl->parse('main.icq.item.comma');
                             }
                             $xtpl->parse('main.icq.item');
                         }
                         $xtpl->parse('main.icq');
                     } elseif (strtolower($key) == "whatsapp") {
                         $ss = array_map("trim", explode(",", $value));
                         foreach ($ss as $k => $s) {
                             $xtpl->assign('WHATSAPP', array('name' => $key, 'value' => $s));
                             if ($k) {
                                 $xtpl->parse('main.whatsapp.item.comma');
                             }
                             $xtpl->parse('main.whatsapp.item');
                         }
                         $xtpl->parse('main.whatsapp');
                     } else {
                         $xtpl->assign('OTHER', array('name' => $key, 'value' => $value));
                         $xtpl->parse('main.other');
                     }
                 }
             }
         }
     }
     $xtpl->parse('main');
     return $xtpl->text('main');
 }
Exemplo n.º 19
0
 $row['keywords'] = nv_strtolower($nv_Request->get_title('keywords', 'post', '', 0));
 $row['socialbutton'] = $nv_Request->get_int('socialbutton', 'post', 0);
 $row['layout_func'] = $nv_Request->get_title('layout_func', 'post', '');
 $row['gid'] = $nv_Request->get_int('gid', 'post', 0);
 $_groups_post = $nv_Request->get_array('activecomm', 'post', array());
 $row['activecomm'] = !empty($_groups_post) ? implode(',', nv_groups_post(array_intersect($_groups_post, array_keys($groups_list)))) : '';
 if (empty($row['title'])) {
     $error = $lang_module['empty_title'];
 } elseif (strip_tags($row['bodytext']) == '') {
     $error = $lang_module['empty_bodytext'];
 } elseif (empty($row['layout_func']) or in_array('layout.' . $row['layout_func'] . '.tpl', $layout_array)) {
     $row['alias'] = empty($row['alias']) ? change_alias($row['title']) : change_alias($row['alias']);
     if (empty($row['keywords'])) {
         $row['keywords'] = nv_get_keywords($row['title']);
         if (empty($row['keywords'])) {
             $row['keywords'] = nv_unhtmlspecialchars($row['keywords']);
             $row['keywords'] = strip_punctuation($row['keywords']);
             $row['keywords'] = trim($row['keywords']);
             $row['keywords'] = nv_strtolower($row['keywords']);
             $row['keywords'] = preg_replace('/[ ]+/', ',', $row['keywords']);
         }
     }
     if ($id) {
         $_sql = 'UPDATE ' . NV_PREFIXLANG . '_' . $module_data . ' SET title = :title, alias = :alias, image = :image, imagealt = :imagealt, imageposition = :imageposition, description = :description, bodytext = :bodytext, keywords = :keywords, socialbutton = :socialbutton, activecomm = :activecomm, layout_func = :layout_func, gid = :gid, admin_id = :admin_id, edit_time = ' . NV_CURRENTTIME . ' WHERE id =' . $id;
         $publtime = $row['add_time'];
     } else {
         if ($page_config['news_first']) {
             $weight = 1;
         } else {
             $weight = $db->query("SELECT MAX(weight) FROM " . NV_PREFIXLANG . "_" . $module_data)->fetchColumn();
             $weight = intval($weight) + 1;
Exemplo n.º 20
0
$array_data = $db->query($_sql)->fetch();
if (empty($array_data)) {
    Header('Location: ' . nv_url_rewrite(NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&' . NV_NAME_VARIABLE . '=' . $module_name, true));
    die;
}
$time_set = $nv_Request->get_int($module_data . '_' . $op . '_' . $_id, 'session');
if (empty($time_set)) {
    $nv_Request->set_Session($module_data . '_' . $op . '_' . $_id, NV_CURRENTTIME);
    $query = 'UPDATE ' . NV_PREFIXLANG . '_' . $module_data . ' SET viewcount=viewcount+1 WHERE id=' . $_id;
    $db->query($query);
}
$array_data['code_html_unhtml'] = nv_unhtmlspecialchars($array_data['code_html']);
$array_data['code_css_unhtml'] = nv_unhtmlspecialchars($array_data['code_css']);
$array_data['code_js_unhtml'] = nv_unhtmlspecialchars($array_data['code_js']);
$array_data['code_php_unhtml'] = nv_unhtmlspecialchars($array_data['code_php']);
$array_data['code_php_template_unhtml'] = nv_unhtmlspecialchars($array_data['code_php_template']);
// Nguoi dang
$sql = 'SELECT username, last_name, first_name FROM ' . NV_USERS_GLOBALTABLE . ' WHERE userid=' . $array_data['adduser'];
list($username, $last_name, $first_name) = $db->query($sql)->fetch(3);
$array_data['adduser'] = nv_show_name_user($first_name, $last_name, $username);
if (!defined('FACEBOOK_JSSDK')) {
    $lang = NV_LANG_DATA == 'vi' ? 'vi_VN' : 'en_US';
    $facebookappid = '835372636499958';
    $contents .= "<div id=\"fb-root\"></div>\n\t<script type=\"text/javascript\" data-show=\"after\">\n\t (function(d, s, id) {\n\t var js, fjs = d.getElementsByTagName(s)[0];\n\t if (d.getElementById(id)) return;\n\t js = d.createElement(s); js.id = id;\n\t js.src = \"//connect.facebook.net/" . $lang . "/all.js#xfbml=1&appId=" . $facebookappid . "\";\n\t fjs.parentNode.insertBefore(js, fjs);\n\t }(document, 'script', 'facebook-jssdk'));\n\t</script>";
    define('FACEBOOK_JSSDK', true);
}
if (!defined('GOOGLE_PLUS')) {
    $contents .= "<script type=\"text/javascript\" data-show=\"after\">\n\twindow.___gcfg = {lang: nv_lang_data};\n\t(function() {\n\tvar po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;\n\tpo.src = 'https://apis.google.com/js/plusone.js';\n\tvar s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);\n\t})();\n\t</script>";
    define('GOOGLE_PLUS', true);
}
/*
Exemplo n.º 21
0
/**
 * nv_admin_write_lang()
 *
 * @param mixed $dirlang
 * @param mixed $idfile
 * @return error write file
 */
function nv_admin_write_lang($dirlang, $idfile)
{
    global $db, $language_array, $global_config, $include_lang, $lang_module, $array_lang_exit, $array_lang_no_check;
    list($module, $admin_file, $langtype, $author_lang) = $db->query('SELECT module, admin_file, langtype, author_' . $dirlang . ' FROM ' . NV_LANGUAGE_GLOBALTABLE . '_file WHERE idfile =' . intval($idfile))->fetch(3);
    if (!empty($dirlang) and !empty($module)) {
        if (empty($author_lang)) {
            $array_translator = array();
            $array_translator['author'] = '';
            $array_translator['createdate'] = '';
            $array_translator['copyright'] = '';
            $array_translator['info'] = '';
            $array_translator['langtype'] = $langtype;
        } else {
            eval('$array_translator = ' . $author_lang . ';');
        }
        $include_lang = '';
        $modules_exit = nv_scandir(NV_ROOTDIR . '/modules', $global_config['check_module']);
        if ($module == 'global' and preg_match('/^block\\.global\\.([a-zA-Z0-9\\-\\_]+)$/', $admin_file)) {
            $include_lang = NV_ROOTDIR . '/includes/language/' . $dirlang . '/' . $admin_file . '.php';
        } elseif (in_array($module, $modules_exit) and preg_match('/^block\\.(global|module)\\.([a-zA-Z0-9\\-\\_]+)$/', $admin_file)) {
            $include_lang = NV_ROOTDIR . '/modules/' . $module . '/language/' . $admin_file . '_' . $dirlang . '.php';
        } elseif (in_array($module, $modules_exit) and $admin_file == 1) {
            $include_lang = NV_ROOTDIR . '/modules/' . $module . '/language/admin_' . $dirlang . '.php';
        } elseif (in_array($module, $modules_exit) and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . '/modules/' . $module . '/language/' . $dirlang . '.php';
        } elseif ($module == 'global' and $admin_file == 1) {
            $include_lang = NV_ROOTDIR . '/includes/language/' . $dirlang . '/admin_' . $module . '.php';
        } elseif ($module == 'global' and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . '/includes/language/' . $dirlang . '/' . $module . '.php';
        } elseif ($module == 'install' and $admin_file == 0) {
            $include_lang = NV_ROOTDIR . '/includes/language/' . $dirlang . '/' . $module . '.php';
        } else {
            $admin_file = 1;
            $include_lang = NV_ROOTDIR . '/includes/language/' . $dirlang . '/admin_' . $module . '.php';
        }
        if ($include_lang == '') {
            return $lang_module['nv_error_write_module'] . ' : ' . $module;
        } else {
            if (preg_match('/^(0?\\d|[1-2]{1}\\d|3[0-1]{1})[\\-\\/\\.]{1}(0?\\d|1[0-2]{1})[\\-\\/\\.]{1}(19[\\d]{2}|20[\\d]{2})[\\-\\/\\.\\,\\s]{2}(0?\\d|[1]{1}\\d|2[0-4]{1})[\\-\\/\\.\\:]{1}([0-5]?[0-9])$/', $array_translator['createdate'], $m)) {
                $createdate = mktime($m[4], $m[5], 0, $m[2], $m[1], $m[3]);
            } elseif (preg_match('/^(0?\\d|[1-2]{1}\\d|3[0-1]{1})[\\-\\/\\.]{1}(0?\\d|1[0-2]{1})[\\-\\/\\.]{1}(19[\\d]{2}|20[\\d]{2})$/', $array_translator['createdate'], $m)) {
                $createdate = mktime(0, 0, 0, $m[2], $m[1], $m[3]);
            } else {
                $createdate = time();
            }
            $content_lang_no_tran = '';
            $content_lang = "<?php\n\n";
            $content_lang .= "/**\n";
            $content_lang .= "* @Project NUKEVIET 4.x\n";
            $content_lang .= "* @Author VINADES.,JSC (contact@vinades.vn)\n";
            $content_lang .= "* @Copyright (C) " . date("Y") . " VINADES.,JSC. All rights reserved\n";
            $content_lang .= "* @Language " . $language_array[$dirlang]['name'] . "\n";
            $content_lang .= "* @License CC BY-SA (http://creativecommons.org/licenses/by-sa/4.0/)\n";
            $content_lang .= "* @Createdate " . gmdate("M d, Y, h:i:s A", $createdate) . "\n";
            $content_lang .= "*/\n";
            if ($admin_file) {
                $content_lang .= "\nif (! defined('NV_ADMIN') or ! defined('NV_MAINFILE')) {";
            } else {
                $content_lang .= "\nif (! defined('NV_MAINFILE')) {";
            }
            $content_lang .= "\n    die( 'Stop!!!' );\n}\n\n";
            $array_translator['info'] = isset($array_translator['info']) ? $array_translator['info'] : "";
            $content_lang .= "\$lang_translator['author'] = '" . $array_translator['author'] . "';\n";
            $content_lang .= "\$lang_translator['createdate'] = '" . $array_translator['createdate'] . "';\n";
            $content_lang .= "\$lang_translator['copyright'] = '" . $array_translator['copyright'] . "';\n";
            $content_lang .= "\$lang_translator['info'] = '" . $array_translator['info'] . "';\n";
            $content_lang .= "\$lang_translator['langtype'] = '" . $array_translator['langtype'] . "';\n";
            $content_lang .= "\n";
            $content_lang_no_check = '';
            $numrows = 0;
            if (in_array('vi', $array_lang_exit) and in_array('en', $array_lang_exit) and $dirlang != 'vi' and $dirlang != 'en') {
                $result = $db->query('SELECT lang_key, lang_vi, lang_en, lang_' . $dirlang . ', update_' . $dirlang . ' FROM ' . NV_LANGUAGE_GLOBALTABLE . ' WHERE idfile=' . $idfile . ' ORDER BY id ASC');
                while (list($lang_key, $lang_value_vi, $lang_value_en, $lang_value, $update_time) = $result->fetch(3)) {
                    if ($lang_value != '') {
                        $numrows++;
                        $lang_value = nv_unhtmlspecialchars($lang_value);
                        $lang_value = str_replace("\\'", "'", $lang_value);
                        $lang_value = str_replace("'", "\\'", $lang_value);
                        $lang_value = nv_nl2br($lang_value);
                        $lang_value = str_replace('<br />', '<br />', $lang_value);
                        $content_temp = "\$" . $langtype . "['" . $lang_key . "'] = '{$lang_value}';\n";
                        if ($update_time > 0) {
                            $content_lang .= $content_temp;
                        } else {
                            $content_lang_no_check .= $content_temp;
                        }
                    }
                }
                if (!empty($content_lang_no_check)) {
                    $content_lang .= "\n\n/*---------------------------------------- Language untested ----------------------------------------------*/\n";
                    $content_lang .= $content_lang_no_check;
                    $array_lang_no_check[] = $include_lang;
                }
            } else {
                $result = $db->query('SELECT lang_key, lang_' . $dirlang . ' FROM ' . NV_LANGUAGE_GLOBALTABLE . ' WHERE idfile=' . $idfile . ' ORDER BY id ASC');
                while (list($lang_key, $lang_value) = $result->fetch(3)) {
                    if ($lang_value != '') {
                        $numrows++;
                        $lang_value = nv_unhtmlspecialchars($lang_value);
                        $lang_value = str_replace("\\'", "'", $lang_value);
                        $lang_value = str_replace("'", "\\'", $lang_value);
                        $lang_value = nv_nl2br($lang_value);
                        $lang_value = str_replace('<br />', '<br />', $lang_value);
                        $content_lang .= "\$" . $langtype . "['" . $lang_key . "'] = '" . $lang_value . "';\n";
                    }
                }
            }
            if ($numrows) {
                $number_bytes = file_put_contents($include_lang, trim($content_lang), LOCK_EX);
                if (empty($number_bytes)) {
                    $errfile = str_replace(NV_ROOTDIR, '', str_replace('\\', '/', $include_lang));
                    return $lang_module['nv_error_write_file'] . ' : ' . $errfile;
                }
            }
        }
        return '';
    } else {
        return $lang_module['nv_error_exit_module'] . ' : ' . $module;
    }
}
Exemplo n.º 22
0
     $canonicalUrl = $base_url_rewrite;
 }
 if (!empty($rowdetail['image']) && !nv_is_url($rowdetail['image'])) {
     $imagesize = @getimagesize(NV_UPLOADS_REAL_DIR . '/' . $module_upload . '/' . $rowdetail['image']);
     $rowdetail['image'] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' . $module_upload . '/' . $rowdetail['image'];
     $rowdetail['imageWidth'] = $imagesize[0] > 500 ? 500 : $imagesize[0];
 }
 $rowdetail['add_time'] = nv_date('H:i T l, d/m/Y', $rowdetail['add_time']);
 $rowdetail['edit_time'] = nv_date('H:i T l, d/m/Y', $rowdetail['edit_time']);
 $module_info['layout_funcs'][$op_file] = !empty($rowdetail['layout_func']) ? $rowdetail['layout_func'] : $module_info['layout_funcs'][$op_file];
 if (!empty($rowdetail['keywords'])) {
     $key_words = $rowdetail['keywords'];
 } else {
     $key_words = nv_get_keywords($rowdetail['bodytext']);
     if (empty($key_words)) {
         $key_words = nv_unhtmlspecialchars($rowdetail['title']);
         $key_words = strip_punctuation($key_words);
         $key_words = trim($key_words);
         $key_words = nv_strtolower($key_words);
         $key_words = preg_replace('/[ ]+/', ',', $key_words);
     }
 }
 $page_title = $mod_title = $rowdetail['title'];
 $description = $rowdetail['description'];
 $id_profile_googleplus = $rowdetail['gid'];
 // Hiển thị các bài liên quan mới nhất.
 $other_links = array();
 $related_articles = intval($page_config['related_articles']);
 if ($related_articles) {
     $db_slave->sqlreset()->select('*')->from(NV_PREFIXLANG . '_' . $module_data)->where('status=1 AND id !=' . $id)->order('weight ASC')->limit($related_articles);
     $result = $db_slave->query($db_slave->sql());
Exemplo n.º 23
0
 $zip = new PclZip(NV_ROOTDIR . '/' . NV_TEMP_DIR . '/' . $filename);
 $ziplistContent = $zip->listContent();
 $temp_extract_dir = NV_TEMP_DIR . '/' . md5($filename . NV_CHECK_SESSION);
 $no_extract = array();
 $error_create_folder = array();
 $error_move_folder = array();
 if (is_dir(NV_ROOTDIR . '/' . $temp_extract_dir)) {
     nv_deletefile(NV_ROOTDIR . '/' . $temp_extract_dir, true);
 }
 $ftp_check_login = 0;
 if ($sys_info['ftp_support'] and intval($global_config['ftp_check_login']) == 1) {
     $ftp_server = nv_unhtmlspecialchars($global_config['ftp_server']);
     $ftp_port = intval($global_config['ftp_port']);
     $ftp_user_name = nv_unhtmlspecialchars($global_config['ftp_user_name']);
     $ftp_user_pass = nv_unhtmlspecialchars($global_config['ftp_user_pass']);
     $ftp_path = nv_unhtmlspecialchars($global_config['ftp_path']);
     // set up basic connection
     $conn_id = ftp_connect($ftp_server, $ftp_port, 10);
     // login with username and password
     $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
     if (!$conn_id || !$login_result) {
         $ftp_check_login = 3;
     } elseif (ftp_chdir($conn_id, $ftp_path)) {
         $ftp_check_login = 1;
     } else {
         $ftp_check_login = 2;
     }
 }
 if ($ftp_check_login == 1) {
     ftp_mkdir($conn_id, $temp_extract_dir);
     if (substr($sys_info['os'], 0, 3) != 'WIN') {
Exemplo n.º 24
0
 $rs = $xml2->appendChild($xml2->createElement('pingResult'));
 $finish = $rs->appendChild($xml2->createElement('finish'));
 $timeout = $nv_Request->get_int('rpct', 'cookie', 0);
 $timeout = NV_CURRENTTIME - $timeout;
 if ($timeout != 0 and $timeout < 60) {
     $timeout = 60 - $timeout;
     $timeout = nv_convertfromSec($timeout);
     $finish->nodeValue = 'glb|' . sprintf($lang_module['rpc_error_timeout'], $timeout);
     $content = $xml2->saveXML();
     @Header('Content-Type: text/xml; charset=utf-8');
     print_r($content);
     die;
 }
 $listcatid_arr = explode(',', $news_contents['listcatid']);
 $catid_i = $listcatid_arr[0];
 $webtitle = htmlspecialchars(nv_unhtmlspecialchars($news_contents['title']), ENT_QUOTES);
 $webhome = nv_url_rewrite(NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA);
 if (strpos($webhome, NV_MY_DOMAIN) !== 0) {
     $webhome = NV_MY_DOMAIN . $webhome;
 }
 $linkpage = nv_url_rewrite(NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=' . $module_name . '&amp;' . NV_OP_VARIABLE . '=' . $global_array_cat[$catid_i]['alias'] . '/' . $news_contents['alias'] . '-' . $news_contents['id'] . $global_config['rewrite_exturl'], 1);
 if (strpos($linkpage, NV_MY_DOMAIN) !== 0) {
     $linkpage = NV_MY_DOMAIN . $linkpage;
 }
 $webrss = nv_url_rewrite(NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=' . $module_name . '&amp;' . NV_OP_VARIABLE . '=' . $module_info['alias']['rss'] . '/' . $global_array_cat[$catid_i]['alias'], 1);
 if (strpos($webrss, NV_MY_DOMAIN) !== 0) {
     $webrss = NV_MY_DOMAIN . $webrss;
 }
 $pingtotal = $nv_Request->get_int('total', 'post', 0);
 if ($sys_info['allowed_set_time_limit']) {
     set_time_limit(0);
Exemplo n.º 25
0
/**
 * nv_rss_generate()
 * 
 * @param mixed $channel
 * @param mixed $imamge
 * @param mixed $items
 * @return void
 */
function nv_rss_generate($channel, $items)
{
    global $db, $global_config;
    if (file_exists(NV_ROOTDIR . "/themes/" . $global_config['site_theme'] . "/layout/rss.tpl")) {
        $path = NV_ROOTDIR . "/themes/" . $global_config['site_theme'] . "/layout/";
    } else {
        $path = NV_ROOTDIR . "/themes/default/layout/";
    }
    $xtpl = new XTemplate("rss.tpl", $path);
    $channel['title'] = nv_unhtmlspecialchars($channel['title']);
    $channel['description'] = nv_unhtmlspecialchars($channel['description']);
    $channel['lang'] = $global_config['site_lang'];
    $channel['copyright'] = htmlspecialchars($global_config['site_name']);
    $channel['docs'] = NV_MY_DOMAIN . NV_BASE_SITEURL . '?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=rss';
    $channel['generator'] = htmlspecialchars('Nukeviet Version ' . $global_config['version']);
    $xtpl->assign('CHANNEL', $channel);
    if (file_exists(NV_ROOTDIR . '/images/' . $global_config['site_logo'])) {
        $image = NV_ROOTDIR . '/images/' . $global_config['site_logo'];
        $image = nv_ImageInfo($image, 144, true, NV_UPLOADS_REAL_DIR);
        if (!empty($image)) {
            $image['title'] = $channel['title'];
            $image['link'] = $channel['link'];
            $image['src'] = NV_MY_DOMAIN . $image['src'];
            $xtpl->assign('IMAGE', $image);
            $xtpl->parse('main.image');
        }
    }
    if (!empty($items)) {
        foreach ($items as $item) {
            if (!empty($item['title'])) {
                $item['title'] = nv_unhtmlspecialchars($item['title']);
            }
            if (!empty($item['description'])) {
                $item['description'] = htmlspecialchars($item['description'], ENT_QUOTES);
            }
            $item['pubdate'] = gmdate("D, j M Y H:m:s", $item['pubdate']) . ' GMT';
            $xtpl->assign('ITEM', $item);
            $xtpl->parse('main.item');
        }
    }
    $xtpl->parse('main');
    $content = $xtpl->text('main');
    $content = $db->unfixdb($content);
    $content = nv_url_rewrite($content);
    header("Content-Type: text/xml");
    header("Content-Type: application/rss+xml");
    header("Content-Encoding: none");
    echo $content;
    die;
}
Exemplo n.º 26
0
function nv_save_file_config_global()
{
    global $db;
    $content_config = "<?php\n\n";
    $content_config .= NV_FILEHEAD . "\n\n";
    $content_config .= "if ( ! defined( 'NV_MAINFILE' ) )\n";
    $content_config .= "{\n";
    $content_config .= "    die( 'Stop!!!' );\n";
    $content_config .= "}\n\n";
    $sql = "SELECT `config_name`, `config_value` FROM `" . NV_CONFIG_GLOBALTABLE . "` WHERE `lang`='sys' ORDER BY `config_name` ASC";
    $result = $db->sql_query($sql);
    while (list($c_config_name, $c_config_value) = $db->sql_fetchrow($result)) {
        if (!is_numeric($c_config_value) || (strlen($c_config_value) > 1 and $c_config_value[0] == '0')) {
            $content_config .= "\$global_config['" . $c_config_name . "'] = \"" . nv_unhtmlspecialchars($c_config_value) . "\";\n";
        } else {
            $content_config .= "\$global_config['" . $c_config_name . "'] = " . intval($c_config_value) . ";\n";
        }
    }
    $content_config .= "\n";
    $content_config .= "?>";
    nv_delete_all_cache();
    return file_put_contents(NV_ROOTDIR . "/" . NV_DATADIR . "/config_global.php", $content_config, LOCK_EX);
}
Exemplo n.º 27
0
 $property['padding_right'] = $nv_Request->get_title('block_padding_right', 'post', '');
 $property['border_color'] = $nv_Request->get_title('block_border_color', 'post', '');
 $property['border_style'] = $nv_Request->get_title('block_border_style', 'post', '');
 $property['border_width'] = $nv_Request->get_title('block_border_width', 'post', '');
 $property['border_radius'] = $nv_Request->get_title('block_border_radius', 'post', '');
 $property['customcss'] = $nv_Request->get_textarea('block_customcss', 'post', '');
 $config_theme['block'] = $property;
 unset($property);
 $property['background_color'] = $nv_Request->get_title('block_heading_background_color', 'post', '');
 $property['background_image'] = $nv_Request->get_title('block_heading_background_image', 'post', '');
 $property['background_repeat'] = $nv_Request->get_title('block_heading_background_repeat', 'post', '');
 $property['background_position'] = $nv_Request->get_title('block_heading_background_position', 'post', '');
 $config_theme['block_heading'] = $property;
 unset($property);
 // General css
 $config_theme['generalcss'] = nv_unhtmlspecialchars($nv_Request->get_textarea('generalcss', 'post', ''));
 $config_value = serialize($config_theme);
 if (isset($module_config['themes'][$selectthemes])) {
     $sth = $db->prepare("UPDATE " . NV_CONFIG_GLOBALTABLE . " SET config_value= :config_value WHERE config_name = :config_name AND lang = '" . NV_LANG_DATA . "' AND module='themes'");
 } else {
     $sth = $db->prepare("INSERT INTO " . NV_CONFIG_GLOBALTABLE . " (lang, module, config_name, config_value) VALUES ('" . NV_LANG_DATA . "', 'themes', :config_name, :config_value)");
 }
 $sth->bindParam(':config_name', $selectthemes, PDO::PARAM_STR);
 $sth->bindParam(':config_value', $config_value, PDO::PARAM_STR, strlen($config_value));
 $sth->execute();
 nv_del_moduleCache('settings');
 if (file_exists(NV_ROOTDIR . "/" . SYSTEM_FILES_DIR . "/css/theme_" . $selectthemes . "_" . $global_config['idsite'] . ".css")) {
     nv_deletefile(NV_ROOTDIR . "/" . SYSTEM_FILES_DIR . "/css/theme_" . $selectthemes . "_" . $global_config['idsite'] . ".css");
 }
 Header('Location: ' . NV_BASE_ADMINURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&' . NV_NAME_VARIABLE . '=' . $module_name . '&' . NV_OP_VARIABLE . '=' . $op . '&selectthemes=' . $selectthemes . '&rand=' . nv_genpass());
 die;
Exemplo n.º 28
0
 /**
  * NvUpdate::move_file()
  *
  * @param mixed $nv_update_config
  * @param mixed $files
  * @return
  */
 public function move_file($nv_update_config, $files)
 {
     if (empty($files)) {
         return true;
     }
     global $global_config;
     $is_ftp = false;
     if ($global_config['ftp_check_login'] == 1) {
         $ftp_server = nv_unhtmlspecialchars($global_config['ftp_server']);
         $ftp_port = intval($global_config['ftp_port']);
         $ftp_user_name = nv_unhtmlspecialchars($global_config['ftp_user_name']);
         $ftp_user_pass = nv_unhtmlspecialchars($global_config['ftp_user_pass']);
         $ftp_path = nv_unhtmlspecialchars($global_config['ftp_path']);
         $ftp = new NukeViet\Ftp\Ftp($ftp_server, $ftp_user_name, $ftp_user_pass, array('timeout' => 20), $ftp_port);
         if (empty($ftp->error) and $ftp->chdir($ftp_path)) {
             $is_ftp = true;
         }
     }
     // Nhat ki
     $logs_message = array();
     $logs_status = array();
     // Bat dau tao thu muc
     foreach ($files as $file_i) {
         $cp = '';
         $e = explode('/', $file_i);
         foreach ($e as $p) {
             if (!empty($p) and is_dir(NV_ROOTDIR . '/install/update/' . $cp . $p) and !is_dir(NV_ROOTDIR . '/' . $cp . $p)) {
                 // Neu khong tao thu muc theo cach thong thuong thi tao bang FTP (neu co)
                 if (@mkdir(NV_ROOTDIR . '/' . $cp . $p) == false and $is_ftp === true) {
                     $ftp->mkdir($cp . $p);
                 }
                 if (!is_dir(NV_ROOTDIR . '/' . $cp . $p)) {
                     // Nhat ki that bai
                     $logs_message[] = $this->lang['update_log_creat_dir'] . ' ' . $cp . $p;
                     $logs_status[] = false;
                     // Luu nhat ki
                     $this->log($nv_update_config, $logs_message, $logs_status);
                     if ($is_ftp === true) {
                         $ftp->close();
                     }
                     return $this->lang['update_error_creat_dir'] . ' ' . $cp . $p;
                 }
                 // Nhat ki thanh cong
                 $logs_message[] = $this->lang['update_log_creat_dir'] . ' ' . $cp . $p;
                 $logs_status[] = true;
             }
             $cp .= $p . '/';
         }
     }
     // Di chuyen cac file
     foreach ($files as $file_i) {
         if (is_file(NV_ROOTDIR . '/install/update/' . $file_i)) {
             // Neu ton tai thi xoa truoc
             if (file_exists(NV_ROOTDIR . '/' . $file_i)) {
                 if (@unlink(NV_ROOTDIR . '/' . $file_i) == false and $is_ftp === true) {
                     // Dung ftp de xoa
                     $ftp->unlink($file_i);
                 }
             }
             // Di chuyen bang cach doi ten duong dan
             if (@rename(NV_ROOTDIR . '/install/update/' . $file_i, NV_ROOTDIR . '/' . $file_i) == false and $is_ftp === true) {
                 // Dung ftp di chuyen
                 $ftp->rename('install/update/' . $file_i, $file_i);
             }
             if (file_exists(NV_ROOTDIR . '/install/update/' . $file_i)) {
                 // Nhat ki that bai
                 $logs_message[] = $this->lang['update_log_move_file'] . ' ' . $file_i;
                 $logs_status[] = false;
                 // Luu nhat ki
                 $this->log($nv_update_config, $logs_message, $logs_status);
                 if ($is_ftp === true) {
                     $ftp->close();
                 }
                 return $this->lang['update_error_move_file'] . ' ' . $file_i;
             }
             // Nhat ki thanh cong
             $logs_message[] = $this->lang['update_log_move_file'] . ' ' . $file_i;
             $logs_status[] = true;
         }
     }
     // Luu nhat ki
     $this->log($nv_update_config, $logs_message, $logs_status);
     return true;
 }
Exemplo n.º 29
0
        $sys_info['supports_rewrite'] = 'rewrite_mode_apache';
    }
}
if ($step == 1) {
    if ($step < 2) {
        $nv_Request->set_Session('maxstep', 2);
    }
    $title = $lang_module['select_language'];
    $contents = nv_step_1();
} elseif ($step == 2) {
    // Tu dong nhan dang Remove Path
    if ($nv_Request->isset_request('tetectftp', 'post')) {
        $ftp_server = nv_unhtmlspecialchars($nv_Request->get_title('ftp_server', 'post', '', 1));
        $ftp_port = intval($nv_Request->get_title('ftp_port', 'post', '21', 1));
        $ftp_user_name = nv_unhtmlspecialchars($nv_Request->get_title('ftp_user_name', 'post', '', 1));
        $ftp_user_pass = nv_unhtmlspecialchars($nv_Request->get_title('ftp_user_pass', 'post', '', 1));
        if (!$ftp_server or !$ftp_user_name or !$ftp_user_pass) {
            die('ERROR|' . $lang_module['ftp_error_empty']);
        }
        $ftp = new NukeViet\Ftp\Ftp($ftp_server, $ftp_user_name, $ftp_user_pass, array('timeout' => 10), $ftp_port);
        if (!empty($ftp->error)) {
            $ftp->close();
            die('ERROR|' . (string) $ftp->error);
        } else {
            $list_valid = array(NV_ASSETS_DIR, 'includes', 'index.php', 'modules', 'themes', 'vendor');
            $ftp_root = $ftp->detectFtpRoot($list_valid, NV_ROOTDIR);
            if ($ftp_root === false) {
                $ftp->close();
                die('ERROR|' . (empty($ftp->error) ? $lang_module['ftp_error_detect_root'] : (string) $ftp->error));
            }
            $ftp->close();
Exemplo n.º 30
0
 if ($vid > 0) {
     $maxoption_data = 0;
     foreach ($array_answervote as $id => $title) {
         $title = nv_htmlspecialchars(strip_tags($title));
         if ($title != '') {
             $url = nv_unhtmlspecialchars(strip_tags($array_urlvote[$id]));
             $db->query("UPDATE " . NV_PREFIXLANG . "_" . $module_data . "_rows SET title = " . $db->quote($title) . ", url = " . $db->quote($url) . " WHERE id ='" . intval($id) . "' AND vid =" . $vid);
             ++$maxoption_data;
         } else {
             $db->query("DELETE FROM " . NV_PREFIXLANG . "_" . $module_data . "_rows WHERE id ='" . intval($id) . "' AND vid =" . $vid);
         }
     }
     foreach ($answervotenews as $key => $title) {
         $title = nv_htmlspecialchars(strip_tags($title));
         if ($title != '') {
             $url = nv_unhtmlspecialchars(strip_tags($urlvotenews[$key]));
             $sql = "INSERT INTO " . NV_PREFIXLANG . "_" . $module_data . "_rows (vid, title, url, hitstotal) VALUES (" . $db->quote($vid) . ", " . $db->quote($title) . ", " . $db->quote($url) . ", '0')";
             if ($db->insert_id($sql, 'id')) {
                 ++$maxoption_data;
             }
         }
     }
     if ($maxoption > $maxoption_data) {
         $maxoption = $maxoption_data;
     }
     if ($begindate > NV_CURRENTTIME or $enddate > 0 and $enddate < NV_CURRENTTIME) {
         $act = 0;
     } else {
         $act = 1;
     }
     $sql = "UPDATE " . NV_PREFIXLANG . "_" . $module_data . " SET question=" . $db->quote($question) . ", link=" . $db->quote($link) . ", acceptcm = " . $maxoption . ", admin_id = " . $admin_info['admin_id'] . ", groups_view = " . $db->quote($groups_view) . ", publ_time=" . $begindate . ", exp_time=" . $enddate . ", act=" . $act . " WHERE vid =" . $vid;