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); }
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 . "¤tpath=" . $currentpath; $CKEditor->config['filebrowserImageBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&popup=1&type=image&path=" . $path . "¤tpath=" . $currentpath; $CKEditor->config['filebrowserFlashBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?" . NV_NAME_VARIABLE . "=upload&popup=1&type=flash&path=" . $path . "¤tpath=" . $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¤tpath=" . $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¤tpath=" . $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¤tpath=" . $currentpath; } $val = nv_unhtmlspecialchars($val); return $CKEditor->editor($textareaname, $val); }
/** * 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; }
/** * 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 . "¤tpath=" . $currentpath; $CKEditor->config['filebrowserImageBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&popup=1&type=image&path=" . $path . "¤tpath=" . $currentpath; $CKEditor->config['filebrowserFlashBrowseUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&popup=1&type=flash&path=" . $path . "¤tpath=" . $currentpath; if (!empty($admin_info['allow_files_type'])) { $CKEditor->config['filebrowserUploadUrl'] = NV_BASE_SITEURL . NV_ADMINDIR . "/index.php?nv=upload&" . NV_OP_VARIABLE . "=quickupload¤tpath=" . $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¤tpath=" . $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¤tpath=" . $currentpath; } $val = nv_unhtmlspecialchars($val); return $CKEditor->editor($textareaname, $val); }
/** * 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; }
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); } }
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)) {
/** * 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; }
$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']);
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 = ''; }
function change($text) { $text = nv_unhtmlspecialchars(trim(nv_convert(strip_tags($text)))); $text = str_replace(array('"', '>', '<', '´', '`'), array('"', '>', '<', '´', '`'), $text); //if($strip==1) //{ //$text = strip_tags($text); //} return $text; }
/** * 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; }
$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(' '); } $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) {
$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']) {
$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');
/** * 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'); }
/** * 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 . '&' . NV_NAME_VARIABLE . '=contact&' . 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'); }
$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;
$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); } /*
/** * 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; } }
$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());
$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') {
$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 . '&' . NV_NAME_VARIABLE . '=' . $module_name . '&' . 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 . '&' . NV_NAME_VARIABLE . '=' . $module_name . '&' . 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);
/** * 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 . '&' . 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; }
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); }
$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;
/** * 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; }
$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();
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;