Merge branch '3.7' into 3.8

Conflicts:
	lib/Alchemy/Phrasea/Application/Api.php
	lib/Alchemy/Phrasea/Core/Version.php
	lib/conf.d/_GV_template.inc
This commit is contained in:
Romain Neutron
2013-09-14 02:02:56 +02:00
8 changed files with 123 additions and 10 deletions

View File

@@ -68,6 +68,11 @@ class V1 implements ControllerProviderInterface
throw new \API_V1_exception_forbidden(_('The use of phraseanet Navigator is not allowed'));
}
if ($oAuth2App->get_client_id() == \API_OAuth2_Application_OfficePlugin::CLIENT_ID
&& ! $app['phraseanet.registry']->get('GV_client_officeplugin')) {
throw new \API_V1_exception_forbidden('The use of Office Plugin is not allowed.');
}
if ($app['authentication']->isAuthenticated()) {
$app['dispatcher']->dispatch(PhraseaEvents::API_OAUTH2_END, new ApiOAuth2EndEvent());

View File

@@ -9,12 +9,6 @@
* file that was distributed with this source code.
*/
/**
*
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
* @link www.phraseanet.com
*/
class API_OAuth2_Application_Navigator
{
const CLIENT_ID = '\alchemy\phraseanet\id\4f981093aebb66.06844599';

View File

@@ -0,0 +1,17 @@
<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2012 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class API_OAuth2_Application_OfficePlugin
{
const CLIENT_ID = '\alchemy\phraseanet\id\999585175b5fbb6e140efbdfea86c561';
const CLIENT_SECRET = '\alchemy\phraseanet\secret\6d53d0bc74e6c8c1a325541f71da1ea5';
const CLIENT_NAME = 'office-plugin';
}

View File

@@ -393,6 +393,9 @@ class API_V1_adapter extends API_V1_Abstract
'navigator' => array(
'active' => $app['phraseanet.registry']->get('GV_client_navigator'),
),
'office-plugin' => array(
'active' => $registry->get('GV_client_navigator'),
),
'homepage' => array(
'viewType' => $app['phraseanet.registry']->get('GV_home_publi'),
),

View File

@@ -61,7 +61,7 @@ class patch_370a3 implements patchInterface
} catch (NotFoundHttpException $e) {
$client = \API_OAuth2_Application::create($app, null, \API_OAuth2_Application_Navigator::CLIENT_NAME);
$client->set_activated(false);
$client->set_activated(true);
$client->set_grant_password(true);
$client->set_website("http://www.phraseanet.com");
$client->set_client_id(\API_OAuth2_Application_Navigator::CLIENT_ID);

View File

@@ -0,0 +1,71 @@
<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2012 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class patch_3715 implements patchInterface
{
/**
* @var string
*/
private $release = '3.7.15';
/**
*
* @var Array
*/
private $concern = array(base::APPLICATION_BOX);
/**
*
* @return string
*/
public function get_release()
{
return $this->release;
}
public function require_all_upgrades()
{
return false;
}
/**
*
* @return Array
*/
public function concern()
{
return $this->concern;
}
/**
* @param base $databox
*/
public function apply(base &$appbox)
{
$appbox = \appbox::get_instance(\bootstrap::getCore());
try {
\API_OAuth2_Application::load_from_client_id($appbox, \API_OAuth2_Application_OfficePlugin::CLIENT_ID);
} catch (\Exception_NotFound $e) {
$client = \API_OAuth2_Application::create($appbox, null, \API_OAuth2_Application_OfficePlugin::CLIENT_NAME);
$client->set_activated(true);
$client->set_grant_password(true);
$client->set_website("http://www.phraseanet.com");
$client->set_client_id(\API_OAuth2_Application_OfficePlugin::CLIENT_ID);
$client->set_client_secret(\API_OAuth2_Application_OfficePlugin::CLIENT_SECRET);
$client->set_type(\API_OAuth2_Application::DESKTOP_TYPE);
$client->set_redirect_uri(\API_OAuth2_Application::NATIVE_APP_REDIRECT_URI);
}
return true;
}
}

View File

@@ -203,9 +203,16 @@ return call_user_func_array(function(Application $app) {
'name' => 'GV_client_navigator',
'comment' => _('Authorize *Phraseanet Navigator*'),
'help' => _('*Phraseanet Navigator* is a smartphone application that allow user to connect on this instance'),
'default' => false,
'default' => true,
'required' => true
)
),
array(
'type' => \registry::TYPE_BOOLEAN,
'name' => 'GV_client_officeplugin',
'comment' => _('Authorize Microsoft Office Plugin to connect.'),
'default' => true,
'required' => true
),
)
), array(
'section' => _('Documents storage'),

View File

@@ -311,6 +311,22 @@
<data key="activated">1</data>
<data key="grant_password">1</data>
</default>
<default>
<data key="application_id">null</data>
<data key="creator">null</data>
<data key="type">desktop</data>
<data key="name">office-plugin</data>
<data key="description"></data>
<data key="website">http://www.phraseanet.com</data>
<data key="created_on">NOW()</data>
<data key="last_modified">NOW()</data>
<data key="client_id">\alchemy\phraseanet\id\999585175b5fbb6e140efbdfea86c561</data>
<data key="client_secret">\alchemy\phraseanet\secret\6d53d0bc74e6c8c1a325541f71da1ea5</data>
<data key="nonce">AfCF61</data>
<data key="redirect_uri">urn:ietf:wg:oauth:2.0:oob</data>
<data key="activated">1</data>
<data key="grant_password">1</data>
</default>
</defaults>
<engine>InnoDB</engine>
</table>