123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- <?php
- // +----------------------------------------------------------------------
- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +----------------------------------------------------------------------
- // | Author: 老猫 <thinkcmf@126.com>
- // +----------------------------------------------------------------------
- function sp_testwrite($d)
- {
- $tfile = "_test.txt";
- $fp = @fopen($d . "/" . $tfile, "w");
- if (!$fp) {
- return false;
- }
- fclose($fp);
- $rs = @unlink($d . "/" . $tfile);
- if ($rs) {
- return true;
- }
- return false;
- }
- function sp_dir_create($path, $mode = 0777)
- {
- if (is_dir($path))
- return true;
- $ftp_enable = 0;
- $path = sp_dir_path($path);
- $temp = explode('/', $path);
- $cur_dir = '';
- $max = count($temp) - 1;
- for ($i = 0; $i < $max; $i++) {
- $cur_dir .= $temp[$i] . '/';
- if (@is_dir($cur_dir))
- continue;
- @mkdir($cur_dir, 0777, true);
- @chmod($cur_dir, 0777);
- }
- return is_dir($path);
- }
- function sp_dir_path($path)
- {
- $path = str_replace('\\', '/', $path);
- if (substr($path, -1) != '/')
- $path = $path . '/';
- return $path;
- }
- function sp_execute_sql($db, $sql)
- {
- $sql = trim($sql);
- preg_match('/CREATE TABLE .+ `([^ ]*)`/', $sql, $matches);
- if ($matches) {
- $table_name = $matches[1];
- $msg = "创建数据表{$table_name}";
- try {
- $db->execute($sql);
- return [
- 'error' => 0,
- 'message' => $msg . ' 成功!'
- ];
- } catch (\Exception $e) {
- return [
- 'error' => 1,
- 'message' => $msg . ' 失败!',
- 'exception' => $e->getTraceAsString()
- ];
- }
- } else {
- try {
- $db->execute($sql);
- return [
- 'error' => 0,
- 'message' => 'SQL执行成功!'
- ];
- } catch (\Exception $e) {
- return [
- 'error' => 1,
- 'message' => 'SQL执行失败!',
- 'exception' => $e->getTraceAsString()
- ];
- }
- }
- }
- /**
- * 显示提示信息
- * @param string $msg 提示信息
- */
- function sp_show_msg($msg, $class = '')
- {
- echo "<script type=\"text/javascript\">showmsg(\"{$msg}\", \"{$class}\")</script>";
- flush();
- ob_flush();
- }
- function sp_update_site_configs($db, $table_prefix)
- {
- $sitename = I("post.sitename");
- $email = I("post.manager_email");
- $siteurl = I("post.siteurl");
- $seo_keywords = I("post.sitekeywords");
- $seo_description = I("post.siteinfo");
- $site_options = <<<helllo
- {
- "site_name":"$sitename",
- "site_host":"$siteurl",
- "site_root":"",
- "site_icp":"",
- "site_admin_email":"$email",
- "site_tongji":"",
- "site_copyright":"",
- "site_seo_title":"$sitename",
- "site_seo_keywords":"$seo_keywords",
- "site_seo_description":"$seo_description"
- }
- helllo;
- $sql = "INSERT INTO `{$table_prefix}options` (option_value,option_name) VALUES ('$site_options','site_options')";
- $db->execute($sql);
- sp_show_msg("网站信息配置成功!");
- }
- function sp_create_admin_account($db, $table_prefix, $authcode)
- {
- $username = I("post.manager");
- $password = sp_password(I("post.manager_pwd"), $authcode);
- $email = I("post.manager_email");
- $create_date = date("Y-m-d h:i:s");
- $ip = get_client_ip(0, true);
- $sql = <<<hello
- INSERT INTO `{$table_prefix}users`
- (id,user_login,user_pass,user_nicename,user_email,user_url,create_time,user_activation_key,user_status,last_login_ip,last_login_time) VALUES
- ('1', '{$username}', '{$password}', 'admin', '{$email}', '', '{$create_date}', '', '1', '{$ip}','{$create_date}');;
- hello;
- $db->execute($sql);
- sp_show_msg("管理员账号创建成功!");
- }
- function sp_create_db_config($config)
- {
- if (is_array($config)) {
- //读取配置内容
- $conf = file_get_contents(__DIR__ . '/data/config.php');
- //替换配置项
- foreach ($config as $key => $value) {
- $conf = str_replace("#{$key}#", $value, $conf);
- }
- if (strpos(cmf_version(), '5.0.') === false) {
- $confDir = CMF_DATA . 'config/'; // 5.1
- } else {
- $confDir = CMF_DATA . 'conf/'; // 5.0
- }
- try {
- if (!file_exists($confDir)) {
- mkdir($confDir, 0777, true);
- }
- file_put_contents($confDir . 'database.php', $conf);
- } catch (\Exception $e) {
- return false;
- }
- return true;
- }
- }
|