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:
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
15
modules/default/controllers/ErrorController.php
Executable file → Normal file
15
modules/default/controllers/ErrorController.php
Executable file → Normal 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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -11,4 +11,17 @@
|
||||
|
||||
class ErrorController extends Monkeys_Controller_Error
|
||||
{
|
||||
protected function _getTranslationForException($ex)
|
||||
{
|
||||
switch ($ex) {
|
||||
case 'Monkeys_BadUrlException':
|
||||
return $this->view->translate('The URL you entered is incorrect. Please correct and try again.');
|
||||
break;
|
||||
case 'Monkeys_AccessDeniedException':
|
||||
return $this->view->translate('Access Denied - Maybe your session has expired? Try logging-in again.');
|
||||
break;
|
||||
default:
|
||||
return $ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
2
modules/default/controllers/HistoryController.php
Executable file → Normal file
2
modules/default/controllers/HistoryController.php
Executable file → Normal 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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -66,6 +66,9 @@ class MessageusersController extends CommunityID_Controller_Action
|
||||
}
|
||||
|
||||
$users = new Users_Model_Users();
|
||||
|
||||
// here we get the users emails stored in the users table, even if using LDAP, for performance reasons.
|
||||
// Do know however, that a user email is synced with the LDAP repository every time he logs in.
|
||||
foreach ($users->getUsers() as $user) {
|
||||
if ($user->role == Users_Model_User::ROLE_ADMIN) {
|
||||
continue;
|
||||
@ -80,9 +83,9 @@ class MessageusersController extends CommunityID_Controller_Action
|
||||
|
||||
try {
|
||||
$mail->send();
|
||||
$this->_helper->FlashMessenger->addMessage('Message has been sent');
|
||||
$this->_helper->FlashMessenger->addMessage($this->view->translate('Message has been sent'));
|
||||
} catch (Zend_Mail_Protocol_Exception $e) {
|
||||
$this->_helper->FlashMessenger->addMessage('There was an error trying to send the message');
|
||||
$this->_helper->FlashMessenger->addMessage($this->view->translate('There was an error trying to send the message'));
|
||||
if ($this->_config->logging->level == Zend_Log::DEBUG) {
|
||||
$this->_helper->FlashMessenger->addMessage($e->getMessage());
|
||||
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -23,7 +23,7 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$this->_helper->viewRenderer->setNeverRender(true);
|
||||
$this->_response->setRawHeader('HTTP/1.0 403 Forbidden');
|
||||
Zend_Registry::get('logger')->log("OpenIdController::providerAction: FORBIDDEN", Zend_Log::DEBUG);
|
||||
echo 'Forbidden';
|
||||
echo $this->view->translate('Forbidden');
|
||||
return;
|
||||
}
|
||||
|
||||
@ -37,13 +37,15 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
return $this->_sendResponse($server, $request->answer(false));
|
||||
}
|
||||
|
||||
$trustRoot = $this->_getTrustRoot($request);
|
||||
|
||||
if ($request->idSelect()) {
|
||||
if ($this->user->role == Users_Model_User::ROLE_GUEST) {
|
||||
$this->_forward('login');
|
||||
} else {
|
||||
if ($sites->isTrusted($this->user, $request->trust_root)) {
|
||||
if ($sites->isTrusted($this->user, $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('allow' => true));
|
||||
} elseif ($sites->isNeverTrusted($this->user, $request->trust_root)) {
|
||||
} elseif ($sites->isNeverTrusted($this->user, $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('allow' => false));
|
||||
} else {
|
||||
if ($request->immediate) {
|
||||
@ -69,15 +71,28 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
}
|
||||
|
||||
$this->_forward('login');
|
||||
} else {
|
||||
if ($sites->isTrusted($this->user, $request->trust_root)) {
|
||||
$this->_forward('proceed', null, null, array('allow' => true));
|
||||
} elseif ($sites->isNeverTrusted($this->user, $request->trust_root)) {
|
||||
$this->_forward('proceed', null, null, array('deny' => true));
|
||||
} else {
|
||||
$this->_forward('trust');
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if max_auth_age is requested through the PAPE extension
|
||||
require_once 'libs/Auth/OpenID/PAPE.php';
|
||||
if ($papeRequest = Auth_OpenID_PAPE_Request::fromOpenIDRequest($request)) {
|
||||
$extensionArgs = $papeRequest->getExtensionArgs();
|
||||
if (isset($extensionArgs['max_auth_age'])
|
||||
&& $extensionArgs['max_auth_age'] < $this->user->getSecondsSinceLastLogin())
|
||||
{
|
||||
$this->_forward('login');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ($sites->isTrusted($this->user, $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('allow' => true));
|
||||
} elseif ($sites->isNeverTrusted($this->user, $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('deny' => true));
|
||||
} else {
|
||||
$this->_forward('trust');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,16 +105,36 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$server = $this->_getOpenIdProvider();
|
||||
$request = $server->decodeRequest();
|
||||
|
||||
$this->view->yubikey = $this->_config->yubikey;
|
||||
|
||||
$authAttempts = new Users_Model_AuthAttempts();
|
||||
$attempt = $authAttempts->get();
|
||||
$this->view->useCaptcha = $attempt && $attempt->surpassedMaxAllowed();
|
||||
$this->view->form = new Form_OpenidLogin(null, $this->view->base, $attempt && $attempt->surpassedMaxAllowed());
|
||||
|
||||
if (!$request->idSelect()) {
|
||||
$this->view->form->openIdIdentity->setValue(htmlspecialchars($request->identity));
|
||||
if ($this->_getParam('invalidCaptcha')) {
|
||||
$this->view->form->captcha->addError($this->view->translate('Captcha value is wrong'));
|
||||
}
|
||||
|
||||
if ($this->_getParam('invalidLogin')) {
|
||||
$this->view->form->addError($this->view->translate('Invalid credentials'));
|
||||
}
|
||||
|
||||
if ($request->idSelect()) {
|
||||
$this->view->identity = false;
|
||||
$this->view->form->openIdIdentity->setRequired(true);
|
||||
} else {
|
||||
$this->view->identity = $request->identity;
|
||||
}
|
||||
|
||||
$this->view->queryString = $this->_queryString();
|
||||
|
||||
if ($this->user->role == Users_Model_User::ROLE_GUEST && @$_COOKIE['image']) {
|
||||
$images = new Users_Model_SigninImages();
|
||||
$this->view->image = $images->getByCookie($_COOKIE['image']);
|
||||
} else {
|
||||
$this->view->image = false;
|
||||
}
|
||||
}
|
||||
|
||||
public function authenticateAction()
|
||||
@ -115,22 +150,35 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$form->populate($formData);
|
||||
|
||||
if (!$form->isValid($formData)) {
|
||||
$this->_forward('login');
|
||||
$formErrors = $form->getErrors();
|
||||
// gotta resort to pass errors as params because we don't use the session here
|
||||
if (@$formErrors['captcha']) {
|
||||
$this->_forward('login', null, null, array('invalidCaptcha' => true));
|
||||
} else {
|
||||
$this->_forward('login');
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$users = new Users_Model_Users();
|
||||
$result = $users->authenticate($form->getValue('openIdIdentity'),
|
||||
$form->getValue('password'), true);
|
||||
$result = $users->authenticate(
|
||||
$request->idSelect()? $form->getValue('openIdIdentity') : $request->identity,
|
||||
$this->_config->yubikey->enabled && $this->_config->yubikey->force?
|
||||
$form->getValue('yubikey')
|
||||
: $form->getValue('password'),
|
||||
true,
|
||||
$this->view
|
||||
);
|
||||
|
||||
if ($result) {
|
||||
if ($attempt) {
|
||||
$attempt->delete();
|
||||
}
|
||||
$sites = new Model_Sites();
|
||||
if ($sites->isTrusted($users->getUser(), $request->trust_root)) {
|
||||
$trustRoot = $this->_getTrustRoot($request);
|
||||
if ($sites->isTrusted($users->getUser(), $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('allow' => true));
|
||||
} elseif ($sites->isNeverTrusted($users->getUser(), $request->trust_root)) {
|
||||
} elseif ($sites->isNeverTrusted($users->getUser(), $trustRoot)) {
|
||||
$this->_forward('proceed', null, null, array('deny' => true));
|
||||
} else {
|
||||
$this->_forward('trust');
|
||||
@ -142,7 +190,7 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$attempt->addFailure();
|
||||
$attempt->save();
|
||||
}
|
||||
$this->_forward('login');
|
||||
$this->_forward('login', null, null, array('invalidLogin' => true));
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,38 +199,11 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$server = $this->_getOpenIdProvider();
|
||||
$request = $server->decodeRequest();
|
||||
|
||||
$this->view->siteRoot = $request->trust_root;
|
||||
$this->view->siteRoot = $this->_getTrustRoot($request);
|
||||
$this->view->identityUrl = $this->user->openid;
|
||||
$this->view->queryString = $this->_queryString();
|
||||
|
||||
$this->view->fields = array();
|
||||
$this->view->policyUrl = false;
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
if (is_array($props) && count($props) > 0) {
|
||||
$sregProps = array();
|
||||
foreach ($props as $field) {
|
||||
$sregProps[$field] = $required && in_array($field, $required);
|
||||
}
|
||||
|
||||
$personalInfoForm = new Users_Form_PersonalInfo(null, $this->user, $sregProps);
|
||||
$this->view->fields = $personalInfoForm->getElements();
|
||||
|
||||
if (isset($args['policy_url'])) {
|
||||
$this->view->policyUrl = $args['policy_url'];
|
||||
}
|
||||
}
|
||||
$this->view->showProfileForm = $this->_hasSreg($request);
|
||||
}
|
||||
|
||||
public function proceedAction()
|
||||
@ -202,25 +223,12 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
|
||||
$response = $request->answer(true, null, $id);
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
if (is_array($props) && count($props) > 0) {
|
||||
$sregProps = array();
|
||||
foreach ($props as $field) {
|
||||
$sregProps[$field] = $required && in_array($field, $required);
|
||||
}
|
||||
|
||||
$personalInfoForm = new Users_Form_PersonalInfo(null, $this->user, $sregProps);
|
||||
if ($this->_hasSreg($request)
|
||||
// profileId will be null if site is already trusted
|
||||
&& $this->_getParam('profileId')) {
|
||||
$profiles = new Users_Model_Profiles();
|
||||
$profile = $profiles->getRowInstance($this->_getParam('profileId'));
|
||||
$personalInfoForm = Users_Form_PersonalInfo::getForm($request, $profile);
|
||||
$formData = $this->_request->getPost();
|
||||
$personalInfoForm->populate($formData);
|
||||
|
||||
@ -228,20 +236,23 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
// for the date element to be filled properly
|
||||
$foo = $personalInfoForm->isValid($formData);
|
||||
|
||||
$sregResponse = Auth_OpenID_SRegResponse::extractResponse($sregRequest,
|
||||
$sregResponse = Auth_OpenID_SRegResponse::extractResponse(
|
||||
$personalInfoForm->getSregRequest(),
|
||||
$personalInfoForm->getUnqualifiedValues());
|
||||
$sregResponse->toMessage($response->fields);
|
||||
}
|
||||
|
||||
$trustRoot= $this->_getTrustRoot($request);
|
||||
|
||||
if ($this->_getParam('allow')) {
|
||||
if ($this->_getParam('forever')) {
|
||||
|
||||
$sites = new Model_Sites();
|
||||
$sites->deleteForUserSite($this->user, $request->trust_root);
|
||||
$sites->deleteForUserSite($this->user, $trustRoot);
|
||||
|
||||
$siteObj = $sites->createRow();
|
||||
$siteObj->user_id = $this->user->id;
|
||||
$siteObj->site = $request->trust_root;
|
||||
$siteObj->site = $trustRoot;
|
||||
$siteObj->creation_date = date('Y-m-d');
|
||||
|
||||
if (isset($personalInfoForm)) {
|
||||
@ -256,7 +267,12 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$siteObj->save();
|
||||
}
|
||||
|
||||
$this->_saveHistory($request->trust_root, Model_History::AUTHORIZED);
|
||||
$this->_saveHistory($trustRoot, Model_History::AUTHORIZED);
|
||||
|
||||
require_once 'libs/Auth/OpenID/PAPE.php';
|
||||
if ($papeRequest = Auth_OpenID_PAPE_Request::fromOpenIDRequest($request)) {
|
||||
$this->_processPape($papeRequest, $response);
|
||||
}
|
||||
|
||||
$webresponse = $server->encodeResponse($response);
|
||||
|
||||
@ -273,17 +289,17 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
} elseif ($this->_getParam('deny')) {
|
||||
if ($this->_getParam('forever')) {
|
||||
$sites = new Model_Sites();
|
||||
$sites->deleteForUserSite($this->user, $request->trust_root);
|
||||
$sites->deleteForUserSite($this->user, $trustRoot);
|
||||
|
||||
$siteObj = $sites->createRow();
|
||||
$siteObj->user_id = $this->user->id;
|
||||
$siteObj->site = $request->trust_root;
|
||||
$siteObj->site = $trustRoot;
|
||||
$siteObj->creation_date = date('Y-m-d');
|
||||
$siteObj->trusted = serialize(false);
|
||||
$siteObj->save();
|
||||
}
|
||||
|
||||
$this->_saveHistory($request->trust_root, Model_History::DENIED);
|
||||
$this->_saveHistory($trustRoot, Model_History::DENIED);
|
||||
|
||||
return $this->_sendResponse($server, $request->answer(false));
|
||||
}
|
||||
@ -301,15 +317,6 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$history->save();
|
||||
}
|
||||
|
||||
private function _getOpenIdProvider()
|
||||
{
|
||||
$connection = new CommunityID_OpenId_DatabaseConnection(Zend_Registry::get('db'));
|
||||
$store = new Auth_OpenID_MySQLStore($connection, 'associations', 'nonces');
|
||||
$server = new Auth_OpenID_Server($store, $this->_helper->ProviderUrl($this->_config));
|
||||
|
||||
return $server;
|
||||
}
|
||||
|
||||
private function _sendResponse(Auth_OpenID_Server $server, Auth_OpenID_ServerResponse $response)
|
||||
{
|
||||
$this->_helper->layout->disableLayout();
|
||||
@ -334,37 +341,37 @@ class OpenidController extends CommunityID_Controller_Action
|
||||
$this->_response->appendBody($webresponse->body);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Circumvent PHP's automatic replacement of dots by underscore in var names in $_GET and $_POST
|
||||
*/
|
||||
private function _queryString()
|
||||
private function _getTrustRoot(Auth_OpenID_Request $request)
|
||||
{
|
||||
$unfilteredVars = array_merge($_GET, $_POST);
|
||||
$varsTemp = array();
|
||||
$vars = array();
|
||||
$extensions = array();
|
||||
foreach ($unfilteredVars as $key => $value) {
|
||||
if (substr($key, 0, 10) == 'openid_ns_') {
|
||||
$extensions[] = substr($key, 10);
|
||||
$varsTemp[str_replace('openid_ns_', 'openid.ns.', $key)] = $value;
|
||||
} else {
|
||||
$varsTemp[str_replace('openid_', 'openid.', $key)] = $value;
|
||||
}
|
||||
}
|
||||
foreach ($extensions as $extension) {
|
||||
foreach ($varsTemp as $key => $value) {
|
||||
if (strpos($key, "openid.$extension") === 0) {
|
||||
$prefix = "openid.$extension.";
|
||||
$key = $prefix . substr($key, strlen($prefix));
|
||||
}
|
||||
$vars[$key] = $value;
|
||||
}
|
||||
}
|
||||
if (!$extensions) {
|
||||
$vars = $varsTemp;
|
||||
}
|
||||
$trustRoot = $request->trust_root;
|
||||
Zend_OpenId::normalizeUrl($trustRoot);
|
||||
|
||||
return '?' . http_build_query($vars);
|
||||
return $trustRoot;
|
||||
}
|
||||
|
||||
private function _hasSreg(Auth_OpenID_Request $request)
|
||||
{
|
||||
// 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();
|
||||
|
||||
return (is_array($props) && count($props) > 0);
|
||||
}
|
||||
|
||||
private function _processPape(Auth_OpenID_PAPE_Request $papeRequest, $response)
|
||||
{
|
||||
if (($image = $this->user->getImage()) && @$_COOKIE['image']) {
|
||||
$cidSupportedPolicies = array(PAPE_AUTH_PHISHING_RESISTANT);
|
||||
if ($RPPreferredTypes = $papeRequest->preferredTypes($cidSupportedPolicies)) {
|
||||
$this->user->getLastLoginUtc();
|
||||
$papeResponse = new Auth_OpenID_PAPE_Response(
|
||||
$cidSupportedPolicies,
|
||||
$this->user->getLastLoginUtc()
|
||||
);
|
||||
$papeResponse->toMessage($response->fields);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -15,18 +15,22 @@ class PrivacyController extends CommunityID_Controller_Action
|
||||
|
||||
public function indexAction()
|
||||
{
|
||||
$locale = Zend_Registry::get('Zend_Locale');
|
||||
$localeElements = explode('_', $locale);
|
||||
$scriptsDir = $this->view->getScriptPath('privacy');
|
||||
|
||||
if (file_exists(APP_DIR . "/resources/$locale/privacy.txt")) {
|
||||
$file = APP_DIR . "/resources/$locale/privacy.txt";
|
||||
$locale = Zend_Registry::get('Zend_Locale');
|
||||
// render() changes _ to -
|
||||
$locale = str_replace('_', '-', $locale);
|
||||
$localeElements = explode('-', $locale);
|
||||
|
||||
if (file_exists("$scriptsDir/index-$locale.phtml")) {
|
||||
$view = "index-$locale";
|
||||
} else if (count($localeElements == 2)
|
||||
&& file_exists(APP_DIR . "/resources/".$localeElements[0]."/privacy.txt")) {
|
||||
$file = APP_DIR . "/resources/".$localeElements[0]."/privacy.txt";
|
||||
&& file_exists("$scriptsDir/index-".$localeElements[0].".phtml")) {
|
||||
$view = 'index-'.$localeElements[0];
|
||||
} else {
|
||||
$file = APP_DIR . "/resources/en/privacy.txt";
|
||||
$view = 'index-en';
|
||||
}
|
||||
|
||||
$this->view->privacyPolicy = nl2br(file_get_contents($file));
|
||||
$this->render($view);
|
||||
}
|
||||
}
|
||||
|
40
modules/default/controllers/ProfileController.php
Normal file
40
modules/default/controllers/ProfileController.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2005-2010 Keyboard Monkeys Ltd. http://www.kb-m.com
|
||||
* @license http://creativecommons.org/licenses/BSD/ BSD License
|
||||
* @author Keyboard Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
* @package CommunityID
|
||||
* @packager Keyboard Monkeys
|
||||
*/
|
||||
|
||||
class ProfileController extends CommunityID_Controller_Action
|
||||
{
|
||||
public function indexAction()
|
||||
{
|
||||
$this->view->queryString = $this->_queryString();
|
||||
|
||||
$server = $this->_getOpenIdProvider();
|
||||
$request = $server->decodeRequest();
|
||||
|
||||
$this->view->fields = array();
|
||||
$this->view->policyUrl = false;
|
||||
|
||||
$profiles = new Users_Model_Profiles();
|
||||
$this->view->profiles = $profiles->getForUser($this->user);
|
||||
$requestedProfileId = $this->_getParam('profile');
|
||||
foreach ($this->view->profiles as $profile) {
|
||||
if ($requestedProfileId == 0 || $requestedProfileId == $profile->id) {
|
||||
$this->view->profileId = $profile->id;
|
||||
$personalInfoForm = Users_Form_PersonalInfo::getForm($request, $profile);
|
||||
$this->view->fields = $personalInfoForm->getElements();
|
||||
if ($personalInfoForm->getPolicyUrl()) {
|
||||
$this->view->policyUrl = $personalInfoForm->getPolicyUrl();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
//$this->view->profiles->rewind();
|
||||
}
|
||||
}
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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
|
||||
@ -18,12 +18,22 @@ class Form_ErrorMessages
|
||||
private function _messages()
|
||||
{
|
||||
translate('Value is empty, but a non-empty value is required');
|
||||
translate('Value is required and can\'t be empty');
|
||||
translate('\'%value%\' is not a valid email address in the basic format local-part@hostname');
|
||||
translate('\'%hostname%\' is not a valid hostname for email address \'%value%\'');
|
||||
translate('\'%value%\' does not match the expected structure for a DNS hostname');
|
||||
translate('\'%value%\' appears to be a DNS hostname but cannot match TLD against known list');
|
||||
translate('\'%value%\' appears to be a local network name but local network names are not allowed');
|
||||
translate('Captcha value is wrong');
|
||||
translate('Password confirmation does not match');
|
||||
translate('Username can only contain US-ASCII alphanumeric characters, plus any of the symbols $-_.+!*\'(), and "');
|
||||
translate('Username is invalid');
|
||||
translate('The file \'%value%\' was not uploaded');
|
||||
translate('Password can\'t be a dictionary word');
|
||||
translate('Password can\'t contain the username');
|
||||
translate('Password must be longer than %minLength% characters');
|
||||
translate('Password must contain numbers');
|
||||
translate('Password must contain symbols');
|
||||
translate('Password needs to have lowercase and uppercase characters');
|
||||
}
|
||||
}
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -23,21 +23,24 @@ class Form_OpenIdLogin extends Zend_Form
|
||||
|
||||
public function init()
|
||||
{
|
||||
$openIdIdentity = new Monkeys_Form_Element_Text('openIdIdentity');
|
||||
translate('OpenID URL');
|
||||
$openIdIdentity->setLabel('OpenID URL')
|
||||
->setDecoratorOptions(array('dontMarkRequired' => true))
|
||||
->setAttrib('style', 'width:300px')
|
||||
->setRequired(true);
|
||||
|
||||
$openIdIdentity = new Monkeys_Form_Element_Text('openIdIdentity');
|
||||
translate('OpenID URL');
|
||||
$openIdIdentity->setLabel('OpenID URL')
|
||||
->setDecoratorOptions(array('dontMarkRequired' => true))
|
||||
->setAttrib('style', 'width:300px')
|
||||
->setRequired(false);
|
||||
|
||||
$password = new Monkeys_Form_Element_Password('password');
|
||||
translate('Password');
|
||||
$password->setLabel('Password')
|
||||
->setDecoratorOptions(array('dontMarkRequired' => true))
|
||||
->setAttrib('style', 'width:300px')
|
||||
->setRequired(true);
|
||||
->setAttrib('style', 'width:300px');
|
||||
|
||||
$this->addElements(array($openIdIdentity, $password));
|
||||
$yubikey = new Monkeys_Form_Element_Text('yubikey');
|
||||
$yubikey->setLabel('YubiKey')
|
||||
->setAttrib('class', 'yubiKeyInput');
|
||||
|
||||
$this->addElements(array($openIdIdentity, $password, $yubikey));
|
||||
|
||||
if ($this->_useCaptcha) {
|
||||
$captcha = new Monkeys_Form_Element_Captcha('captcha', array(
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -18,13 +18,22 @@ class Model_Fields extends Monkeys_Db_Table_Gateway
|
||||
|
||||
private $_fieldsNames= array();
|
||||
|
||||
public function getValues(Users_Model_User $user)
|
||||
public function getAll()
|
||||
{
|
||||
$select = $this->select();
|
||||
|
||||
return $this->fetchAll($select);
|
||||
}
|
||||
|
||||
public function getValues(Users_Model_Profile $profile)
|
||||
{
|
||||
$userId = (int)$user->id;
|
||||
$select = $this->select()
|
||||
->setIntegrityCheck(false)
|
||||
->from('fields')
|
||||
->joinLeft('fields_values', "fields_values.field_id=fields.id AND fields_values.user_id=".$user->id);
|
||||
->joinLeft('fields_values',
|
||||
$this->getAdapter()->quoteInto("fields_values.field_id=fields.id AND fields_values.profile_id=?", $profile->id),
|
||||
array('user_id', 'profile_id', 'field_id', 'value')
|
||||
);
|
||||
|
||||
return $this->fetchAll($select);
|
||||
}
|
||||
@ -40,6 +49,14 @@ class Model_Fields extends Monkeys_Db_Table_Gateway
|
||||
return $this->_fieldsNames[$fieldIdentifier];
|
||||
}
|
||||
|
||||
public function getByOpenIdIdentifier($openid)
|
||||
{
|
||||
$select = $this->select()
|
||||
->where('openid=?', $openid);
|
||||
|
||||
return $this->fetchRow($select);
|
||||
}
|
||||
|
||||
private function _translationPlaceholders()
|
||||
{
|
||||
translate('Nickname');
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
@ -16,9 +16,17 @@ class Model_FieldsValues extends Monkeys_Db_Table_Gateway
|
||||
protected $_primary = array('user_id', 'field_id');
|
||||
protected $_rowClass = 'Model_FieldsValue';
|
||||
|
||||
public function deleteForUser(Users_Model_User $user)
|
||||
public function getForUser(Users_Model_User $user)
|
||||
{
|
||||
$where = $this->getAdapter()->quoteInto('user_id=?', $user->id);
|
||||
$select = $this->select()
|
||||
->where('user_id=?', $user->id);
|
||||
|
||||
return $this->fetchAll($select);
|
||||
}
|
||||
|
||||
public function deleteForProfile(Users_Model_Profile $profile)
|
||||
{
|
||||
$where = $this->getAdapter()->quoteInto('profile_id=?', $profile->id);
|
||||
$this->delete($where);
|
||||
}
|
||||
}
|
||||
|
2
modules/default/models/Histories.php
Executable file → Normal file
2
modules/default/models/Histories.php
Executable file → Normal 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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
2
modules/default/models/History.php
Executable file → Normal file
2
modules/default/models/History.php
Executable file → Normal 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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
@ -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 Monkey Ltd
|
||||
* @since CommunityID 0.9
|
||||
|
22
modules/default/views/scripts/about/index-it.phtml
Normal file
22
modules/default/views/scripts/about/index-it.phtml
Normal file
@ -0,0 +1,22 @@
|
||||
<p>
|
||||
Community-ID è un servizio fornito da Keyboard Monkeys Ltd., Community as a Service ™.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Keyboard Monkeys Ltd. si concentra sul fornire soluzioni open source e prodotti mirati a rendere più forti le community su Internet. Forniamo inoltre consulenza, con un ampio supporto per le tecnologie open source, sopratutto soluzioni e prodotti per le community.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Questi sono i nostri prodotti e servizi attualmente forniti o in corso di sviluppo:
|
||||
<ul>
|
||||
<li>
|
||||
<b><a href="http://sourceforge.net/projects/sciret">Sciret</a></b> - Enterprise Knowledge Base System
|
||||
</li>
|
||||
<li>
|
||||
<b><a href="http://sourceforge.net/projects/textroller">TextRoller</a></b> - Piattaforma per blog
|
||||
</li>
|
||||
<li>
|
||||
<b>Community Solutions</b> - Open Source Project Collaboration (Attualmente in sviluppo)
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
23
modules/default/views/scripts/about/index-ja.phtml
Normal file
23
modules/default/views/scripts/about/index-ja.phtml
Normal file
@ -0,0 +1,23 @@
|
||||
<p>
|
||||
Community-IDは、Keyboard Monkeys Ltd., Community as a Service ™によって提供されるサービスです。
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Keyboard Monkeys Ltd. は、インターネットのコミュニティに対して貢献できるオープンソースのソリューションや製品を提供することに力を注いでおります。 私どもは個別のコンサルティングに加え幅広いオープンソース技術に関するサポートを行っております。なかでもコミュニティを基本としたソリューションや製品を得意としています。
|
||||
</p>
|
||||
|
||||
<p>
|
||||
その他のサービスや製品(計画中を含みます)には以下の様なものがあります:
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<b><a href="http://sourceforge.net/projects/sciret">Sciret</a></b> - Enterprise Knowledge Base System
|
||||
</li>
|
||||
<li>
|
||||
<b><a href="http://sourceforge.net/projects/textroller">TextRoller</a></b> - Blogging platform
|
||||
</li>
|
||||
<li>
|
||||
<b>Community Solutions</b> - Open Source Project Collaboration (Currently under initial development stages)
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
0
modules/default/views/scripts/error/error.phtml
Executable file → Normal file
0
modules/default/views/scripts/error/error.phtml
Executable file → Normal file
0
modules/default/views/scripts/history/index.phtml
Executable file → Normal file
0
modules/default/views/scripts/history/index.phtml
Executable file → Normal file
@ -33,7 +33,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforech ?>
|
||||
<?php endforeach ?>
|
||||
<?php if (count($this->news) == 0): ?>
|
||||
<div>
|
||||
<?php echo $this->translate('There are no news articles yet') ?>
|
||||
|
59
modules/default/views/scripts/index/index-it.phtml
Normal file
59
modules/default/views/scripts/index/index-it.phtml
Normal file
@ -0,0 +1,59 @@
|
||||
<div id="home">
|
||||
<h2>
|
||||
Community ID: Autenticazione OpenID gratuita<br />
|
||||
Completamente basato su tecnologie Open Source
|
||||
</h2>
|
||||
<div class="yui-g">
|
||||
<div class="yui-u first">
|
||||
<p>
|
||||
Sin dalla fase di progettazione, Community-ID è stato costruito con la massima attenzione alla sicurezza. Ogni elemento della nostra piattaforma è stato scelto considerando la sua storia di sicurezza e, più importante, tutto è Open Source.
|
||||
</p>
|
||||
<p>
|
||||
Questo vuol dire che siamo aperti ai controlli di chiunque nel mondo. E' un dato provato che "security by obscurity" non funziona, e quando si usa un prodotto o servizio il cui meccanismo di funzionamento è tenuto segreto, si espone sè stessi e i propri dati ad un grande rischio.
|
||||
</p>
|
||||
<p style="font-weight: bold; text-align:center">
|
||||
Perchè aspettare ancora?<br />
|
||||
Semplifica la tua vita e riduci il rischio.<br /><br />
|
||||
<a href="<?php echo $this->base ?>/users/register">APRI UN ACCOUNT ADESSO</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="yui-u">
|
||||
<div id="homeNews">
|
||||
<h3>Latest News</h3>
|
||||
<ul>
|
||||
<?php foreach ($this->news as $item): ?>
|
||||
<li>
|
||||
<div>
|
||||
<a href="<?php echo $this->base . '/news/' . $item->id ?>"><?php echo $item->title ?></a>
|
||||
</div>
|
||||
<div class="newsExcerpt">
|
||||
<?php echo $item->excerpt ?>
|
||||
<div>
|
||||
<a class="readMore" href="<?php echo $this->base . '/news/' . $item->id ?>"><?php echo $this->translate('Read More') ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
<?php if (count($this->news) == 0): ?>
|
||||
<div>
|
||||
<?php echo $this->translate('There are no news articles yet') ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</ul> <!-- FF bug -->
|
||||
<div style="position:relative">
|
||||
<div class="linksTopRight">
|
||||
<?php if (count($this->news) > 0): ?>
|
||||
<a href="<?php echo $this->base ?>/news"><?php echo $this->translate('View All') ?></a>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->role == Users_Model_User::ROLE_ADMIN): ?>
|
||||
|
|
||||
<a href="<?php echo $this->base ?>/news/edit/add"><?php echo $this->translate('Add New Article') ?></a>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="borderFadingLeft">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
59
modules/default/views/scripts/index/index-ja.phtml
Normal file
59
modules/default/views/scripts/index/index-ja.phtml
Normal file
@ -0,0 +1,59 @@
|
||||
<div id="home">
|
||||
<h2>
|
||||
Community ID: 無料のOpenID認証<br />
|
||||
100%オープンソース技術で構築
|
||||
</h2>
|
||||
<div class="yui-g">
|
||||
<div class="yui-u first">
|
||||
<p>
|
||||
Community-IDは、開発当初からセキュリティを最も重要な事項と位置づけて開発されてきました。技術要素の選定にあたっては、そのセキュリティ関係の問題がこれまでどうなのかを十分に吟味し、すべてオープンソースであることを重要視してきました。
|
||||
</p>
|
||||
<p>
|
||||
つまり我々の技術はどなたでも精査していただいて構わないということです。 内容が不明なセキュリティというものは使い物にならないことはよく知られています。もし内容がブラックボックスのままの製品やサービスを使うということは、あなたのデータ(そしてあなた自身を)危険にさらしてしまうことにつながります。
|
||||
</p>
|
||||
<p style="font-weight: bold; text-align:center">
|
||||
さあ今すぐに簡単にリスクを軽減する方法をとりましょう。<br />
|
||||
<br />
|
||||
<a href="<?php echo $this->base ?>/users/register">アカウントを登録</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="yui-u">
|
||||
<div id="homeNews">
|
||||
<h3>最新ニュース</h3>
|
||||
<ul>
|
||||
<?php foreach ($this->news as $item): ?>
|
||||
<li>
|
||||
<div>
|
||||
<a href="<?php echo $this->base . '/news/' . $item->id ?>"><?php echo $item->title ?></a>
|
||||
</div>
|
||||
<div class="newsExcerpt">
|
||||
<?php echo $item->excerpt ?>
|
||||
<div>
|
||||
<a class="readMore" href="<?php echo $this->base . '/news/' . $item->id ?>"><?php echo $this->translate('Read More') ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
<?php if (count($this->news) == 0): ?>
|
||||
<div>
|
||||
<?php echo $this->translate('There are no news articles yet') ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</ul> <!-- FF bug -->
|
||||
<div style="position:relative">
|
||||
<div class="linksTopRight">
|
||||
<?php if (count($this->news) > 0): ?>
|
||||
<a href="<?php echo $this->base ?>/news"><?php echo $this->translate('View All') ?></a>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->role == Users_Model_User::ROLE_ADMIN): ?>
|
||||
|
|
||||
<a href="<?php echo $this->base ?>/news/edit/add"><?php echo $this->translate('Add New Article') ?></a>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="borderFadingLeft">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
0
modules/default/views/scripts/index/subheader-de.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-de.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-en.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-en.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-es.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-es.phtml
Executable file → Normal file
1
modules/default/views/scripts/index/subheader-it.phtml
Normal file
1
modules/default/views/scripts/index/subheader-it.phtml
Normal file
@ -0,0 +1 @@
|
||||
<!-- placeholder for home subheader -->
|
1
modules/default/views/scripts/index/subheader-ja.phtml
Normal file
1
modules/default/views/scripts/index/subheader-ja.phtml
Normal file
@ -0,0 +1 @@
|
||||
<!-- placeholder for home subheader -->
|
0
modules/default/views/scripts/index/subheader-sv.phtml
Executable file → Normal file
0
modules/default/views/scripts/index/subheader-sv.phtml
Executable file → Normal file
@ -1,16 +1,50 @@
|
||||
<form action="authenticate<?php echo $this->queryString ?>" method="post" class="formGrid">
|
||||
<?php echo $this->form->openIdIdentity ?>
|
||||
<?php echo $this->form->password ?>
|
||||
<?php if ($this->useCaptcha): ?>
|
||||
<?php echo $this->form->captcha ?>
|
||||
<?php endif ?>
|
||||
<div class="yui-gf">
|
||||
<div class="yui-u first">
|
||||
<input type="submit" id="login" value="<?php echo $this->translate('Login') ?>" />
|
||||
<script type="text/javascript">
|
||||
var oButton = new YAHOO.widget.Button("login");
|
||||
</script>
|
||||
<div style="position:relative">
|
||||
<? if ($this->form->getErrorMessages()): ?>
|
||||
<div class="messages" style="margin-bottom:20px">
|
||||
<?= implode('<br />', $this->form->getErrorMessages()) ?>
|
||||
</div>
|
||||
<div class="yui-u"> </div>
|
||||
</div>
|
||||
</form>
|
||||
<? endif ?>
|
||||
<form name="openidAuthenticate" action="authenticate<?php echo $this->queryString ?>" method="post" class="formGrid">
|
||||
<? if ($this->identity): ?>
|
||||
<div class="yui-gf" style="padding:10px 0">
|
||||
<div class="yui first"><?= $this->translate('OpenID URL') ?>:</div>
|
||||
<div class="yui-u"><?= $this->escape($this->identity) ?></div>
|
||||
</div>
|
||||
<? else: ?>
|
||||
<?= $this->form->openIdIdentity ?>
|
||||
<? endif ?>
|
||||
<? if ($this->yubikey->enabled && $this->yubikey->force): ?>
|
||||
<?= $this->form->yubikey ?>
|
||||
<? else: ?>
|
||||
<?= $this->form->password ?>
|
||||
<? endif ?>
|
||||
<?php if ($this->useCaptcha): ?>
|
||||
<?php echo $this->form->captcha ?>
|
||||
<?php endif ?>
|
||||
<div class="yui-gf">
|
||||
<div class="yui-u first">
|
||||
<input type="submit" id="login" value="<?php echo $this->translate('Login') ?>" />
|
||||
<script type="text/javascript">
|
||||
var oButton = new YAHOO.widget.Button("login");
|
||||
</script>
|
||||
</div>
|
||||
<div class="yui-u"> </div>
|
||||
</div>
|
||||
</form>
|
||||
<? if ($this->image): ?>
|
||||
<div style="position:absolute; right:-100px; top:-40px">
|
||||
<img src="<?= $this->base ?>/users/signinimage/image/id/<?= $this->image->cookie ?>"
|
||||
width="<?= $this->image->getWidth() ?>"
|
||||
height="<?= $this->image->getHeight() ?>"
|
||||
title="<?= $this->translate('This is the image that identifies your account in this computer') ?>"
|
||||
alt="<?= $this->translate('This is the image that identifies your account in this computer') ?>" />
|
||||
</div>
|
||||
<? endif ?>
|
||||
<script>
|
||||
try {
|
||||
document.openidAuthenticate.password.focus();
|
||||
document.openidAuthenticate.yubikey.focus();
|
||||
} catch(e) {
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
@ -4,21 +4,20 @@
|
||||
</div>
|
||||
<form method="post" action="proceed<?php echo $this->queryString ?>" class="formGrid">
|
||||
<input type="hidden" name="action" value="proceed">
|
||||
<?php if ($this->fields): ?>
|
||||
<? if ($this->showProfileForm): ?>
|
||||
<br />
|
||||
<?php echo $this->translate('It also requests this additional information about you:') ?><br /><br />
|
||||
<?php echo $this->translate('Fields are automatically filled according to the personal info stored in your community-id account.') ?><br />
|
||||
<?php echo $this->translate('Fields marked with * are required.') ?>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<?php foreach ($this->fields as $field): ?>
|
||||
<?php echo $field ?>
|
||||
<?php endforeach ?>
|
||||
<?php if ($this->policyUrl): ?>
|
||||
<?php echo $this->translate('The private policy can be found at %s',
|
||||
'<a href="'.$this->policyUrl.'">'.$this->policyUrl.'</a>'); ?><br /><br />
|
||||
<?php endif ?>
|
||||
<div id="profileForm">
|
||||
<? if ($this->showProfileForm): ?>
|
||||
<div style="text-align:center; margin:20px 0; font-weight:bold">
|
||||
<?= $this->translate('Please wait') ?>
|
||||
<img src="<?= $this->base ?>/images/progress.gif" style="margin-left:15px" />
|
||||
</div>
|
||||
<? endif ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<div style="margin-top:20px">
|
||||
<input type="checkbox" name="forever" style="top:0" /> <?php echo $this->translate('Forever') ?>
|
||||
@ -29,6 +28,11 @@
|
||||
<script type="text/javascript">
|
||||
var oButton1 = new YAHOO.widget.Button("allow");
|
||||
var oButton2 = new YAHOO.widget.Button("deny");
|
||||
<? if ($this->showProfileForm): ?>
|
||||
YAHOO.util.Event.onDOMReady(function() {
|
||||
COMMID.profileForm.fetch("<?= $this->queryString ?>", 0);
|
||||
});
|
||||
<? endif ?>
|
||||
</script>
|
||||
</div>
|
||||
</form>
|
||||
|
18
modules/default/views/scripts/privacy/index-de.phtml
Normal file
18
modules/default/views/scripts/privacy/index-de.phtml
Normal file
@ -0,0 +1,18 @@
|
||||
<h2>Datenschutzrichtlinie</h2>
|
||||
<div>
|
||||
<h3>Einleitung</h3>
|
||||
<p>Community-ID.org respektiert jedermann Recht bezüglich des Eigentums seiner privaten Daten. Erfasste und gesammelte Daten durch dieser Webseite werden nur verwendet wie in dieser Erklärung beschreiben. Diese Erklärung gilt ausschließlich für Informationen welche erfasst wurden durch die Community-ID.org Webseite. </p>
|
||||
|
||||
|
||||
<h3>Erfassen von Daten</h3>
|
||||
<p>Community-ID.org erfasst Informationen über diese Webseite um den Benutzern einen besseren Service anbieten zu können. Erfasst werden die persönlichen Daten, einschließlich E-Mail-Adressen von registrierten Nutzern. Gespeichert wird auch die IP-Adresse und die Aktivität von Benutzern. Diese Informationen werden verwendet zur Diagnose oder zum Debuggen unserer Systeme oder zum verbessern unserer Dienstleistungen. Es können zusätzliche Nutzungsdaten gespeichert werden inklusive von Verweisen, Zugriffszeiten oder die Art der besuchten Plattform welche durch Benutzer verbreitet werden während des Besuchs der Seite. </p>
|
||||
|
||||
<p>Community-ID.org benutzt Cookies. Ein Cookie ist eine kleine Textdatei, welche der Webserver auf der Festplatte des Computer eines Benutzers speichert zum Zwecke einer eindeutigen Kennung. Cookies ermöglichen Community-ID.org ein Nutzungsmuster zu erstellen und maßgeschneiderte Inhalte für die Nutzer bereitzustellen. Unsere Cookies haben ein Ablaufdatum, und sammeln keine persönlich identifizierbaren Informationen.</p>
|
||||
|
||||
|
||||
<h3>Verwendung von Informationen</h3>
|
||||
<p>Wir werden Ihre persönlichen Daten nicht verkaufen oder vermieten oder an Dritte weitergegeben. Wir werden persönliche Daten nur weitergeben in folgenden Fällen: 1) Geschaftsübergabe: Wenn Community-ID.org übernommen wird durch dritte, können persönliche Informationen übertragen werden im Einklang mit den Vereinbarungen der Übernahme. 2) Rechtssicherheit: Falls eine gesetzliche Verpflichtung vorliegt diese Informationen weiterzugeben wurde Community-ID.org diesen Folge leisten.</p>
|
||||
|
||||
<h3>Kontroller und Speichern von Informationen</h3>
|
||||
<p>Wenn ein Benutzer sein Benutzerkonto in Community-ID.org löscht, werden alle im System gespeicherten Informationen entfernt. Natürlich können unsere Backups altere Kopien Ihrer Informationen enthalten, jedoch werden diese Backups regelmäßig gelöscht. Wir glauben, das Sie die Kontrolle über Ihre Informationen haben sollen und wir respektieren dies. </p>
|
||||
</div>
|
16
modules/default/views/scripts/privacy/index-en.phtml
Normal file
16
modules/default/views/scripts/privacy/index-en.phtml
Normal file
@ -0,0 +1,16 @@
|
||||
<h2>Privacy Policy</h2>
|
||||
<div>
|
||||
<h3>Introduction</h3>
|
||||
<p>Community-ID.org respects each individual's right to personal privacy. We will collect and use information through our Web site only in the ways disclosed in this statement. This statement applies solely to information collected at Community-ID.org's Web site.</p>
|
||||
|
||||
<h3>Information Collection</h3>
|
||||
<p>Community-ID.org collects information through our Web site in order to provide users an efficient experience. We collect the personal information, including email addresses, of registered users. We also collect the IP address and use activity of visitors to our website, in order to diagnose and debug our systems and services. We may also collect ancillary usage information, including referrals, access times and platform type, which our users divulge through visiting the site.</p>
|
||||
|
||||
<p>Community-ID.org employs cookies. A cookie is a small text file that our Web server places on a user's computer hard drive to be a unique identifier. Cookies enable Community-ID.org to track usage patterns and deliver customized content to users. Our cookies have an expiration date, and do not collect personally identifiable information.</p>
|
||||
|
||||
<h3>Information Usage</h3>
|
||||
<p>We will not rent or sell your personal information to third parties. We will share personal information only in the following cases: 1) Business Transfer: If Community-ID.org were acquired, personal information would be transferred forward in accordance with acquisition agreements. 2) Legal Compliance: If compelled by law to share information, Community-ID.org would be required to do so.</p>
|
||||
|
||||
<h3>Information Storage and Control</h3>
|
||||
<p>When a user deletes their account from Community-ID.org, all of their information is expunged from our systems. Of course, our backups may contain older copies of the information, but we expunge backups regularly. We believe that you control your information, and we absolutely respect that.</p>
|
||||
</div>
|
17
modules/default/views/scripts/privacy/index-es.phtml
Normal file
17
modules/default/views/scripts/privacy/index-es.phtml
Normal file
@ -0,0 +1,17 @@
|
||||
<h2>Política de Privacidad</h2>
|
||||
<div>
|
||||
<h3>Introducción</h3>
|
||||
<p>Community-ID.org respeta el derecho individual a la privacidad. Recuperaremos y usaremos información a través de nuestro sitio Web solamente como se describe en este documento. Este documento solo aplica a la información recolectada a través del sitio Web Community-ID.org.</p>
|
||||
|
||||
<h3>Recolección de Información</h3>
|
||||
<p>Community-ID.org recolecta información a través de nuestro sitio Web con el fin de proveer a nuestros usuarios una experiencia eficiente. Recolectamos la información, incluyendo direcciones de correo electrónico, de los usuarios registrados. También recolectamos las direcciones IP y la actividad de uso de los visitantes a nuestro sitio, con el fin de diagnosticar y depurar nuestros sistemas y servicios. Podremos también recolectar alguna información extra, tal como remisiones, tiempos de acceso y tipo de plataforma, que nuestros usuarios divulgan cuando visitan el sitio.</p>
|
||||
|
||||
<p>Community-ID.org utiliza cookies. Una cookie es un pequeño archivo de texto que nuestro servidor Web coloca en el disco duro del computador del usuario. Las cookies permiten a Community-ID.org llevar un registro de los patrones de uso y entregar contenido personalizado a los usuarios. Nuestras cookies tienen una fecha de expiración, y no recolectan información personal identificable.</p>
|
||||
|
||||
|
||||
<h3>Uso de la Información</h3>
|
||||
<p>No rentamos ni vendemos información personal de nuestros usuarios a terceros. Solamente entregaremos información personal en los siguientes casos: 1) Transferencia patrimonial: Si Community-ID.org fuera adquirido, la información personal sería transferida de acuerdo con el contrato de adquisición. 2) Cumplimiento legal: Si obligados por ley a revelar información, Community-ID.org estará obligada a entregarla.</p>
|
||||
|
||||
<h3>Almacenamiento y Control de la Información</h3>
|
||||
<p>Cuando un usuario borra su cuenta de Community-ID.org, toda su información es borrada de nuestros sistemas. Por supuesto, nuestras copias de respaldo pueden contener copias antiguas de dicha información, pero rotamos estas copias regularmente. Creemos que nuestros usuarios son dueños de su información, y respetamos eso.</p>
|
||||
</div>
|
17
modules/default/views/scripts/privacy/index-ja.phtml
Normal file
17
modules/default/views/scripts/privacy/index-ja.phtml
Normal file
@ -0,0 +1,17 @@
|
||||
<h2>Privacy Policy</h2>
|
||||
<div>
|
||||
<h3>Introduction</h3>
|
||||
<p>Community-ID.org respects each individual's right to personal privacy. We will collect and use information through our Web site only in the ways disclosed in this statement. This statement applies solely to information collected at Community-ID.org's Web site.</p>
|
||||
|
||||
<h3>Information Collection</h3>
|
||||
<p>Community-ID.org collects information through our Web site in order to provide users an efficient experience. We collect the personal information, including email addresses, of registered users. We also collect the IP address and use activity of visitors to our website, in order to diagnose and debug our systems and services. We may also collect ancillary usage information, including referrals, access times and platform type, which our users divulge through visiting the site.</p>
|
||||
|
||||
<p>Community-ID.org employs cookies. A cookie is a small text file that our Web server places on a user's computer hard drive to be a unique identifier. Cookies enable Community-ID.org to track usage patterns and deliver customized content to users. Our cookies have an expiration date, and do not collect personally identifiable information.</p>
|
||||
|
||||
<h3>Information Usage</h3>
|
||||
<p>We will not rent or sell your personal information to third parties. We will share personal information only in the following cases: 1) Business Transfer: If Community-ID.org were acquired, personal information would be transferred forward in accordance with acquisition agreements. 2) Legal Compliance: If compelled by law to share information, Community-ID.org would be required to do so.</p>
|
||||
|
||||
<h3>Information Storage and Control</h3>
|
||||
<p>When a user deletes their account from Community-ID.org, all of their information is expunged from our systems. Of course, our backups may contain older copies of the information, but we expunge backups regularly. We believe that you control your information, and we absolutely respect that.</p>
|
||||
</div>
|
||||
|
17
modules/default/views/scripts/privacy/index-nl.phtml
Normal file
17
modules/default/views/scripts/privacy/index-nl.phtml
Normal file
@ -0,0 +1,17 @@
|
||||
<h2>Privacy Policy</h2>
|
||||
<div>
|
||||
<h3>Introduction</h3>
|
||||
<p>Community-ID.org respects each individual's right to personal privacy. We will collect and use information through our Web site only in the ways disclosed in this statement. This statement applies solely to information collected at Community-ID.org's Web site.</p>
|
||||
|
||||
<h3>Information Collection</h3>
|
||||
<p>Community-ID.org collects information through our Web site in order to provide users an efficient experience. We collect the personal information, including email addresses, of registered users. We also collect the IP address and use activity of visitors to our website, in order to diagnose and debug our systems and services. We may also collect ancillary usage information, including referrals, access times and platform type, which our users divulge through visiting the site.</p>
|
||||
|
||||
<p>Community-ID.org employs cookies. A cookie is a small text file that our Web server places on a user's computer hard drive to be a unique identifier. Cookies enable Community-ID.org to track usage patterns and deliver customized content to users. Our cookies have an expiration date, and do not collect personally identifiable information.</p>
|
||||
|
||||
<h3>Information Usage</h3>
|
||||
<p>We will not rent or sell your personal information to third parties. We will share personal information only in the following cases: 1) Business Transfer: If Community-ID.org were acquired, personal information would be transferred forward in accordance with acquisition agreements. 2) Legal Compliance: If compelled by law to share information, Community-ID.org would be required to do so.</p>
|
||||
|
||||
<h3>Information Storage and Control</h3>
|
||||
<p>When a user deletes their account from Community-ID.org, all of their information is expunged from our systems. Of course, our backups may contain older copies of the information, but we expunge backups regularly. We believe that you control your information, and we absolutely respect that.</p>
|
||||
</div>
|
||||
|
17
modules/default/views/scripts/privacy/index-pl.phtml
Normal file
17
modules/default/views/scripts/privacy/index-pl.phtml
Normal file
@ -0,0 +1,17 @@
|
||||
<h2>Privacy Policy</h2>
|
||||
<div>
|
||||
<h3>Introduction</h3>
|
||||
<p>Community-ID.org respects each individual's right to personal privacy. We will collect and use information through our Web site only in the ways disclosed in this statement. This statement applies solely to information collected at Community-ID.org's Web site.</p>
|
||||
|
||||
<h3>Information Collection</h3>
|
||||
<p>Community-ID.org collects information through our Web site in order to provide users an efficient experience. We collect the personal information, including email addresses, of registered users. We also collect the IP address and use activity of visitors to our website, in order to diagnose and debug our systems and services. We may also collect ancillary usage information, including referrals, access times and platform type, which our users divulge through visiting the site.</p>
|
||||
|
||||
<p>Community-ID.org employs cookies. A cookie is a small text file that our Web server places on a user's computer hard drive to be a unique identifier. Cookies enable Community-ID.org to track usage patterns and deliver customized content to users. Our cookies have an expiration date, and do not collect personally identifiable information.</p>
|
||||
|
||||
<h3>Information Usage</h3>
|
||||
<p>We will not rent or sell your personal information to third parties. We will share personal information only in the following cases: 1) Business Transfer: If Community-ID.org were acquired, personal information would be transferred forward in accordance with acquisition agreements. 2) Legal Compliance: If compelled by law to share information, Community-ID.org would be required to do so.</p>
|
||||
|
||||
<h3>Information Storage and Control</h3>
|
||||
<p>When a user deletes their account from Community-ID.org, all of their information is expunged from our systems. Of course, our backups may contain older copies of the information, but we expunge backups regularly. We believe that you control your information, and we absolutely respect that.</p>
|
||||
</div>
|
||||
|
18
modules/default/views/scripts/privacy/index-sv.phtml
Normal file
18
modules/default/views/scripts/privacy/index-sv.phtml
Normal file
@ -0,0 +1,18 @@
|
||||
<h2>Policy för personlig integritet</h2>
|
||||
<div>
|
||||
<h3>Introduktion</h3>
|
||||
<p>Community-ID.org respekterar varje individs rätt till personlig integritet. Vi samlar och använder därför bara den information som anges i denna policy. Policyn gäller all information på Community-ID.org's webbplats.</p>
|
||||
|
||||
<h3>Informationsinsamling</h3>
|
||||
<p>Community-ID.org samlar information via webbplatsen för att kunna ge användarna en effektiv upplevelse. Vi samlar personlig information, inklusive e-postadresser, från registrerade användare. Vi samlar även in IP-addresser och hur besökarna använder vår webbplats, för att kunna felsöka och förbättra vårt system och våra tjänster. We may also collect ancillary usage information, including referrals, access times and platform type, which our users divulge through visiting the site.</p>
|
||||
|
||||
<h3>Cookies</h3>
|
||||
<p>Community-ID.org använder cookies. En cookie är en liten textfile som vår webbserver lägger i användarens dator för unik identifiering. Cookies gör det möjligt för Community-ID.org att spåra användningsmönster och leverera anpassat innehåll till användaren. Våra cookies har ett bäst-före-datum och används inte för att samla personrelaterad information.</p>
|
||||
<p>Vill du inte acceptera cookies kan din webbläsare ställas in så att du automatiskt nekar till lagring av cookies eller informeras varje gång en webbplats begär att få lagra en cookie. Genom webbläsaren kan också tidigare lagrade cookies raderas. Se webbläsarens hjälpsidor för mer information.</p>
|
||||
|
||||
<h3>Informationsanvändning</h3>
|
||||
<p>Vi kommer inte att hyra ut eller sälja din personliga information till tredje part. Vi kommer endast att dela med oss av personlig information i följande fall: 1) Affärstransaktioner: Om Community-ID.org blir uppköpt kommer den personliga informationen följa med om det framgår i kontraktet. 2) Lagkrav: Om det enligt lag krävs att information ska lämnas ut, så kommer Community-ID.org att göra det.</p>
|
||||
|
||||
<h3>Informationsförvaring och - Kontroll</h3>
|
||||
<p>När en användare raderar sitt konto från Community-ID.org, kommer all deras information raderas fullständigt. Naturligtvis kan det finnas kvar äldre säkerhetskopior av informationen, men dessa raderas regelbundet. Vi anser att du ska kontrollera din egen information och respekterar det fullt ut.</p>
|
||||
</div>
|
@ -1,4 +0,0 @@
|
||||
<h2><?php echo $this->translate('Privacy Policy') ?></h2>
|
||||
<div>
|
||||
<?php echo $this->privacyPolicy ?>
|
||||
</div>
|
22
modules/default/views/scripts/profile/index.phtml
Normal file
22
modules/default/views/scripts/profile/index.phtml
Normal file
@ -0,0 +1,22 @@
|
||||
<br />
|
||||
<br />
|
||||
<? if (count($this->profiles) > 0): ?>
|
||||
<div style="margin-bottom:20px">
|
||||
<?= $this->translate('Please select the profile you want to use:') ?>
|
||||
<select onchange="COMMID.profileForm.fetch('<?= $this->queryString ?>', this.value, true)"
|
||||
<?= $this->profileId == $profile->id? 'selected="true"' : '' ?>>
|
||||
<? foreach ($this->profiles as $profile): ?>
|
||||
<option value="<?= $profile->id ?>"><?= $profile->name ?></option>
|
||||
<? endforeach ?>
|
||||
</select>
|
||||
<img id="loadingPersonalInfo" src="<?= $this->base ?>/images/progress.gif" style="visibility:hidden"/>
|
||||
</div>
|
||||
<? endif ?>
|
||||
<input type="hidden" name="profileId" value="<?= $this->profileId ?>" />
|
||||
<? foreach ($this->fields as $field): ?>
|
||||
<? echo $field ?>
|
||||
<? endforeach ?>
|
||||
<? if ($this->policyUrl): ?>
|
||||
<? echo $this->translate('The privacy policy can be found at %s',
|
||||
'<a href="'.$this->policyUrl.'">'.$this->policyUrl.'</a>'); ?><br /><br />
|
||||
<? endif ?>
|
Reference in New Issue
Block a user