`
jiasudu1649
  • 浏览: 712258 次
  • 性别: 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

    fengoffice-v1.7.5

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

    FengOffice 2.3.2 完全汉化包 1.0 Beta

    本人原创,花了差不多一个星期,完全汉化,要点资源分应该不过分哈。 全名:FengOffice 2.3.2 完全汉化包 1.0 Beta

    fengoffice 1.75 安装包 多国语言

    fengoffice 1.75 安装包 多国语言 经典稳定版

    fengoffice

    基于LAMP的开源软件,应用于办公自动化。

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

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

    fengoffice2.0

    一款在线协同办公软件,包括目前所有在线处理信息协同办公软件。

    fengoffice_1.7.4支持中文

    fengoffice_1.7.4支持中文fengoffice_1.7.4支持中文fengoffice_1.7.4支持中文fengoffice_1.7.4支持中文

    FengOffice使用教程

    ppt类型的FengOffice使用教程

    fengOffice文档管理系统安装手册

    简单讲解了fengOffice文档管理系统安装的步骤,最后的安装和一般的php工程一样。

    Feng Office

    基于PHP的开源OA系统,支持二次开发,Feng Office是一个开源的在线协作系统,采用B/S架构,运用php语言开发而成。

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

    使用fengoffice中文语言出现missing lang.js 的解决方法 不想下载的可以看http://hi.baidu.com/%D2%BB%CF%C2/blog/item/9e59798b11f4a409c9fc7a23.html

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

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

    feng office 甘特图

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

    Feng Office 2.5

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

    Feng Office: Project Management and more-开源

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

    German translation of Feng Office-开源

    这是Feng Office(以前称为OpenGoo)的德语翻译项目。 主要项目可以在这里找到:http://sourceforge.net/projects/opengoo/

    Feng Office 2.2.4 汉化包_forsuc v1.0

    智盛开源基于shellway的V3.0汉化包进行的进一步汉化。 适合于Feng Office V2.2.4. 如果发现错文,请提出,将进一步完善。

    Feng Office Bulgarian Community-开源

    该项目主要致力于保加利亚办事处的本地化(www.fengoffice.com)。 我们计划在将来通过设计和代码贡献对其进行扩展。 有关此项目的任何问题或疑问,请通过clabteam.com与我们联系。

Global site tag (gtag.js) - Google Analytics