`
jiasudu1649
  • 浏览: 724612 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

fengoffice 添加自动注册页面

    博客分类:
  • php
 
阅读更多
fengoffice的注册页面


小弟对php不是很熟悉,对fengoffice也不是很熟悉,为了帮朋友忙,特地花了一些时间做了fengoffice的注册页面。欢迎大家提出修改意见。

步骤如下:

1  从  fengoffice/application/controllers/AccessController.class.php中
function complete_installation()  函数 复制一份 修改函数名为complete_register

代码如下
/**
	 * register
	 *
	 * @param void
	 * @return null
	 */
	function complete_register() {
		
		
                $form_data = array_var($_POST, 'form');
		tpl_assign('form_data', $form_data);

		if(array_var($form_data, 'submited') == 'submited') {
			try {
				$admin_password = trim(array_var($form_data, 'admin_password'));
				$admin_password_a = trim(array_var($form_data, 'admin_password_a'));

				if(trim($admin_password) == '') {
					throw new Error(lang('password value required'));
				} // if

				if($admin_password <> $admin_password_a) {
					throw new Error(lang('passwords dont match'));
				} // if

				DB::beginWork();

				

				// Create the administrator user
				$administrator = new Contact();
				$pergroup = PermissionGroups::findOne(array('conditions'=>"`name`='Collaborator Customer'"));
				$administrator->setUserType($pergroup->getId());
				
				$administrator->setUsername(array_var($form_data, 'admin_username'));
				
				
				$administrator->setPassword($admin_password);
				$administrator->setFirstname(array_var($form_data, 'admin_username'));
				$administrator->setObjectName();
				$administrator->save();
				
				$user_password = new ContactPassword();
				$user_password->setContactId($administrator->getId());
				$user_password->password_temp = $admin_password;
				$user_password->setPasswordDate(DateTimeValueLib::now());
				$user_password->setPassword(cp_encrypt($admin_password, $user_password->getPasswordDate()->getTimestamp()));
				$user_password->save();
				
				//Add email after save because is needed. 
				$administrator->addEmail(array_var($form_data, 'admin_email'), 'personal', true);
				
				

//permissions
				$permission_group = new PermissionGroup();
				$permission_group->setName('User '+ $administrator->getId()+' Personal');
				$permission_group->setContactId($administrator->getId());
				$permission_group->setIsContext(false);
				$permission_group->setType("permission_groups");
				$permission_group->save();
				
				$administrator->setPermissionGroupId($permission_group->getId());
				$administrator->save();
				
				
				
				$contact_pg = new ContactPermissionGroup();
				$contact_pg->setContactId($administrator->getId());
				$contact_pg->setPermissionGroupId($permission_group->getId());
				$contact_pg->save();
				
				// tab panel permissions
				$panels = TabPanels::getEnabled();
				foreach ($panels as $panel) {
					$tpp = new TabPanelPermission();
					$tpp->setPermissionGroupId($administrator->getPermissionGroupId());
					$tpp->setTabPanelId($panel->getId());
					$tpp->save();
				}
				
				

				
				Hook::fire('after_user_add', $administrator, $null);
				
				DB::commit();

				$this->redirectTo('access', 'login');
			} catch(Exception $e) {
				tpl_assign('error', $e);
				DB::rollback();
			} // try
		} // if
	} // register





2   复制  /fengoffice/application/views/access/complete_installation.php  一份
修改名称为/fengoffice/application/views/access/complete_register.php


<?php set_page_title(lang('complete installation')) ?>
<form class="internalForm" action="<?php echo get_url('access', 'complete_register') ?>" method="post">
<?php tpl_display(get_template_path('form_errors')) ?>

  <p><?php echo lang('complete installation desc') ?></p>

  <h2><?php echo lang('administrator') ?></h2>

  <div>
    <?php echo label_tag(lang('username'), 'adminUsername', true) ?>
    <?php echo text_field('form[admin_username]', array_var($form_data, 'admin_username'), array('id' => 'adminUsername', 'class' => 'medium')) ?>
  </div>
  <div>
    <?php echo label_tag(lang('email address'), 'adminEmail', true) ?>
    <?php echo text_field('form[admin_email]', array_var($form_data, 'admin_email'), array('id' => 'adminEmail', 'class' => 'long')) ?>
  </div>
  <div>
    <?php echo label_tag(lang('password'), 'adminPassword', true) ?>
    <?php echo password_field('form[admin_password]', null, array('id' => 'adminPassword', 'class' => 'medium')) ?>
  </div>
  <div>
    <?php echo label_tag(lang('password again'), 'adminPasswordA', true) ?>
    <?php echo password_field('form[admin_password_a]', null, array('id' => 'adminPasswordA', 'class' => 'medium')) ?>
  </div>
  
  <h2><?php echo lang('company') ?></h2>
  
  <div>
    <?php echo label_tag(lang('name'), 'companyName', true) ?>
    <?php echo text_field('form[company_name]', array_var($form_data, 'company_name'), array('id' => 'companyName', 'class' => 'long')) ?>
  </div>
  
  <input type="hidden" name="form[submited]" value="submited" />
  
  <?php echo submit_button('submit') ?>
  
</form>



3 登陆系统  请求地址如下  index.php?c=access&a=complete_register

4 可以开始自由注册
分享到:
评论
2 楼 jiasudu1649 2013-03-05  
不是
应该是Collaborator Customer 这个级别的
1 楼 bl_mine 2013-03-05  
您好~麻烦问下 这个如果注册了 是超级管理员 对吗?

相关推荐

    fengoffice_2.1.0

    About Feng Office 2.1 - Beta ================================ Feng Office is a Collaboration Platform and Project Management System. It is licensed under the Affero GPL 3... * contact@fengoffice.com

    fengoffice2.0

    《fengoffice 2.0:开启高效在线协同办公新时代》 fengoffice 2.0,这款在线协同办公软件,是信息化办公领域的一颗璀璨明星。它集成了当前所有在线处理信息的功能,旨在为用户提供全方位、高效便捷的协同工作环境,...

    fengoffice-v1.7.5

    Feng Office的前身是opengoo,这是一个历史悠久的在线办公系统,作为后继者的fengoffice,功能自然不含糊。 它不仅包含的完备的文档管理,权限管理,版本管理,居然包含了常用的office的许多功能,而且安装简单,...

    FengOffice 2.3.2 完全汉化包 1.0 Beta

    FengOffice 2.3.2 是一款功能丰富的协同办公软件,主要面向企业和团队,提供文档管理、项目协作、任务分配、时间管理等核心功能。这个版本的“完全汉化包 1.0 Beta”是作者针对原版FengOffice进行的深度本地化工作,...

    fengoffice_1.7.4支持中文

    FengOffice是一款功能强大的协同办公软件,它提供了文档管理、任务分配、日程安排以及团队协作等多种功能。在标题和描述中提到的"FengOffice_1.7.4支持中文"表明该版本是针对中文用户特别优化的,意味着用户界面、...

    fengoffice 1.75 安装包 多国语言

    FengOffice是一款功能强大的协同办公软件,它提供了丰富的文档管理、项目协作和团队沟通工具,帮助企业或个人提升工作效率。1.75版本是该软件的一个经典稳定版本,意味着它经过了多轮测试,拥有良好的兼容性和稳定性...

    fengoffice_1.7.5rc3 开源PHP文档管理系统平台

    本文将深入探讨fengoffice的核心功能、特点以及在实际应用中的优势。 一、系统概述 fengoffice是一款功能强大的在线协作工具,它允许用户在Web浏览器上创建、存储、共享和管理各种类型的文档。1.7.5rc3版本在前代...

    fengoffice

    3. **办公自动化**:OA系统是企业提高效率的重要工具,FengOffice提供了文档管理、工作流程自动化、审批流程、邮件集成等功能,帮助企业实现无纸化办公,降低沟通成本,提升协作效率。 4. **文档共享**:在...

    使用fengoffice中文语言出现missing lang.js 的解决方法

    ### 使用FengOffice中文语言出现missing lang.js的解决方法 #### 一、问题背景 在使用FengOffice项目管理软件时,如果选择了中文语言环境,可能会遇到“missing lang.js”的错误提示。这个问题通常是由于FengOffice...

    FengOffice使用教程

    ppt类型的FengOffice使用教程

    Feng Office v2.5 多国语言版.zip

    它具备了主流在线协作系统所应具备的所有功能,包括任务管理、日程管理、文件管理、联系人管理以及email收发功能。其文件管理模块,实现了文件版本管理的功能,能够方便的查找、下载同一文件的不同版本。...

    feng office 甘特图

    FengOffice的基本概念 本节我们讲述FengOffice的基本概念。理解这些概念对我们理解整个应用程序是至关重要的。所以,要确保在阅读本手册其他部分之前,你已阅读了本节的内容。 信息类型 在Feng Office系统中,有...

    Feng Office 2.5

    Feng Office 2.5 更新日志: 错误修正:提交回车键通用搜索表单不会在谷歌Chrome浏览器工作 错误修正:使用所见即所得的链接时,现在保存为这种 ...错误修正:初级面包屑显示确切的上下文 ...错误修正:mysql的交易...

    oa办公系统开源的很好用哦php的

    OA(Office Automation)办公系统是企业信息化建设中的关键部分,它通过自动化的工作流程、文档管理、任务分配等功能,提升组织内部的工作效率和协作能力。在本主题中,我们将重点讨论一款基于PHP开发的开源OA办公...

    Feng Office: Project Management and more-开源

    Feng Office(以前称为OpenGoo)是一种免费且开源的在线项目管理和协作工具,已获得Affero GPL 3许可。

    German translation of Feng Office-开源

    Feng Office是一款功能丰富的开源协同办公软件,旨在提高团队的工作效率和协作能力。这款软件的德语翻译项目意味着它已经被本地化,以便德国用户能够更方便地使用,使其功能更加贴近德语使用者的需求。...

    基于PHP的FengOfficephp简体中文语言包源码.zip

    FengOffice是一款开源的协同办公软件,它允许用户进行文档共享、任务管理、日程安排等协作工作。此语言包的目的是将FengOffice的用户界面翻译成中文,以便中国用户更方便地使用。 【描述】"基于PHP的FengOfficephp...

    gelsheet-开源

    6. **API集成**:提供API接口,便于与其他Web服务或内部系统集成,实现自动化流程。 7. **界面友好**:采用直观的用户界面设计,使得非技术人员也能轻松上手。 在提供的文件列表中,我们注意到“fengoffice”这个...

    Feng Office 2.2.4 汉化包_forsuc v1.0

    用户在安装汉化包后,Feng Office的界面将自动切换为简体中文,使得中文用户可以更直观地了解和操作各项功能。 在使用汉化包时,用户需要先确保自己的Feng Office版本为2.2.4,因为汉化包是针对这一特定版本设计的...

Global site tag (gtag.js) - Google Analytics