1,套件里面直接安装

会安装好几个依赖,包括php apach ,数据库。这些安装的时间就比较长。

安装完成后自动安装 Moodle。 过程也很长数据库里面的表有接近500张。

2,安装位置

顺便提一下 nas程序的安装位置

这两个位置好像都不是的。

下面的

这里是程序位置

这里是用户的数据和语言包的位置

3,启动邮件注册,在后台就可以配置。 但是我不想实际发送邮件,就要修改代码。

主要修改 login和 auth/email/autho.php 插件里面的代码,

注释掉了发邮件的部分。

		// add by louis // Trigger event.\core\event\user_created::create_from_userid($user->id)->trigger();//if (! send_confirmation_email($user, $confirmationurl)) {//    print_error('auth_emailnoemail', 'auth_email');//}if ($notify) {global $CFG, $PAGE, $OUTPUT;$emailconfirm = get_string('emailconfirm');$PAGE->navbar->add($emailconfirm);$PAGE->set_title($emailconfirm);$PAGE->set_heading($PAGE->course->fullname);echo $OUTPUT->header();notice(get_string('emailconfirmsent', '', $user->email), "$CFG->wwwroot/index.php");} else {return true;}}

login里面修改了 signup.php和signup_form.php

signup里面,这个email不想填,但是还不能没有。

if ($mform_signup->is_cancelled()) {redirect(get_login_url());} else if ($user = $mform_signup->get_data()) {//add by louis//print_object( $user);$user->email=($user->username).'qq.com';$user->email2=$user->email;// Add missing required fields.$user = signup_setup_new_user($user);//print_object( $user);//die;// Plugins can perform post sign up actions once data has been validated.core_login_post_signup_requests($user);$authplugin->user_signup($user, true); // prints notice and link to login/index.phpexit; //never reached
}

signup_form.php 是登陆时候的表单,里面改了一通。

效果这样,用手机号注册。

就这么用吧。

补充一下,里面有个中文语言包位置在这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86850.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86850.shtml
英文地址,请注明出处:http://en.pswp.cn/web/86850.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙HarmonyOS 5小游戏实践:打砖块游戏(附:源代码)

打砖块是一款经典的游戏,它简单易懂却又充满挑战性。本文将介绍如何使用ArkUI框架开发一个完整的打砖块游戏,涵盖游戏逻辑设计、UI实现和交互处理等核心内容。 游戏架构设计 我们的打砖块游戏采用了组件化设计,主要分为两个部分:…

Flutter MobX 响应式原理与实战详解

📚 Flutter 状态管理系列文章目录 Flutter 状态管理(setState、InheritedWidget、 Provider 、Riverpod、 BLoC / Cubit、 GetX 、MobX 、Redux) setState() 使用详解:原理及注意事项 InheritedWidget 组件使用及原理 Flutter 中 Provider 的使用、注…

浅谈国产数据库多租户方案:提升云计算与SaaS的资源管理效率

近年来,“数据库多租户”这一概念在技术圈内频频出现,成为云计算和SaaS(软件即服务)架构中的重要组成部分。多租户架构不仅为企业提供了高效的资源隔离与共享解决方案,还能大幅降低成本,提高系统的可扩展性…

Wpf的Binding

前言 wpf的Binding就像一个桥梁,它的作用就是连接逻辑层与界面层,既能够把逻辑层的数据搬到界面层展示,又能将界面层的数据更改后传递到逻辑层,Binding的数据来源就是Binding的源,数据展示的地方就是Binding的目标。 …

嵌入式单片机中SPI串行外设接口控制与详解

串行外设接口(Serial Peripheral Interface)的简称也叫做SPI,是一种高速的、全双工同步通信的一种接口,串行外设接口一般是需要4根线来进行通信(NSS、MISO、MOSI、SCK),但是如果打算实现单向通信(最少3根线),就可以利用这种机制实现一对多或者一对一的通信。 第一:…

【世纪龙科技】新能源汽车动力电池总成装调与检修教学软件

在新能源汽车产业“技术迭代快、安全要求高、实操风险大”的背景下,职业院校如何以“项目式教学改革”为突破口,破解传统实训“高成本、高风险、低效率”的困局?江苏世纪龙科技以桌面VR沉浸式技术为支点,推出《新能源动力电池总成…

GO泛型编程面试题及参考答案

