mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-09 19:13:26 +00:00
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:
@@ -68,6 +68,11 @@ class V1 implements ControllerProviderInterface
|
|||||||
throw new \API_V1_exception_forbidden(_('The use of phraseanet Navigator is not allowed'));
|
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()) {
|
if ($app['authentication']->isAuthenticated()) {
|
||||||
$app['dispatcher']->dispatch(PhraseaEvents::API_OAUTH2_END, new ApiOAuth2EndEvent());
|
$app['dispatcher']->dispatch(PhraseaEvents::API_OAUTH2_END, new ApiOAuth2EndEvent());
|
||||||
|
|
||||||
|
@@ -9,12 +9,6 @@
|
|||||||
* file that was distributed with this source code.
|
* 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
|
class API_OAuth2_Application_Navigator
|
||||||
{
|
{
|
||||||
const CLIENT_ID = '\alchemy\phraseanet\id\4f981093aebb66.06844599';
|
const CLIENT_ID = '\alchemy\phraseanet\id\4f981093aebb66.06844599';
|
||||||
|
17
lib/classes/API/OAuth2/Application/OfficePlugin.class.php
Normal file
17
lib/classes/API/OAuth2/Application/OfficePlugin.class.php
Normal 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';
|
||||||
|
}
|
@@ -393,6 +393,9 @@ class API_V1_adapter extends API_V1_Abstract
|
|||||||
'navigator' => array(
|
'navigator' => array(
|
||||||
'active' => $app['phraseanet.registry']->get('GV_client_navigator'),
|
'active' => $app['phraseanet.registry']->get('GV_client_navigator'),
|
||||||
),
|
),
|
||||||
|
'office-plugin' => array(
|
||||||
|
'active' => $registry->get('GV_client_navigator'),
|
||||||
|
),
|
||||||
'homepage' => array(
|
'homepage' => array(
|
||||||
'viewType' => $app['phraseanet.registry']->get('GV_home_publi'),
|
'viewType' => $app['phraseanet.registry']->get('GV_home_publi'),
|
||||||
),
|
),
|
||||||
|
@@ -61,7 +61,7 @@ class patch_370a3 implements patchInterface
|
|||||||
} catch (NotFoundHttpException $e) {
|
} catch (NotFoundHttpException $e) {
|
||||||
$client = \API_OAuth2_Application::create($app, null, \API_OAuth2_Application_Navigator::CLIENT_NAME);
|
$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_grant_password(true);
|
||||||
$client->set_website("http://www.phraseanet.com");
|
$client->set_website("http://www.phraseanet.com");
|
||||||
$client->set_client_id(\API_OAuth2_Application_Navigator::CLIENT_ID);
|
$client->set_client_id(\API_OAuth2_Application_Navigator::CLIENT_ID);
|
||||||
|
71
lib/classes/patch/3715.class.php
Normal file
71
lib/classes/patch/3715.class.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
@@ -11,7 +11,7 @@ return call_user_func_array(function(Application $app) {
|
|||||||
$dashboard_youtube = '<a href="https://code.google.com/apis/youtube/dashboard/" target="_blank">https://code.google.com/apis/youtube/dashboard/</a>';
|
$dashboard_youtube = '<a href="https://code.google.com/apis/youtube/dashboard/" target="_blank">https://code.google.com/apis/youtube/dashboard/</a>';
|
||||||
$create_api_flickr = '<a href="https://secure.flickr.com/services/apps/create/" target="_blank">https://secure.flickr.com/services/apps/create/</a>';
|
$create_api_flickr = '<a href="https://secure.flickr.com/services/apps/create/" target="_blank">https://secure.flickr.com/services/apps/create/</a>';
|
||||||
$create_api_dailymotion = '<a href="http://www.dailymotion.com/profile/developer" target="_blank">http://www.dailymotion.com/profile/developer</a>';
|
$create_api_dailymotion = '<a href="http://www.dailymotion.com/profile/developer" target="_blank">http://www.dailymotion.com/profile/developer</a>';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$youtube_callback = $app->url('prod_bridge_callback', array('api_name' => 'youtube'));
|
$youtube_callback = $app->url('prod_bridge_callback', array('api_name' => 'youtube'));
|
||||||
} catch (RouteNotFoundException $e) {
|
} catch (RouteNotFoundException $e) {
|
||||||
@@ -203,9 +203,16 @@ return call_user_func_array(function(Application $app) {
|
|||||||
'name' => 'GV_client_navigator',
|
'name' => 'GV_client_navigator',
|
||||||
'comment' => _('Authorize *Phraseanet Navigator*'),
|
'comment' => _('Authorize *Phraseanet Navigator*'),
|
||||||
'help' => _('*Phraseanet Navigator* is a smartphone application that allow user to connect on this instance'),
|
'help' => _('*Phraseanet Navigator* is a smartphone application that allow user to connect on this instance'),
|
||||||
'default' => false,
|
'default' => true,
|
||||||
'required' => true
|
'required' => true
|
||||||
)
|
),
|
||||||
|
array(
|
||||||
|
'type' => \registry::TYPE_BOOLEAN,
|
||||||
|
'name' => 'GV_client_officeplugin',
|
||||||
|
'comment' => _('Authorize Microsoft Office Plugin to connect.'),
|
||||||
|
'default' => true,
|
||||||
|
'required' => true
|
||||||
|
),
|
||||||
)
|
)
|
||||||
), array(
|
), array(
|
||||||
'section' => _('Documents storage'),
|
'section' => _('Documents storage'),
|
||||||
|
@@ -311,6 +311,22 @@
|
|||||||
<data key="activated">1</data>
|
<data key="activated">1</data>
|
||||||
<data key="grant_password">1</data>
|
<data key="grant_password">1</data>
|
||||||
</default>
|
</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>
|
</defaults>
|
||||||
<engine>InnoDB</engine>
|
<engine>InnoDB</engine>
|
||||||
</table>
|
</table>
|
||||||
|
Reference in New Issue
Block a user