import v2.0.0.0_RC3 | 2012-07-01

https://github.com/lucanos/CommunityID -> http://www.itadmins.net/archives/357
This commit is contained in:
2019-07-17 22:31:04 +02:00
parent 38c146901c
commit 2f397f01f7
2677 changed files with 296182 additions and 45159 deletions

View File

@ -1,7 +1,7 @@
<?php
/*
* @copyright Copyright (C) 2005-2009 Keyboard Monkeys Ltd. http://www.kb-m.com
* @copyright Copyright (C) 2005-2010 Keyboard Monkeys Ltd. http://www.kb-m.com
* @license http://creativecommons.org/licenses/BSD/ BSD License
* @author Keyboard Monkeys Ltd.
* @since CommunityID 0.9
@ -12,15 +12,19 @@
class Users_Form_PersonalInfo extends Zend_Form
{
private $_profile;
private $_sregRequest;
private $_sregProps;
private $_formElements = array();
public function __construct($options = null, $user = null, $sregProps = null)
public function __construct($options = null, Users_Model_Profile $profile = null, $sregRequest = null, $sregProps = null)
{
$this->_profile = $profile;
$this->_sregRequest= $sregRequest;
$this->_sregProps = $sregProps;
$fields = new Model_Fields();
$fieldsArr = $fields->getValues($user);
$fieldsArr = $fields->getValues($this->_profile);
for ($i = 0; $i < count($fieldsArr); $i++) {
$this->_formElements[$fieldsArr[$i]->openid] = array(
'field' => $fieldsArr[$i],
@ -57,6 +61,14 @@ class Users_Form_PersonalInfo extends Zend_Form
$this->addElement($element);
}
} else {
$profileName = new Monkeys_Form_Element_Text('profileName');
translate('Profile Name');
$profileName->setLabel('Profile Name')
->setRequired(true)
->setValue($this->_profile->name);
$this->addElement($profileName);
foreach ($this->_formElements as $formElement) {
$this->addElement($formElement['element']);
}
@ -75,4 +87,44 @@ class Users_Form_PersonalInfo extends Zend_Form
return $values;
}
public function getSregRequest()
{
return $this->_sregRequest;
}
public function getPolicyUrl()
{
$args = $this->_sregRequest->getExtensionArgs();
if (!$args || !isset($args['policy_url'])) {
return false;
}
return $args['policy_url'];
}
public static function getForm(Auth_OpenID_Request $request, Users_Model_Profile $profile)
{
// The class Auth_OpenID_SRegRequest is included in the following file
require_once 'libs/Auth/OpenID/SReg.php';
$sregRequest = Auth_OpenID_SRegRequest::fromOpenIDRequest($request);
$props = $sregRequest->allRequestedFields();
$args = $sregRequest->getExtensionArgs();
if (isset($args['required'])) {
$required = explode(',', $args['required']);
} else {
$required = false;
}
$sregProps = array();
foreach ($props as $field) {
$sregProps[$field] = $required && in_array($field, $required);
}
$personalInfoForm = new Users_Form_PersonalInfo(null, $profile, $sregRequest, $sregProps);
return $personalInfoForm;
}
}