mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 06:53:15 +00:00
Merged with 3.5.1
This commit is contained in:
@@ -357,6 +357,16 @@ class Feed_Entry_Adapter implements Feed_Entry_Interface, cache_cacheableInterfa
|
||||
|
||||
return $this->publisher;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param User_adapter $user
|
||||
* @return boolean
|
||||
*/
|
||||
public function is_publisher(User_adapter $user)
|
||||
{
|
||||
return $user->get_id() === $this->get_publisher()->get_user()->get_id();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
@@ -576,7 +576,7 @@ class Session_Handler
|
||||
$sql = 'SELECT v.id as validate_id, v.usr_id, v.ssel_id
|
||||
, s.usr_id as owner, t.value
|
||||
FROM (validate v, ssel s)
|
||||
LEFT JOIN tokens t
|
||||
INNER JOIN tokens t
|
||||
ON (t.datas = s.ssel_id
|
||||
AND v.usr_id=t.usr_id AND t.type="validate")
|
||||
WHERE expires_on < :expires_on
|
||||
@@ -594,7 +594,8 @@ class Session_Handler
|
||||
'ssel_id' => $row['ssel_id'],
|
||||
'from' => $row['owner'],
|
||||
'validate_id' => $row['validate_id'],
|
||||
'url' => $registry->get('GV_ServerName') . 'lightbox/validate/'.$row['ssel_id'].'/?LOG=' . $row['value']
|
||||
'url' => $registry->get('GV_ServerName')
|
||||
. 'lightbox/validate/'.$row['ssel_id'].'/?LOG=' . $row['value']
|
||||
);
|
||||
|
||||
$events_mngr->trigger('__VALIDATION_REMINDER__', $params);
|
||||
|
@@ -399,7 +399,14 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
{
|
||||
if (!trim($email))
|
||||
$email = null;
|
||||
|
||||
$test_user = User_Adapter::get_usr_id_from_email($email);
|
||||
|
||||
if($test_user && $test_user != $this->get_id())
|
||||
{
|
||||
throw new Exception_InvalidArgument (sprintf(_('A user already exists with email addres %s'), $email));
|
||||
}
|
||||
|
||||
$sql = 'UPDATE usr SET usr_mail = :new_email WHERE usr_id = :usr_id';
|
||||
$stmt = $this->appbox->get_connection()->prepare($sql);
|
||||
$stmt->execute(array(':new_email' => $email, ':usr_id' => $this->get_id()));
|
||||
@@ -1231,6 +1238,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
protected function load_preferences()
|
||||
{
|
||||
if ($this->_prefs)
|
||||
|
||||
return $this;
|
||||
$sql = 'SELECT prop, value FROM usr_settings WHERE usr_id= :id';
|
||||
$stmt = $this->appbox->get_connection()->prepare($sql);
|
||||
@@ -1324,7 +1332,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
return $this;
|
||||
@@ -1556,6 +1564,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
if (!$session->is_authenticated())
|
||||
|
||||
return;
|
||||
|
||||
$ses_id = $session->get_ses_id();
|
||||
@@ -1614,7 +1623,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1678,7 +1687,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -1765,7 +1774,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
return $locale;
|
||||
@@ -1831,6 +1840,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
public function get_nonce()
|
||||
{
|
||||
if ($this->nonce)
|
||||
|
||||
return $this->nonce;
|
||||
$nonce = false;
|
||||
|
||||
@@ -1848,6 +1858,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
return $this->nonce;
|
||||
}
|
||||
|
||||
|
||||
public function __sleep()
|
||||
{
|
||||
$vars = array();
|
||||
|
@@ -255,8 +255,7 @@ class mail
|
||||
$mail->ConfirmReadingTo = $reading_confirm_to;
|
||||
}
|
||||
|
||||
$mail->MsgHTML(strip_tags($body));
|
||||
// $mail->MsgHTML(p4string::cleanTags($body));
|
||||
$mail->MsgHTML(strip_tags($body, '<div><br>'));
|
||||
|
||||
foreach ($files as $f)
|
||||
{
|
||||
|
@@ -148,9 +148,9 @@ $app->before(function($request) use ($app)
|
||||
|
||||
return;
|
||||
}
|
||||
catch (Exception $e)
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
$auth = new Session_Authentication_None($app['p4user']);
|
||||
|
@@ -49,7 +49,7 @@ class module_prod
|
||||
'sbas_id' => $sbas_id
|
||||
);
|
||||
|
||||
foreach($user->ACL()->get_granted_base(array(), array($databox->get_sbas_id())) as $coll)
|
||||
foreach ($user->ACL()->get_granted_base(array(), array($databox->get_sbas_id())) as $coll)
|
||||
{
|
||||
$selected = ($searchSet &&
|
||||
isset($searchSet->bases) &&
|
||||
@@ -75,12 +75,19 @@ class module_prod
|
||||
else
|
||||
$dates[$id] = array('sbas' => array($sbas_id), 'fieldname' => $name);
|
||||
}
|
||||
|
||||
if (isset($fields[$name]))
|
||||
{
|
||||
$fields[$name]['sbas'][] = $sbas_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isset($fields[$name]))
|
||||
$fields[$name]['sbas'][] = $sbas_id;
|
||||
else
|
||||
$fields[$name] = array('sbas' => array($sbas_id), 'fieldname' => $name, 'id' => $id);
|
||||
$fields[$name] = array(
|
||||
'sbas' => array($sbas_id)
|
||||
, 'fieldname' => $name
|
||||
, 'type' => $meta->get_type()
|
||||
, 'id' => $id
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -56,7 +56,7 @@ class random
|
||||
}
|
||||
}
|
||||
|
||||
$sql = 'DELETE FROM tokens WHERE expire_on < :date';
|
||||
$sql = 'DELETE FROM tokens WHERE expire_on < :date and type="download"';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute(array(':date' => $date));
|
||||
$stmt->closeCursor();
|
||||
@@ -201,7 +201,9 @@ class random
|
||||
self::cleanTokens();
|
||||
|
||||
$conn = connection::getPDOConnection();
|
||||
$sql = 'SELECT * FROM tokens WHERE value = :token ';
|
||||
$sql = 'SELECT * FROM tokens
|
||||
WHERE value = :token
|
||||
AND (expire_on > NOW() OR expire_on IS NULL)';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute(array(':token' => $token));
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
@@ -56,7 +56,7 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract
|
||||
|
||||
/**
|
||||
*
|
||||
* @var boolean
|
||||
* @var searchEngine_options
|
||||
*/
|
||||
protected $options = false;
|
||||
|
||||
@@ -142,6 +142,8 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract
|
||||
*/
|
||||
public function set_options(searchEngine_options $options)
|
||||
{
|
||||
$this->options = $options;
|
||||
|
||||
$this->opt_search_type = (int) $options->get_search_type();
|
||||
$this->opt_bases = $options->get_bases();
|
||||
$this->opt_fields = $options->get_fields();
|
||||
@@ -394,34 +396,37 @@ class searchEngine_adapter_phrasea_engine extends searchEngine_adapter_abstract
|
||||
|
||||
$total_time = 0;
|
||||
|
||||
$sort = '';
|
||||
|
||||
if($this->options->get_sortby())
|
||||
{
|
||||
switch($this->options->get_sortord())
|
||||
{
|
||||
case searchEngine_options::SORT_MODE_ASC:
|
||||
$sort = '+';
|
||||
break;
|
||||
case searchEngine_options::SORT_MODE_DESC:
|
||||
default:
|
||||
$sort = '-';
|
||||
break;
|
||||
}
|
||||
$sort .= '0' . $this->options->get_sortby();
|
||||
}
|
||||
|
||||
foreach ($this->queries as $sbas_id => $qry)
|
||||
{
|
||||
if ($this->opt_search_type == 1)
|
||||
{
|
||||
$this->results[$sbas_id] = phrasea_query2(
|
||||
$session->get_ses_id()
|
||||
, $sbas_id
|
||||
, $this->colls[$sbas_id]
|
||||
, $this->arrayq[$sbas_id]
|
||||
, $registry->get('GV_sit')
|
||||
, (string) $session->get_usr_id()
|
||||
, false
|
||||
, PHRASEA_MULTIDOC_REGONLY
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->results[$sbas_id] = phrasea_query2(
|
||||
$session->get_ses_id()
|
||||
, $sbas_id
|
||||
, $this->colls[$sbas_id]
|
||||
, $this->arrayq[$sbas_id]
|
||||
, $registry->get('GV_sit')
|
||||
, (string) $session->get_usr_id()
|
||||
, false
|
||||
, PHRASEA_MULTIDOC_DOCONLY
|
||||
);
|
||||
}
|
||||
$this->results[$sbas_id] = phrasea_query2(
|
||||
$session->get_ses_id()
|
||||
, $sbas_id
|
||||
, $this->colls[$sbas_id]
|
||||
, $this->arrayq[$sbas_id]
|
||||
, $registry->get('GV_sit')
|
||||
, (string) $session->get_usr_id()
|
||||
, false
|
||||
, $this->opt_search_type == 1 ? PHRASEA_MULTIDOC_REGONLY : PHRASEA_MULTIDOC_DOCONLY
|
||||
, $sort
|
||||
);
|
||||
|
||||
$total_time += $this->results[$sbas_id]['time_all'];
|
||||
|
||||
if ($this->results[$sbas_id])
|
||||
|
@@ -436,7 +436,7 @@ class setup
|
||||
$message = 'Directory MUST be writable';
|
||||
break;
|
||||
case 'version':
|
||||
$result = version_compare($value, '1.17.0.2', '>=');
|
||||
$result = version_compare($value, '1.18.0.3', '>=');
|
||||
if ($result)
|
||||
$message = sprintf ('Phrasea version %s is ok', $value);
|
||||
else
|
||||
|
@@ -100,11 +100,10 @@ class supertwig
|
||||
$options = array_merge($default_options, $options);
|
||||
$extensions = array_merge($default_extensions, $extensions);
|
||||
|
||||
$this->init_twig();
|
||||
|
||||
try
|
||||
{
|
||||
$this->set_options($options);
|
||||
$this->init_twig();
|
||||
$this->set_extensions($extensions);
|
||||
$this->addFilter(array('round' => 'round'));
|
||||
}
|
||||
|
Reference in New Issue
Block a user