目录 什么是 Go 中的泛型?Go 从哪个版本开始支持泛型? 在 Go 中如何定义一个带类型参数的函数? 如何为结构体添加类型参数? 使用 any 关键字和自定义类型约束有什么区别? 泛型中~T 的语义及其实际应用是什么? 如何在函数中使用多个类型参数?举例说明。 Go 泛型支…

ReactRouter-404路由配置以及两种路由模式

404路由 场景:当浏览器输入url的路径在整个路由配置中都找不到对应的path,为了用户体验,可以使用404兜底组件进行渲染 实现步骤 准备一个404组件在路由表数组的末尾,以*号作为路由path配置路由 新建404组件 const NotFound (…

《Kubernetes》Service 详解+Ingress

主要介绍kubernetes的流量负载组件:Service和Ingress。 1. Service 1.1 Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用…

常见网络知识,宽带、路由器

常见网络知识,宽带、路由器 1、关于光猫、桥接和路由接法 现在的光猫都带有路由功能,即光猫、路由一体。不需要路由器也能让设备连上,但是一般来说路由功能穿墙有限,放在弱电箱/多媒体箱里的光猫发射出来的wifi信号其实是很难在…

Android应用缓存清理利器:WorkManager深度实践指南

本文将带你全面掌握使用WorkManager实现缓存清理的技术方案,从基础原理到性能优化,提供完整代码实现和工程实践指南 一、缓存清理的必要性与挑战 在Android应用开发中,缓存管理是优化应用性能的关键环节。随着应用使用时间增长,缓…

如何理解构件“可独立部署”的特性

构件的“可独立部署”特性是其区别于普通代码模块的核心特征之一,我们可以通过生活案例和技术原理解释来理解这一特性: 一、生活类比:从“家电维修”看独立部署 假设你家的空调坏了,维修时只需拆开空调外机更换压缩机&#xff0…

uni-app subPackages 分包加载:优化应用性能的利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

CentOS 8 安装第二个jdk隔离环境

1.适用于原本已经装了jdk8,现在需要安装jdk17: 多版本 JDK 共存不希望修改系统默认 JavaDocker 或脚本化部署 2. 下载 Adoptium(原 AdoptOpenJDK) 的 OpenJDK 17: cd /指定目录 sudo wget https://github.com/adopti…

Day.43

getitem方法: class MyList: def __init__(self): self.data [10, 20, 30, 40, 50] def __getitem__(self, idx): return self.data[idx] my_list_obj MyList() print(my_list_obj[2]) len方法: class MyList: def __init__(self): self.data [10…

三七互娱GO面经及参考答案

MySQL 有哪些存储引擎?MyISAM 如何存储数字类型数据? MySQL 拥有多种存储引擎,每种都有其独特的特性和适用场景。常见的存储引擎包括 InnoDB、MyISAM、Memory、CSV、Archive、Federated 等。 InnoDB 是 MySQL 5.5 版本之后的默认存储引擎,它支持事务、外键、行级锁和崩溃恢…

git常见问题汇总-重复提交/删除已提交文件等问题

git常见问题汇总: 1,已经commit的文件需要修改 /删除,应该怎么处理? 2,自己建的分支“branch1”显示“rebasing branch1”,这是什么情况? 3,由于内容修改/优化,在同一个…

Python实例题:简单的 Web 服务器

目录 Python实例题 题目 要求: 解题思路: 代码实现: Python实例题 题目 简单的 Web 服务器 要求: 使用 Python 的 socket 模块实现一个简单的 HTTP 服务器。支持以下功能: 处理 GET 和 POST 请求静态文件服务…

3.Stable Diffusion WebUI本地部署和实践

本文看了(68 封私信) 逼真的图片生产 | Stable Diffusion WebUI本地部署看这一篇就够了 - 知乎和(68 封私信) Stable Diffusion WebUI 实践: 基本技法及微调 - 知乎,本人根据它们部署了一遍,中间遇到一些报错,但根据报错提示解决了问题&#…

阿里最新开源:Mnn3dAvatar 3D数字人框架, 无需联网,本地部署可离线运行,支持多模态实时交互

Mnn3dAvatar 3D数字人框架是基于阿里巴巴开源的轻量级深度学习推理框架MNN(Mobile Neural Network)开发的全新3D数字人框架。Aibot亲测这是一个可以在本地运行、完全离线、支持多模态实时交互的智能数字人App。可以在本地私有部署。感兴趣的同学可以拿来…