mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 13:03:20 +00:00
Merge branch 'master' of github.com:alchemy-fr/Phraseanet
This commit is contained in:
93
builder.php
Executable file
93
builder.php
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/*
|
||||
* Build Phraseanet for download
|
||||
*
|
||||
*/
|
||||
|
||||
printf('Retrieve vendors ...' . PHP_EOL);
|
||||
|
||||
system('./vendors.php');
|
||||
|
||||
require_once __DIR__ . '/lib/classes/bootstrap.class.php';
|
||||
|
||||
\bootstrap::register_autoloads();
|
||||
|
||||
use Symfony\Component\Finder\Finder;
|
||||
|
||||
chdir(__DIR__);
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
printf('Remove files ...' . PHP_EOL);
|
||||
|
||||
$finder = new Finder();
|
||||
$finder
|
||||
->files()
|
||||
->name('.gitmodules')
|
||||
->name('.gitignore')
|
||||
->name('check_cs.php')
|
||||
->name('pom.xml')
|
||||
->name('vendors.php')
|
||||
->name('builder.php')
|
||||
->ignoreDotFiles(false)
|
||||
->ignoreVCS(false)
|
||||
->in(__DIR__);
|
||||
|
||||
$files = array();
|
||||
|
||||
foreach ($finder as $file)
|
||||
{
|
||||
$files[] = $file->getPathname();
|
||||
}
|
||||
|
||||
foreach ($files as $file)
|
||||
{
|
||||
echo "rm $file\n";
|
||||
unlink($file);
|
||||
}
|
||||
|
||||
$finder = new Finder();
|
||||
|
||||
$finder
|
||||
->directories()
|
||||
->name('test')
|
||||
->name('tests')
|
||||
->name('unitTest')
|
||||
->name('demos')
|
||||
->name('demo')
|
||||
->name('example')
|
||||
->name('examples')
|
||||
->name('docs')
|
||||
->name('documentation')
|
||||
->name('doc')
|
||||
->name('as-docs')
|
||||
->name('hudson')
|
||||
->name('.svn')
|
||||
->name('.git')
|
||||
->ignoreDotFiles(false)
|
||||
->ignoreVCS(false)
|
||||
->in(__DIR__);
|
||||
|
||||
|
||||
$dirs = array();
|
||||
|
||||
foreach ($finder as $dir)
|
||||
{
|
||||
$dirs[] = $dir->getPathname();
|
||||
}
|
||||
|
||||
foreach ($dirs as $dir)
|
||||
{
|
||||
if (!is_dir($dir))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$cmd = sprintf('rm -Rf %s' . PHP_EOL, escapeshellarg($dir));
|
||||
|
||||
printf($cmd);
|
||||
system($cmd);
|
||||
}
|
||||
|
||||
exit(0);
|
112
check_cs.php
Executable file
112
check_cs.php
Executable file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/*
|
||||
* Coding Standards (a.k.a. CS)
|
||||
*
|
||||
* @Author Fabien Potencier
|
||||
*
|
||||
* @see https://github.com/symfony/symfony/blob/master/check_cs
|
||||
*
|
||||
* This script is designed to clean up the source files and thus follow coding
|
||||
* conventions.
|
||||
*
|
||||
* @see http://symfony.com/doc/2.0/contributing/code/standards.html
|
||||
*
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/lib/bootstrap.php';
|
||||
|
||||
use Symfony\Component\Finder\Finder;
|
||||
|
||||
$fix = isset($argv[1]) && 'fix' == $argv[1];
|
||||
|
||||
$finder = new Finder();
|
||||
$finder
|
||||
->files()
|
||||
->name('*.md')
|
||||
->name('*.php')
|
||||
->name('*.inc')
|
||||
->name('*.php.dist')
|
||||
->name('*.twig')
|
||||
->name('*.xml')
|
||||
->name('*.xml.dist')
|
||||
->name('*.yml')
|
||||
->in(
|
||||
array(
|
||||
__DIR__ . '/lib',
|
||||
__DIR__ . '/bin',
|
||||
__DIR__ . '/config',
|
||||
__DIR__ . '/www',
|
||||
__DIR__ . '/templates'
|
||||
)
|
||||
)
|
||||
->notName(basename(__FILE__))
|
||||
->exclude('.git')
|
||||
->exclude('vendor')
|
||||
;
|
||||
|
||||
$count = 0;
|
||||
|
||||
foreach ($finder as $file)
|
||||
{
|
||||
|
||||
/* @var $file Symfony\Component\Finder\SplFileInfo */
|
||||
|
||||
$old = file_get_contents($file->getRealpath());
|
||||
|
||||
$new = $old;
|
||||
|
||||
// [Structure] Never use short tags (<?)
|
||||
$new = str_replace('<? ', '<?php ', $new);
|
||||
|
||||
// [Structure] Indentation is done by steps of four spaces (tabs are never allowed)
|
||||
$new = preg_replace_callback('/^( *)(\t+)/m', function ($matches) use ($new)
|
||||
{
|
||||
return $matches[1] . str_repeat(' ', strlen($matches[2]));
|
||||
}, $new);
|
||||
|
||||
// [Structure] Use the linefeed character (0x0A) to end lines
|
||||
$new = str_replace("\r\n", "\n", $new);
|
||||
|
||||
// [Structure] Don't add trailing spaces at the end of lines
|
||||
$new = preg_replace('/[ \t]*$/m', '', $new);
|
||||
|
||||
// [Structure] Convert tabs to spaces
|
||||
$new = preg_replace('/\t/m', ' ', $new);
|
||||
|
||||
// [Structure] Add a blank line before return statements
|
||||
$new = preg_replace_callback('/(^.*$)\n(^ +return)/m', function ($match)
|
||||
{
|
||||
// don't add it if the previous line is ...
|
||||
if (
|
||||
preg_match('/\{$/m', $match[1]) || // ... ending with an opening brace
|
||||
preg_match('/\:$/m', $match[1]) || // ... ending with a colon (e.g. a case statement)
|
||||
preg_match('%^ *//%m', $match[1]) || // ... an inline comment
|
||||
preg_match('/^$/m', $match[1]) // ... already blank
|
||||
)
|
||||
{
|
||||
return $match[1] . "\n" . $match[2];
|
||||
}
|
||||
|
||||
return $match[1] . "\n\n" . $match[2];
|
||||
}, $new);
|
||||
|
||||
// [Structure] A file must always ends with a linefeed character
|
||||
if (strlen($new) && "\n" != substr($new, -1))
|
||||
{
|
||||
$new .= "\n";
|
||||
}
|
||||
|
||||
if ($new != $old)
|
||||
{
|
||||
$count++;
|
||||
|
||||
if ($fix)
|
||||
{
|
||||
file_put_contents($file->getRealpath(), $new);
|
||||
}
|
||||
printf('%4d) %s' . PHP_EOL, $count, $file->getRelativePathname());
|
||||
}
|
||||
}
|
||||
|
||||
exit($count ? 1 : 0);
|
@@ -121,6 +121,7 @@ class ACL implements cache_cacheableInterface
|
||||
$key = $record->get_serialize_key();
|
||||
|
||||
if (array_key_exists($key, $this->_rights_records_document))
|
||||
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -188,6 +189,7 @@ class ACL implements cache_cacheableInterface
|
||||
$key = $record->get_serialize_key();
|
||||
|
||||
if (array_key_exists($key, $this->_rights_records_preview))
|
||||
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -241,6 +243,7 @@ class ACL implements cache_cacheableInterface
|
||||
public function apply_model(User_Interface $template_user, Array $base_ids)
|
||||
{
|
||||
if (count($base_ids) == 0)
|
||||
|
||||
return $this;
|
||||
|
||||
$sbas_ids = array();
|
||||
@@ -327,8 +330,16 @@ class ACL implements cache_cacheableInterface
|
||||
// apply sb : unchecked boxes on template will be unchecked on user
|
||||
// checked boxes on template does nothing (left unchanged on user)
|
||||
// get masks from 64 bits int AS DECIMAL STRING to BINARY STRING
|
||||
$mand = substr(str_repeat('0', 64) . databox_status::dec2bin($template_user->ACL()->get_mask_and($base_id)), -64);
|
||||
$mxor = substr(str_repeat('0', 64) . databox_status::dec2bin($template_user->ACL()->get_mask_xor($base_id)), -64);
|
||||
|
||||
$mask_and = $template_user->ACL()->get_mask_and($base_id);
|
||||
$mask_xor = $template_user->ACL()->get_mask_xor($base_id);
|
||||
|
||||
$mask_and = ctype_digit($mask_and) ? $mask_and : '0';
|
||||
$mask_xor = ctype_digit($mask_xor) ? $mask_xor : '0';
|
||||
|
||||
$mand = substr(str_repeat('0', 64) . databox_status::dec2bin($mask_and), -64);
|
||||
$mxor = substr(str_repeat('0', 64) . databox_status::dec2bin($mask_xor), -64);
|
||||
|
||||
$m = array('aa' => '', 'ao' => '', 'xa' => '', 'xo' => '');
|
||||
for ($i = 0; $i < 64; $i++)
|
||||
{
|
||||
@@ -382,6 +393,7 @@ class ACL implements cache_cacheableInterface
|
||||
$this->load_rights_bas();
|
||||
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
if ($this->is_limited($base_id))
|
||||
@@ -469,6 +481,7 @@ class ACL implements cache_cacheableInterface
|
||||
$this->load_rights_bas();
|
||||
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
return $this->_rights_bas[$base_id]['restrict_dwnld'];
|
||||
@@ -485,6 +498,7 @@ class ACL implements cache_cacheableInterface
|
||||
$this->load_rights_bas();
|
||||
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
return (int) $this->_rights_bas[$base_id]['remain_dwnld'];
|
||||
@@ -502,6 +516,7 @@ class ACL implements cache_cacheableInterface
|
||||
$this->load_rights_bas();
|
||||
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
$this->_rights_bas[$base_id]['remain_dwnld'] =
|
||||
@@ -541,12 +556,14 @@ class ACL implements cache_cacheableInterface
|
||||
$this->load_rights_sbas();
|
||||
|
||||
if (!isset($this->_rights_sbas[$sbas_id]))
|
||||
|
||||
return false;
|
||||
|
||||
if (!isset($this->_rights_sbas[$sbas_id][$right]))
|
||||
throw new Exception('This right does not exists');
|
||||
|
||||
if ($this->_rights_sbas[$sbas_id][$right] === true)
|
||||
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -562,6 +579,7 @@ class ACL implements cache_cacheableInterface
|
||||
{
|
||||
$this->load_rights_bas();
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
return $this->_rights_bas[$base_id]['mask_and'];
|
||||
@@ -577,6 +595,7 @@ class ACL implements cache_cacheableInterface
|
||||
{
|
||||
$this->load_rights_bas();
|
||||
if (!$this->has_access_to_base($base_id))
|
||||
|
||||
return false;
|
||||
|
||||
return $this->_rights_bas[$base_id]['mask_xor'];
|
||||
@@ -718,6 +737,7 @@ class ACL implements cache_cacheableInterface
|
||||
{
|
||||
|
||||
if ($this->_rights_records_preview)
|
||||
|
||||
return $this;
|
||||
|
||||
try
|
||||
@@ -771,6 +791,7 @@ class ACL implements cache_cacheableInterface
|
||||
{
|
||||
|
||||
if ($this->_rights_sbas && $this->_global_rights)
|
||||
|
||||
return $this;
|
||||
|
||||
try
|
||||
@@ -832,6 +853,7 @@ class ACL implements cache_cacheableInterface
|
||||
protected function load_rights_bas()
|
||||
{
|
||||
if ($this->_rights_bas && $this->_global_rights && is_array($this->_limited))
|
||||
|
||||
return $this;
|
||||
|
||||
try
|
||||
@@ -1335,6 +1357,7 @@ class ACL implements cache_cacheableInterface
|
||||
$stmt->closeCursor();
|
||||
|
||||
if (!$row)
|
||||
|
||||
return $this;
|
||||
|
||||
$this->give_access_to_base(array($base_id_dest));
|
||||
@@ -1501,6 +1524,7 @@ class ACL implements cache_cacheableInterface
|
||||
{
|
||||
$this->load_rights_bas();
|
||||
if (!isset($this->_limited[$base_id]))
|
||||
|
||||
return null;
|
||||
return ($this->_limited[$base_id]);
|
||||
}
|
||||
|
@@ -93,6 +93,7 @@ class Controller_Admin_Publications implements ControllerProviderInterface
|
||||
$user = User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
|
||||
if (!$feed->is_owner($user))
|
||||
|
||||
return $app->redirect('/admin/publications/feed/' . $id . '/?error=' . _('You are not the owner of this feed, you can not edit it'));
|
||||
|
||||
$request = $app['request'];
|
||||
@@ -121,23 +122,29 @@ class Controller_Admin_Publications implements ControllerProviderInterface
|
||||
$user = User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
|
||||
if (!$feed->is_owner($user))
|
||||
|
||||
return new Response('ERROR:you are not allowed');
|
||||
|
||||
if ($_FILES['Filedata']['error'] !== 0)
|
||||
|
||||
return new Response('ERROR:error while upload');
|
||||
|
||||
$file = new system_file($_FILES['Filedata']['tmp_name']);
|
||||
if (!in_array($file->get_mime(), array('image/jpeg', 'image/jpg', 'image/gif')))
|
||||
|
||||
return new Response('ERROR:bad filetype');
|
||||
|
||||
if ($file->getSize() > 200000)
|
||||
|
||||
return new Response('ERROR:file too large');
|
||||
|
||||
$datas = $file->get_technical_datas();
|
||||
if (!isset($datas[system_file::TC_DATAS_WIDTH]) || !isset($datas[system_file::TC_DATAS_HEIGHT]))
|
||||
|
||||
return new Response('ERROR:file is not square');
|
||||
|
||||
if ($datas[system_file::TC_DATAS_WIDTH] != $datas[system_file::TC_DATAS_HEIGHT])
|
||||
|
||||
return new Response('ERROR:file is not square');
|
||||
|
||||
$feed->set_icon($file);
|
||||
|
@@ -287,7 +287,7 @@ class Controller_Setup_Installer implements ControllerProviderInterface
|
||||
|
||||
$appbox->get_session()->authenticate($auth);
|
||||
|
||||
$redirection = '/admin/?section=taskmanager¬ice=install_success';
|
||||
$redirection = '/admin/index.php?section=taskmanager¬ice=install_success';
|
||||
|
||||
return $app->redirect($redirection);
|
||||
}
|
||||
|
@@ -100,6 +100,7 @@ class DailymotionWithoutOauth2 extends Dailymotion
|
||||
$this->timeout = null;
|
||||
$result = json_decode($this->httpRequest($result['upload_url'], array('file' => '@' . $filePath)), true);
|
||||
$this->timeout = $timeout;
|
||||
|
||||
return $result['url'];
|
||||
}
|
||||
}
|
||||
|
@@ -370,9 +370,11 @@ class Feed_XML_Cooliris extends Feed_XML_Abstract implements Feed_XML_Interface
|
||||
$medium = strtolower($content->get_record()->get_type());
|
||||
|
||||
if (!in_array($medium, array('image', 'audio', 'video')))
|
||||
|
||||
return $this;
|
||||
|
||||
if (!$preview_permalink || !$thumbnail_permalink)
|
||||
|
||||
return $this;
|
||||
|
||||
//add item node to channel node
|
||||
|
@@ -395,6 +395,7 @@ class Session_Handler
|
||||
foreach ($user->ACL()->get_granted_sbas() as $databox)
|
||||
{
|
||||
Session_Logger::create($databox, $browser, $this, $user);
|
||||
\cache_databox::insertClient($databox);
|
||||
}
|
||||
|
||||
$this->set_usr_lastconn($conn, $user->get_id());
|
||||
|
@@ -907,6 +907,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
public static function get_usr_id_from_email($email)
|
||||
{
|
||||
if (is_null($email))
|
||||
|
||||
return false;
|
||||
|
||||
$conn = connection::getPDOConnection();
|
||||
@@ -1277,7 +1278,11 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
protected function load_preferences()
|
||||
{
|
||||
if ($this->_prefs)
|
||||
|
||||
return $this;
|
||||
|
||||
$registry = \registry::get_instance();
|
||||
|
||||
$sql = 'SELECT prop, value FROM usr_settings WHERE usr_id= :id';
|
||||
$stmt = $this->appbox->get_connection()->prepare($sql);
|
||||
$stmt->execute(array(':id' => $this->id));
|
||||
@@ -1293,6 +1298,11 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
{
|
||||
if (!isset($this->_prefs[$k]))
|
||||
{
|
||||
if($k == 'start_page_query' && $registry->get('GV_defaultQuery'))
|
||||
{
|
||||
$v = $registry->get('GV_defaultQuery');
|
||||
}
|
||||
|
||||
$this->_prefs[$k] = $v;
|
||||
$this->update_pref($k, $v);
|
||||
}
|
||||
@@ -1565,6 +1575,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
{
|
||||
$this->load_preferences();
|
||||
if (isset($this->_prefs[$prop]) && $this->_prefs[$prop] === $value)
|
||||
|
||||
return $value;
|
||||
|
||||
$ok = true;
|
||||
@@ -1602,6 +1613,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();
|
||||
@@ -1876,6 +1888,7 @@ class User_Adapter implements User_Interface, cache_cacheableInterface
|
||||
public function get_nonce()
|
||||
{
|
||||
if ($this->nonce)
|
||||
|
||||
return $this->nonce;
|
||||
$nonce = false;
|
||||
|
||||
|
@@ -489,6 +489,7 @@ class User_Query implements User_QueryInterface
|
||||
public function get_total()
|
||||
{
|
||||
if ($this->total)
|
||||
|
||||
return $this->total;
|
||||
|
||||
$conn = $this->appbox->get_connection();
|
||||
@@ -637,6 +638,7 @@ class User_Query implements User_QueryInterface
|
||||
public function on_base_ids(Array $base_ids = null)
|
||||
{
|
||||
if (!$base_ids)
|
||||
|
||||
return $this;
|
||||
|
||||
$this->bases_restrictions = true;
|
||||
@@ -661,6 +663,7 @@ class User_Query implements User_QueryInterface
|
||||
public function on_sbas_ids(Array $sbas_ids = null)
|
||||
{
|
||||
if (!$sbas_ids)
|
||||
|
||||
return $this;
|
||||
|
||||
$this->sbas_restrictions = true;
|
||||
|
@@ -180,6 +180,12 @@ abstract class base implements cache_cacheableInterface
|
||||
*/
|
||||
public function get_data_from_cache($option = null)
|
||||
{
|
||||
|
||||
if($this->get_base_type() == self::DATA_BOX)
|
||||
{
|
||||
\cache_databox::refresh($this->id);
|
||||
}
|
||||
|
||||
return $this->get_cache()->get($this->get_cache_key($option));
|
||||
}
|
||||
|
||||
|
@@ -327,6 +327,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function get_first_element()
|
||||
{
|
||||
foreach ($this->get_elements() as $basket_element)
|
||||
|
||||
return $basket_element;
|
||||
return null;
|
||||
}
|
||||
@@ -338,6 +339,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function get_validation_end_date()
|
||||
{
|
||||
if (!$this->valid || !$this->validation_end_date)
|
||||
|
||||
return null;
|
||||
return $this->validation_end_date;
|
||||
}
|
||||
@@ -349,6 +351,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function is_validation_finished()
|
||||
{
|
||||
if (!$this->valid || !$this->validation_end_date)
|
||||
|
||||
return null;
|
||||
$now = new DateTime();
|
||||
|
||||
@@ -362,6 +365,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function is_confirmed()
|
||||
{
|
||||
if (!$this->valid)
|
||||
|
||||
return null;
|
||||
|
||||
return $this->validation_is_confirmed;
|
||||
@@ -370,14 +374,17 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function is_releasable()
|
||||
{
|
||||
if (!$this->valid)
|
||||
|
||||
return false;
|
||||
|
||||
if ($this->is_confirmed())
|
||||
|
||||
return false;
|
||||
|
||||
foreach ($this->get_elements() as $element)
|
||||
{
|
||||
if ($element->get_my_agreement() == '0')
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -585,6 +592,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function sort($order)
|
||||
{
|
||||
if (!$this->valid || !in_array($order, array('asc', 'desc')))
|
||||
|
||||
return;
|
||||
|
||||
$this->load_elements();
|
||||
@@ -1016,6 +1024,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function set_read()
|
||||
{
|
||||
if (!$this->noview)
|
||||
|
||||
return true;
|
||||
$session = $this->appbox->get_session();
|
||||
|
||||
@@ -1131,15 +1140,19 @@ class basket_adapter implements cache_cacheableInterface
|
||||
if ($this->is_mine)
|
||||
{
|
||||
if ($this->is_validation_finished())
|
||||
|
||||
return sprintf(_('Vous aviez envoye cette demande a %d utilisateurs'), (count($this->validating_users) - 1));
|
||||
else
|
||||
|
||||
return sprintf(_('Vous avez envoye cette demande a %d utilisateurs'), (count($this->validating_users) - 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->validation_see_others)
|
||||
|
||||
return sprintf(_('Processus de validation recu de %s et concernant %d utilisateurs'), User_Adapter::getInstance($this->usr_id, $this->appbox)->get_display_name(), (count($this->validating_users) - 1));
|
||||
else
|
||||
|
||||
return sprintf(_('Processus de validation recu de %s'), User_Adapter::getInstance($this->usr_id, $this->appbox)->get_display_name());
|
||||
}
|
||||
}
|
||||
@@ -1248,6 +1261,7 @@ class basket_adapter implements cache_cacheableInterface
|
||||
protected function load_elements()
|
||||
{
|
||||
if (!is_null($this->elements))
|
||||
|
||||
return;
|
||||
|
||||
$this->elements = array();
|
||||
@@ -1525,11 +1539,14 @@ class basket_adapter implements cache_cacheableInterface
|
||||
public function remove_from_ssel($sselcont_id)
|
||||
{
|
||||
if (!$this->is_mine)
|
||||
|
||||
return array('error' => 'error', 'status' => 0);
|
||||
|
||||
if ($this->is_grouping)
|
||||
|
||||
return $this->remove_grouping_elements($sselcont_id);
|
||||
else
|
||||
|
||||
return $this->remove_basket_elements($sselcont_id);
|
||||
}
|
||||
|
||||
|
262
lib/classes/cache/databox.class.php
vendored
262
lib/classes/cache/databox.class.php
vendored
@@ -18,142 +18,125 @@
|
||||
class cache_databox
|
||||
{
|
||||
|
||||
/**
|
||||
*
|
||||
* @var cache_databox
|
||||
*/
|
||||
private static $_instance = false;
|
||||
/**
|
||||
*
|
||||
* @var cache
|
||||
*/
|
||||
protected $_c_obj = false;
|
||||
|
||||
/**
|
||||
*
|
||||
* @return cache_databox
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
$this->_c_obj = cache_adapter::getInstance(registry::get_instance());
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return cache_databox
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
if (!(self::$_instance instanceof self))
|
||||
self::$_instance = new self();
|
||||
|
||||
return self::$_instance;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $type
|
||||
* @param string $what
|
||||
* @return boolean
|
||||
*/
|
||||
public function get($type, $what)
|
||||
{
|
||||
return $this->_c_obj->get('_databox_' . $type . '_' . $what);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $type
|
||||
* @param string $what
|
||||
* @param mixed content $bin
|
||||
* @return boolean
|
||||
*/
|
||||
public function set($type, $what, $bin)
|
||||
{
|
||||
return $this->_c_obj->set('_databox_' . $type . '_' . $what, $bin);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $type
|
||||
* @param string $what
|
||||
* @return boolean
|
||||
*/
|
||||
public function delete($type, $what)
|
||||
{
|
||||
return $this->_c_obj->delete('_databox_' . $type . '_' . $what);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param int $sbas_id
|
||||
* @return cache_databox
|
||||
*/
|
||||
function refresh($sbas_id)
|
||||
public static function refresh($sbas_id)
|
||||
{
|
||||
$date = new DateTime('-30 seconds');
|
||||
$databox = \databox::get_instance((int) $sbas_id);
|
||||
|
||||
$registry = registry::get_instance();
|
||||
$date = new \DateTime('-3 seconds');
|
||||
|
||||
$cache_appbox = cache_appbox::getInstance();
|
||||
$last_update = $cache_appbox->get('memcached_update');
|
||||
if ($last_update)
|
||||
$last_update = new DateTime($last_update);
|
||||
else
|
||||
$last_update = new DateTime('-10 years');
|
||||
$appbox = \appbox::get_instance();
|
||||
|
||||
if ($date <= $last_update || !$cache_appbox->is_ok())
|
||||
$registry = \registry::get_instance();
|
||||
|
||||
return $this;
|
||||
$last_update = null;
|
||||
|
||||
$connsbas = connection::getInstance($sbas_id);
|
||||
|
||||
if (!$connsbas)
|
||||
|
||||
return $this;
|
||||
|
||||
$sql = 'SELECT type, value FROM memcached
|
||||
WHERE site_id="' . $connsbas->escape_string($registry->get('GV_ServerName')) . '"';
|
||||
|
||||
if ($rs = $connsbas->query($sql))
|
||||
try
|
||||
{
|
||||
$cache_thumbnail = cache_thumbnail::getInstance();
|
||||
$cache_preview = cache_preview::getInstance();
|
||||
while ($row = $connsbas->fetch_assoc($rs))
|
||||
{
|
||||
switch ($row['type'])
|
||||
{
|
||||
case 'record':
|
||||
$cache_thumbnail->delete($sbas_id, $row['value'], false);
|
||||
$cache_preview->delete($sbas_id, $row['value'], false);
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id="' . $connsbas->escape_string($registry->get('GV_ServerName')) . '"
|
||||
AND type="record" AND value="' . $row['value'] . '"';
|
||||
$connsbas->query($sql);
|
||||
break;
|
||||
case 'structure':
|
||||
$cache_appbox->delete('list_bases');
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id="' . $connsbas->escape_string($registry->get('GV_ServerName')) . '"
|
||||
AND type="structure" AND value="' . $row['value'] . '"';
|
||||
$connsbas->query($sql);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$connsbas->free_result($rs);
|
||||
$last_update = $appbox->get_data_from_cache('memcached_update_' . $sbas_id);
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
$date = new DateTime();
|
||||
$now = phraseadate::format_mysql($date);
|
||||
$cache_appbox->set('memcached_update', $now);
|
||||
if ($last_update)
|
||||
$last_update = new \DateTime($last_update);
|
||||
else
|
||||
$last_update = new \DateTime('-10 years');
|
||||
|
||||
$conn = connection::getInstance();
|
||||
$sql = 'UPDATE sitepreff
|
||||
SET memcached_update="' . $conn->escape_string($now) . '"';
|
||||
$conn->query($sql);
|
||||
if ($date <= $last_update || !$appbox->get_cache()->ping())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
return $this;
|
||||
$connsbas = \connection::getPDOConnection($sbas_id);
|
||||
|
||||
$sql = 'SELECT type, value FROM memcached WHERE site_id = :site_id';
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute(array(':site_id' => $registry->get('GV_ServerName')));
|
||||
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
foreach ($rs as $row)
|
||||
{
|
||||
switch ($row['type'])
|
||||
{
|
||||
case 'record':
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'];
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_SUBDEFS;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_GROUPING;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_MIME;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_ORIGINAL_NAME;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_SHA256;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_STATUS;
|
||||
$databox->delete_data_from_cache($key);
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_TECHNICAL_DATAS;
|
||||
$databox->delete_data_from_cache($key);
|
||||
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id = :site_id AND type="record" AND value = :value';
|
||||
|
||||
$params = array(
|
||||
':site_id' => $registry->get('GV_ServerName')
|
||||
, ':value' => $row['value']
|
||||
);
|
||||
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$record = new \record_adapter($sbas_id, $row['value']);
|
||||
$record->get_caption()->delete_data_from_cache();
|
||||
|
||||
foreach ($record->get_caption()->get_fields() as $field)
|
||||
{
|
||||
$field->delete_data_from_cache();
|
||||
}
|
||||
|
||||
break;
|
||||
case 'structure':
|
||||
$appbox->delete_data_from_cache(\appbox::CACHE_LIST_BASES);
|
||||
$appbox->delete_data_from_cache(\appbox::CACHE_SBAS_IDS);
|
||||
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id = :site_id AND type="structure" AND value = :value';
|
||||
|
||||
$params = array(
|
||||
':site_id' => $registry->get('GV_ServerName')
|
||||
, ':value' => $row['value']
|
||||
);
|
||||
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$stmt->closeCursor();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$date = new \DateTime();
|
||||
$now = $date->format(DATE_ISO8601);
|
||||
|
||||
$appbox->set_data_to_cache($now, 'memcached_update_' . $sbas_id);
|
||||
|
||||
$conn = \connection::getPDOConnection();
|
||||
|
||||
$sql = 'UPDATE sitepreff SET memcached_update = :date';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute(array(':date' => $now));
|
||||
$stmt->closeCursor();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -163,28 +146,57 @@ class cache_databox
|
||||
* @param mixed content $value
|
||||
* @return Void
|
||||
*/
|
||||
function update($sbas_id, $type, $value='')
|
||||
public static function update($sbas_id, $type, $value = '')
|
||||
{
|
||||
|
||||
$connbas = connection::getPDOConnection($sbas_id);
|
||||
$connbas = \connection::getPDOConnection($sbas_id);
|
||||
|
||||
$registry = registry::get_instance();
|
||||
$registry = \registry::get_instance();
|
||||
|
||||
$sql = 'SELECT distinct site_id as site_id
|
||||
FROM clients
|
||||
WHERE site_id != :site_id';
|
||||
|
||||
$stmt = $connbas->prepare($sql);
|
||||
$stmt->execute(array(':site_id' => $registry->get('GV_ServerName')));
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$sql = 'REPLACE INTO memcached (site_id, type, value)
|
||||
VALUES (:site_id, :type, :value)';
|
||||
|
||||
$stmt = $connbas->prepare($sql);
|
||||
|
||||
foreach ($rs as $row)
|
||||
{
|
||||
$stmt->execute(array(':site_id' => $row['site_id'], ':type' => $type, ':value' => $value));
|
||||
$stmt->execute(array(':site_id' => $row['site_id'], ':type' => $type, ':value' => $value));
|
||||
}
|
||||
|
||||
$stmt->closeCursor();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
public static function insertClient(\databox $databox)
|
||||
{
|
||||
$connbas = $databox->get_connection();
|
||||
|
||||
$registry = \registry::get_instance();
|
||||
|
||||
$sql = 'SELECT site_id FROM clients WHERE site_id = :site_id';
|
||||
$stmt = $connbas->prepare($sql);
|
||||
$stmt->execute(array(':site_id' => $registry->get('GV_ServerName')));
|
||||
$rowCount = $stmt->rowCount();
|
||||
$stmt->closeCursor();
|
||||
|
||||
if ($rowCount > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$sql = 'INSERT INTO clients (site_id) VALUES (:site_id)';
|
||||
$stmt = $connbas->prepare($sql);
|
||||
$stmt->execute(array(':site_id' => $registry->get('GV_ServerName')));
|
||||
$stmt->closeCursor();
|
||||
|
||||
return;
|
||||
|
@@ -60,6 +60,7 @@ class caption_record implements caption_interface, cache_cacheableInterface
|
||||
protected function retrieve_fields()
|
||||
{
|
||||
if (is_array($this->fields))
|
||||
|
||||
return $this->fields;
|
||||
|
||||
$fields = array();
|
||||
@@ -133,6 +134,7 @@ class caption_record implements caption_interface, cache_cacheableInterface
|
||||
{
|
||||
$fields = $this->retrieve_fields();
|
||||
if (isset($this->dces_elements[$label]))
|
||||
|
||||
return $fields[$this->dces_elements[$label]];
|
||||
return null;
|
||||
}
|
||||
|
@@ -171,7 +171,10 @@ class connection
|
||||
public static function close_PDO_connection($name)
|
||||
{
|
||||
if (isset(self::$_PDO_instance[$name]))
|
||||
{
|
||||
self::$_PDO_instance[$name] = null;
|
||||
unset(self::$_PDO_instance[$name]);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
@@ -451,6 +451,7 @@ class databox extends base
|
||||
$stmt->closeCursor();
|
||||
|
||||
if ($row)
|
||||
|
||||
return self::get_instance((int) $row['sbas_id']);
|
||||
|
||||
try
|
||||
@@ -575,6 +576,7 @@ class databox extends base
|
||||
public function get_meta_structure()
|
||||
{
|
||||
if ($this->meta_struct)
|
||||
|
||||
return $this->meta_struct;
|
||||
|
||||
try
|
||||
@@ -697,6 +699,7 @@ class databox extends base
|
||||
}
|
||||
}
|
||||
if ($n > $limit)
|
||||
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -1220,6 +1223,7 @@ class databox extends base
|
||||
public function get_structure()
|
||||
{
|
||||
if ($this->structure)
|
||||
|
||||
return $this->structure;
|
||||
$this->structure = $this->retrieve_structure();
|
||||
|
||||
@@ -1260,6 +1264,7 @@ class databox extends base
|
||||
public function get_cterms()
|
||||
{
|
||||
if ($this->cterms)
|
||||
|
||||
return $this->cterms;
|
||||
|
||||
$sql = "SELECT value FROM pref WHERE prop='cterms'";
|
||||
@@ -1426,6 +1431,7 @@ class databox extends base
|
||||
public function get_cgus()
|
||||
{
|
||||
if ($this->cgus)
|
||||
|
||||
return $this->cgus;
|
||||
|
||||
$this->load_cgus();
|
||||
|
@@ -160,8 +160,20 @@ class databox_status
|
||||
|
||||
$sbas_ids = $user->ACL()->get_granted_sbas();
|
||||
|
||||
$see_all = array();
|
||||
|
||||
foreach ($sbas_ids as $databox)
|
||||
{
|
||||
$see_all[$databox->get_sbas_id()] = false;
|
||||
|
||||
foreach($databox->get_collections() as $collection)
|
||||
{
|
||||
if($user->ACL()->has_right_on_base($collection->get_base_id(), 'chgstatus'))
|
||||
{
|
||||
$see_all[$databox->get_sbas_id()] = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
$statuses[$databox->get_sbas_id()] = $databox->get_statusbits();
|
||||
@@ -177,15 +189,15 @@ class databox_status
|
||||
foreach ($statuses as $sbas_id => $status)
|
||||
{
|
||||
|
||||
$see_all = false;
|
||||
$see_this = isset($see_all[$sbas_id]) ? $see_all[$sbas_id] : false;
|
||||
|
||||
if ($user->ACL()->has_right_on_sbas($sbas_id, 'bas_modify_struct'))
|
||||
$see_all = true;
|
||||
$see_this = true;
|
||||
|
||||
foreach ($status as $bit => $props)
|
||||
{
|
||||
|
||||
if ($props['searchable'] == 0 && !$see_all)
|
||||
if ($props['searchable'] == 0 && !$see_this)
|
||||
continue;
|
||||
|
||||
$set = false;
|
||||
|
@@ -213,7 +213,7 @@ class eventsmanager_notify_autoregister extends eventsmanager_notifyAbstract
|
||||
function mail($to, $from, $datas)
|
||||
{
|
||||
$subject = sprintf(_('admin::register: Inscription automatique sur %s')
|
||||
, GV_homeTitle);
|
||||
, $this->registry->get('GV_homeTitle'));
|
||||
|
||||
$body = "<div>" . _('admin::register: un utilisateur s\'est inscrit')
|
||||
. "</div>\n";
|
||||
|
@@ -76,6 +76,7 @@ class gatekeeper
|
||||
$session = $appbox->get_session();
|
||||
|
||||
if (http_request::is_command_line())
|
||||
|
||||
return;
|
||||
|
||||
if (isset($_SERVER['PHP_SELF']) && trim($_SERVER['PHP_SELF']))
|
||||
@@ -121,6 +122,7 @@ class gatekeeper
|
||||
if ($this->_PHP_SELF == '/thesaurus2/xmlhttp/getterm.x.php'
|
||||
|| $this->_PHP_SELF == '/thesaurus2/xmlhttp/searchcandidate.x.php'
|
||||
|| $this->_PHP_SELF == '/thesaurus2/xmlhttp/getsy.x.php')
|
||||
|
||||
return;
|
||||
phrasea::redirect('/login/?redirect=/thesaurus2');
|
||||
break;
|
||||
@@ -129,6 +131,7 @@ class gatekeeper
|
||||
break;
|
||||
case 'admin':
|
||||
if ($this->_script_name === 'runscheduler.php')
|
||||
|
||||
return;
|
||||
phrasea::redirect('/login/?redirect=' . $_SERVER['REQUEST_URI']);
|
||||
break;
|
||||
@@ -148,6 +151,7 @@ class gatekeeper
|
||||
return;
|
||||
case 'setup':
|
||||
if ($appbox->upgradeavailable())
|
||||
|
||||
return;
|
||||
else
|
||||
phrasea::redirect('/login/');
|
||||
@@ -264,6 +268,7 @@ class gatekeeper
|
||||
$parm = $request->get_parms('LOG');
|
||||
|
||||
if (is_null($parm["LOG"]))
|
||||
|
||||
return $this;
|
||||
|
||||
try
|
||||
@@ -281,6 +286,7 @@ class gatekeeper
|
||||
try
|
||||
{
|
||||
$datas = random::helloToken($parm['LOG']);
|
||||
|
||||
return phrasea::redirect("/lightbox/validate/" . $datas['datas'] . "/");
|
||||
}
|
||||
catch (Exception_NotFound $e)
|
||||
|
@@ -94,6 +94,7 @@ class geonames
|
||||
$cityName = self::clean_input($cityName);
|
||||
|
||||
if (strlen($cityName) === 0)
|
||||
|
||||
return $output;
|
||||
|
||||
$registry = registry::get_instance();
|
||||
@@ -134,6 +135,7 @@ class geonames
|
||||
public function find_geoname_from_ip($ip)
|
||||
{
|
||||
if (array_key_exists($ip, $this->cache_ips))
|
||||
|
||||
return $this->cache_ips[$ip];
|
||||
|
||||
$output = array(
|
||||
|
@@ -143,6 +143,8 @@ class mail
|
||||
|
||||
public static function mail_confirm_registered($email)
|
||||
{
|
||||
$registry = \registry::get_instance();
|
||||
|
||||
$subject = _('login::register: sujet email : confirmation de votre adresse email');
|
||||
|
||||
$body = "<div>" . _('login::register: merci d\'avoir confirme votre adresse email') . "</div>\n";
|
||||
|
@@ -58,6 +58,7 @@ return call_user_func(
|
||||
{
|
||||
$browser = Browser::getInstance();
|
||||
if (!$browser->isMobile())
|
||||
|
||||
return new Response('');
|
||||
|
||||
$twig = new supertwig();
|
||||
|
@@ -70,6 +70,7 @@ return call_user_func(function()
|
||||
|
||||
return new response($twig->render('/prod/actions/Bridge/deactivated.twig', $params), 200);
|
||||
}
|
||||
|
||||
return new response($twig->render('/prod/actions/Bridge/error.twig', $params), 200);
|
||||
}
|
||||
});
|
||||
|
@@ -34,10 +34,13 @@ return call_user_func(function()
|
||||
{
|
||||
$browser = Browser::getInstance();
|
||||
if ($browser->isMobile())
|
||||
|
||||
return $app->redirect("/login/?redirect=/lightbox");
|
||||
elseif ($browser->isNewGeneration())
|
||||
|
||||
return $app->redirect("/login/?redirect=/prod");
|
||||
else
|
||||
|
||||
return $app->redirect("/login/?redirect=/client");
|
||||
});
|
||||
|
||||
@@ -70,6 +73,7 @@ return call_user_func(function()
|
||||
/**
|
||||
* Mount all aps
|
||||
*/
|
||||
|
||||
return $app;
|
||||
}
|
||||
);
|
@@ -49,8 +49,10 @@ return call_user_func(function()
|
||||
$app->get('/', function() use ($app)
|
||||
{
|
||||
if ($app['install'] === true)
|
||||
|
||||
return $app->redirect('/setup/installer/');
|
||||
if ($app['upgrade'] === true)
|
||||
|
||||
return $app->redirect('/setup/upgrader/');
|
||||
});
|
||||
|
||||
@@ -63,6 +65,7 @@ return call_user_func(function()
|
||||
$app->error(function($e) use ($app)
|
||||
{
|
||||
if ($e instanceof Exception_Setup_PhraseaAlreadyInstalled)
|
||||
|
||||
return $app->redirect('/login');
|
||||
|
||||
return new Response(
|
||||
|
@@ -77,6 +77,7 @@ class module_admin
|
||||
);
|
||||
|
||||
$twig = new supertwig();
|
||||
|
||||
return $twig->render('admin/tree.html.twig', $params);
|
||||
|
||||
}
|
||||
|
@@ -546,7 +546,7 @@ class module_admin_route_users_edit
|
||||
|
||||
$user = User_adapter::getInstance(array_pop($users), appbox::get_instance());
|
||||
|
||||
if ($user->is_template())
|
||||
if ($user->is_template() || $user->is_special())
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
@@ -121,6 +121,7 @@ $parseRoute = function ($route, Response $response)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return array('ressource' => $ressource, 'general' => $general, 'aspect' => $aspect, 'action' => $action);
|
||||
};
|
||||
|
||||
@@ -139,6 +140,7 @@ $app->before(function($request) use ($app)
|
||||
$app['token'] = API_OAuth2_Token::load_by_oauth_token($app["appbox"], $oauth2_adapter->getToken());
|
||||
|
||||
if ($session->is_authenticated())
|
||||
|
||||
return;
|
||||
if ($oauth2_adapter->has_ses_id())
|
||||
{
|
||||
|
@@ -46,7 +46,7 @@ class module_prod_route_records_edit extends module_prod_route_records_abstract
|
||||
*
|
||||
* @var Array
|
||||
*/
|
||||
protected $javascript_elements;
|
||||
protected $javascript_elements = array();
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -455,6 +455,7 @@ class module_prod_route_records_edit extends module_prod_route_records_abstract
|
||||
}
|
||||
|
||||
if (!is_array($request->get('mds')))
|
||||
|
||||
return $this;
|
||||
|
||||
$sbas_id = (int) $request->get('sbid');
|
||||
|
@@ -500,6 +500,7 @@ class module_report
|
||||
public function getOrder($k = false)
|
||||
{
|
||||
if ($k === false)
|
||||
|
||||
return $this->tab_order;
|
||||
return $this->tab_order[$k];
|
||||
}
|
||||
@@ -819,6 +820,7 @@ class module_report
|
||||
public function buildReport($tab = false, $groupby = false, $on = false)
|
||||
{
|
||||
if (sizeof($this->report) > 0)
|
||||
|
||||
return $this->report;
|
||||
$conn = connection::getPDOConnection($this->sbas_id);
|
||||
|
||||
|
@@ -1112,6 +1112,7 @@ class module_report_activity extends module_report
|
||||
$date = new DateTime($row['ddate']);
|
||||
$result[$date->format(DATE_ATOM)] = $row['activity'];
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
@@ -157,8 +157,10 @@ class module_report_dashboard implements module_report_dashboard_componentInterf
|
||||
public function isValid()
|
||||
{
|
||||
if (isset($this->dashboard) && sizeof($this->dashboard) > 0)
|
||||
|
||||
return true;
|
||||
else
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -252,6 +252,7 @@ class module_report_dashboard_feed implements module_report_dashboard_componentI
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -149,8 +149,10 @@ class module_report_dashboard_sort implements module_report_dashboard_componentI
|
||||
public function isValid()
|
||||
{
|
||||
if (isset($this->arraySorted) && sizeof($this->arraySorted) > 0)
|
||||
|
||||
return true;
|
||||
else
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -162,6 +164,7 @@ class module_report_dashboard_sort implements module_report_dashboard_componentI
|
||||
public function getTop($nbtop)
|
||||
{
|
||||
if (!is_int($nbtop))
|
||||
|
||||
return array();
|
||||
|
||||
$tmp = array();
|
||||
@@ -182,6 +185,7 @@ class module_report_dashboard_sort implements module_report_dashboard_componentI
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
|
@@ -617,6 +617,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
throw new Exception_Media_SubdefNotFound ();
|
||||
|
||||
if (isset($this->subdefs[$name]))
|
||||
|
||||
return $this->subdefs[$name];
|
||||
|
||||
if (!$this->subdefs)
|
||||
@@ -756,8 +757,10 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
if ($data)
|
||||
{
|
||||
if (isset($this->technical_datas[$data]))
|
||||
|
||||
return $this->technical_datas[$data];
|
||||
else
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1227,7 +1230,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
|
||||
$db_field = \databox_field::get_instance($this->get_databox(), $param['meta_struct_id']);
|
||||
|
||||
if ($db_field->is_readonly() === false && !$force_readonly)
|
||||
if ($db_field->is_readonly() === true && !$force_readonly)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -1355,6 +1358,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
public function get_reg_name()
|
||||
{
|
||||
if (!$this->is_grouping())
|
||||
|
||||
return false;
|
||||
|
||||
$balisename = '';
|
||||
@@ -1551,6 +1555,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
{
|
||||
$hd = $this->get_subdef('document');
|
||||
if ($hd->is_physically_present())
|
||||
|
||||
return new system_file(p4string::addEndSlash($hd->get_path()) . $hd->get_file());
|
||||
return null;
|
||||
}
|
||||
@@ -1829,6 +1834,8 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
}
|
||||
$databox = $this->get_databox();
|
||||
|
||||
\cache_databox::update($this->get_sbas_id(), 'record', $this->get_record_id());
|
||||
|
||||
return $databox->delete_data_from_cache($this->get_cache_key($option));
|
||||
}
|
||||
|
||||
@@ -1887,6 +1894,7 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
||||
public function get_container_baskets()
|
||||
{
|
||||
if ($this->container_basket)
|
||||
|
||||
return $this->container_basket;
|
||||
|
||||
$appbox = appbox::get_instance();
|
||||
|
@@ -86,7 +86,7 @@ class record_preview extends record_adapter
|
||||
* @param boolean $reload_train
|
||||
* @return record_preview
|
||||
*/
|
||||
public function __construct($env, $pos, $contId, $reload_train, searchEngine_adapter $search_engine =null, $query='')
|
||||
public function __construct($env, $pos, $contId, $reload_train, searchEngine_adapter $search_engine = null, $query = '')
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$number = null;
|
||||
@@ -95,7 +95,7 @@ class record_preview extends record_adapter
|
||||
switch ($env)
|
||||
{
|
||||
case "RESULT":
|
||||
$results = $search_engine->query_per_offset($query, (int) ($pos), 1);
|
||||
$results = $search_engine->query_per_offset($query, (int) ($pos), 1);
|
||||
$mypreview = array();
|
||||
|
||||
if ($results->get_datas()->is_empty())
|
||||
@@ -104,22 +104,22 @@ class record_preview extends record_adapter
|
||||
}
|
||||
foreach ($results->get_datas() as $record)
|
||||
{
|
||||
$number = $pos;
|
||||
$sbas_id = $record->get_sbas_id();
|
||||
$number = $pos;
|
||||
$sbas_id = $record->get_sbas_id();
|
||||
$record_id = $record->get_record_id();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "REG":
|
||||
$contId = explode('_', $contId);
|
||||
$sbas_id = $contId[0];
|
||||
$contId = explode('_', $contId);
|
||||
$sbas_id = $contId[0];
|
||||
$record_id = $contId[1];
|
||||
|
||||
$this->container = new record_adapter($sbas_id, $record_id);
|
||||
if ($pos == 0)
|
||||
{
|
||||
$number = 0;
|
||||
$title = _('preview:: regroupement ');
|
||||
$title = _('preview:: regroupement ');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -127,12 +127,12 @@ class record_preview extends record_adapter
|
||||
$children = $this->container->get_children();
|
||||
foreach ($children as $child)
|
||||
{
|
||||
$sbas_id = $child->get_sbas_id();
|
||||
$sbas_id = $child->get_sbas_id();
|
||||
$record_id = $child->get_record_id();
|
||||
if ($child->get_number() == $pos)
|
||||
break;
|
||||
}
|
||||
$number = $pos;
|
||||
$number = $pos;
|
||||
$this->total = $children->get_count();
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ class record_preview extends record_adapter
|
||||
|
||||
$this->container = $basket;
|
||||
$this->total = count($basket->get_elements());
|
||||
$i = 0;
|
||||
$i = 0;
|
||||
$first = true;
|
||||
|
||||
foreach ($basket->get_elements() as $element)
|
||||
@@ -150,29 +150,29 @@ class record_preview extends record_adapter
|
||||
$i++;
|
||||
if ($first)
|
||||
{
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$record_id = $element->get_record()->get_record_id();
|
||||
$this->name = $basket->get_name();
|
||||
$number = $element->get_order();
|
||||
$number = $element->get_order();
|
||||
}
|
||||
$first = false;
|
||||
$first = false;
|
||||
|
||||
if ($element->get_order() == $pos)
|
||||
{
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$record_id = $element->get_record()->get_record_id();
|
||||
$this->name = $basket->get_name();
|
||||
$number = $element->get_order();
|
||||
$number = $element->get_order();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "FEED":
|
||||
$entry = Feed_Entry_Adapter::load_from_id($appbox, $contId);
|
||||
$entry = Feed_Entry_Adapter::load_from_id($appbox, $contId);
|
||||
// $basket = basket_adapter::getInstance($appbox, $contId, $appbox->get_session()->get_usr_id());
|
||||
|
||||
$this->container = $entry;
|
||||
$this->total = count($entry->get_content());
|
||||
$i = 0;
|
||||
$i = 0;
|
||||
$first = true;
|
||||
|
||||
foreach ($entry->get_content() as $element)
|
||||
@@ -180,19 +180,19 @@ class record_preview extends record_adapter
|
||||
$i++;
|
||||
if ($first)
|
||||
{
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$record_id = $element->get_record()->get_record_id();
|
||||
$this->name = $entry->get_title();
|
||||
$number = $element->get_ord();
|
||||
$number = $element->get_ord();
|
||||
}
|
||||
$first = false;
|
||||
$first = false;
|
||||
|
||||
if ($element->get_ord() == $pos)
|
||||
{
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$sbas_id = $element->get_record()->get_sbas_id();
|
||||
$record_id = $element->get_record()->get_record_id();
|
||||
$this->name = $entry->get_title();
|
||||
$number = $element->get_ord();
|
||||
$number = $element->get_ord();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -202,7 +202,7 @@ class record_preview extends record_adapter
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function get_train($pos = 0, $query='', searchEngine_adapter $search_engine=null)
|
||||
public function get_train($pos = 0, $query = '', searchEngine_adapter $search_engine = null)
|
||||
{
|
||||
if ($this->train)
|
||||
return $this->train;
|
||||
@@ -211,8 +211,8 @@ class record_preview extends record_adapter
|
||||
{
|
||||
case 'RESULT':
|
||||
$perPage = 56;
|
||||
$index = ($pos - 3) < 0 ? 0 : ($pos - 3);
|
||||
$page = (int) ceil($pos / $perPage);
|
||||
$index = ($pos - 3) < 0 ? 0 : ($pos - 3);
|
||||
$page = (int) ceil($pos / $perPage);
|
||||
$results = $search_engine->query_per_offset($query, $index, $perPage);
|
||||
|
||||
$this->train = $results->get_datas();
|
||||
@@ -264,7 +264,7 @@ class record_preview extends record_adapter
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public function get_title($highlight = '', searchEngine_adapter $search_engine=null)
|
||||
public function get_title($highlight = '', searchEngine_adapter $search_engine = null)
|
||||
{
|
||||
if ($this->title)
|
||||
return $this->title;
|
||||
@@ -276,15 +276,15 @@ class record_preview extends record_adapter
|
||||
|
||||
case "RESULT":
|
||||
$this->title .= sprintf(
|
||||
_('preview:: resultat numero %s '), '<span id="current_result_n">' . ($this->number + 1)
|
||||
. '</span> : '
|
||||
_('preview:: resultat numero %s '), '<span id="current_result_n">' . ($this->number + 1)
|
||||
. '</span> : '
|
||||
);
|
||||
|
||||
$this->title .= parent::get_title($highlight, $search_engine);
|
||||
break;
|
||||
case "BASK":
|
||||
$this->title .= $this->name . ' - ' . parent::get_title($highlight, $search_engine)
|
||||
. ' (' . $this->get_number() . '/' . $this->total . ') ';
|
||||
. ' (' . $this->get_number() . '/' . $this->total . ') ';
|
||||
break;
|
||||
case "REG":
|
||||
$title = parent::get_title();
|
||||
@@ -295,7 +295,7 @@ class record_preview extends record_adapter
|
||||
else
|
||||
{
|
||||
$this->title .= sprintf(
|
||||
_('%s %d/%d '), $title, $this->get_number() . '/' . $this->total
|
||||
'%s %d/%d ', $title, $this->get_number(), $this->total
|
||||
);
|
||||
}
|
||||
break;
|
||||
@@ -327,16 +327,16 @@ class record_preview extends record_adapter
|
||||
|
||||
$tab = array();
|
||||
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
|
||||
$report = $user->ACL()->has_right_on_base($this->get_base_id(), 'canreport');
|
||||
|
||||
$connsbas = connection::getPDOConnection($this->get_sbas_id());
|
||||
|
||||
$sql = 'SELECT d . * , l.user, l.usrid as usr_id, l.site
|
||||
$sql = 'SELECT d . * , l.user, l.usrid as usr_id, l.site
|
||||
FROM log_docs d, log l
|
||||
WHERE d.log_id = l.id
|
||||
AND d.record_id = :record_id ';
|
||||
@@ -346,14 +346,14 @@ class record_preview extends record_adapter
|
||||
{
|
||||
$sql .= ' AND ((l.usrid = :usr_id AND l.site= :site) OR action="add")';
|
||||
$params[':usr_id'] = $session->get_usr_id();
|
||||
$params[':site'] = $registry->get('GV_sit');
|
||||
$params[':site'] = $registry->get('GV_sit');
|
||||
}
|
||||
|
||||
$sql .= 'ORDER BY d.date, usrid DESC';
|
||||
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
foreach ($rs as $row)
|
||||
@@ -387,20 +387,20 @@ class record_preview extends record_adapter
|
||||
}
|
||||
|
||||
$tab[$hour][$site][$action][$row['usr_id']] =
|
||||
array(
|
||||
'final' => array()
|
||||
, 'comment' => array()
|
||||
, 'user' => $user
|
||||
array(
|
||||
'final' => array()
|
||||
, 'comment' => array()
|
||||
, 'user' => $user
|
||||
);
|
||||
}
|
||||
|
||||
if (!in_array($row['final'], $tab[$hour][$site][$action][$row['usr_id']]['final']))
|
||||
$tab[$hour][$site][$action][$row['usr_id']]['final'][] =
|
||||
$row['final'];
|
||||
$row['final'];
|
||||
|
||||
if (!in_array($row['comment'], $tab[$hour][$site][$action][$row['usr_id']]['comment']))
|
||||
$tab[$hour][$site][$action][$row['usr_id']]['comment'][] =
|
||||
$row['comment'];
|
||||
$row['comment'];
|
||||
}
|
||||
|
||||
$this->short_history = array_reverse($tab);
|
||||
@@ -416,12 +416,12 @@ class record_preview extends record_adapter
|
||||
{
|
||||
if (!is_null($this->view_popularity))
|
||||
return $this->view_popularity;
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
if (!$report && !$registry->get('GV_google_api'))
|
||||
@@ -432,16 +432,16 @@ class record_preview extends record_adapter
|
||||
}
|
||||
|
||||
$views = $dwnls = array();
|
||||
$top = 1;
|
||||
$day = 30;
|
||||
$min = 0;
|
||||
$top = 1;
|
||||
$day = 30;
|
||||
$min = 0;
|
||||
$average = 0;
|
||||
|
||||
while ($day >= 0)
|
||||
{
|
||||
|
||||
$datetime = new DateTime('-' . $day . ' days');
|
||||
$date = date_format($datetime, 'Y-m-d');
|
||||
$datetime = new DateTime('-' . $day . ' days');
|
||||
$date = date_format($datetime, 'Y-m-d');
|
||||
$views[$date] = $dwnls[$date] = 0;
|
||||
$day--;
|
||||
}
|
||||
@@ -454,14 +454,14 @@ class record_preview extends record_adapter
|
||||
GROUP BY datee ORDER BY datee ASC';
|
||||
|
||||
$connsbas = connection::getPDOConnection($this->get_sbas_id());
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute(
|
||||
array(
|
||||
':record_id' => $this->get_record_id(),
|
||||
':site' => $registry->get('GV_sit')
|
||||
)
|
||||
array(
|
||||
':record_id' => $this->get_record_id(),
|
||||
':site' => $registry->get('GV_sit')
|
||||
)
|
||||
);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
foreach ($rs as $row)
|
||||
@@ -469,8 +469,8 @@ class record_preview extends record_adapter
|
||||
if (isset($views[$row['datee']]))
|
||||
{
|
||||
$views[$row['datee']] = (int) $row['views'];
|
||||
$top = max((int) $row['views'], $top);
|
||||
$min = isset($min) ? min($row['views'], $min) : $row['views'];
|
||||
$top = max((int) $row['views'], $top);
|
||||
$min = isset($min) ? min($row['views'], $min) : $row['views'];
|
||||
$average += $row['views'];
|
||||
}
|
||||
}
|
||||
@@ -478,26 +478,26 @@ class record_preview extends record_adapter
|
||||
$topScale = round($top * 1.2);
|
||||
|
||||
$average = $average / 30;
|
||||
$max = round(($top) * 100 / ($topScale));
|
||||
$min = round($min * 100 / ($topScale));
|
||||
$max = round(($top) * 100 / ($topScale));
|
||||
$min = round($min * 100 / ($topScale));
|
||||
$average = round($average * 100 / ($topScale));
|
||||
|
||||
$width = 350;
|
||||
$width = 350;
|
||||
$height = 150;
|
||||
$url = 'http://chart.apis.google.com/chart?' .
|
||||
'chs=' . $width . 'x' . $height .
|
||||
'&chd=t:' . implode(',', $views) .
|
||||
'&cht=lc' .
|
||||
'&chf=bg,s,00000000' .
|
||||
'&chxt=x,y,r' .
|
||||
'&chds=0,' . $topScale .
|
||||
'&chls=2.0&chxtc=2,-350' .
|
||||
'&chxl=0:|' . date_format(new DateTime('-30 days'), 'd M') . '|'
|
||||
. date_format(new DateTime('-15 days'), 'd M') . '|'
|
||||
. date_format(new DateTime(), 'd M') . '|1:|0|'
|
||||
. round($top / 2, 2) . '|' . $top
|
||||
. '|2:|min|average|max' .
|
||||
'&chxp=2,' . $min . ',' . $average . ',' . $max;
|
||||
$url = 'http://chart.apis.google.com/chart?' .
|
||||
'chs=' . $width . 'x' . $height .
|
||||
'&chd=t:' . implode(',', $views) .
|
||||
'&cht=lc' .
|
||||
'&chf=bg,s,00000000' .
|
||||
'&chxt=x,y,r' .
|
||||
'&chds=0,' . $topScale .
|
||||
'&chls=2.0&chxtc=2,-350' .
|
||||
'&chxl=0:|' . date_format(new DateTime('-30 days'), 'd M') . '|'
|
||||
. date_format(new DateTime('-15 days'), 'd M') . '|'
|
||||
. date_format(new DateTime(), 'd M') . '|1:|0|'
|
||||
. round($top / 2, 2) . '|' . $top
|
||||
. '|2:|min|average|max' .
|
||||
'&chxp=2,' . $min . ',' . $average . ',' . $max;
|
||||
|
||||
|
||||
$this->view_popularity = new media_adapter($url, $width, $height);
|
||||
@@ -513,12 +513,12 @@ class record_preview extends record_adapter
|
||||
{
|
||||
if (!is_null($this->refferer_popularity))
|
||||
return $this->refferer_popularity;
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
if (!$report && !$registry->get('GV_google_api'))
|
||||
@@ -538,7 +538,7 @@ class record_preview extends record_adapter
|
||||
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute(array(':record_id' => $this->get_record_id()));
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$referrers = array();
|
||||
@@ -566,24 +566,24 @@ class record_preview extends record_adapter
|
||||
if (strpos($row['referrer'], $registry->get('GV_ServerName') . 'permalink/') !== false)
|
||||
{
|
||||
if (strpos($row['referrer'], '/view/') !== false)
|
||||
$row['referrer'] = _('report::presentation page preview');
|
||||
$row['referrer'] = _('report::presentation page preview');
|
||||
else
|
||||
$row['referrer'] = _('report::acces direct');
|
||||
$row['referrer'] = _('report::acces direct');
|
||||
}
|
||||
if (!isset($referrers[$row['referrer']]))
|
||||
$referrers[$row['referrer']] = 0;
|
||||
$referrers[$row['referrer']] += (int) $row['views'];
|
||||
}
|
||||
|
||||
$width = 550;
|
||||
$width = 550;
|
||||
$height = 100;
|
||||
|
||||
$url = 'http://chart.apis.google.com/chart?'
|
||||
. 'cht=p3&chf=bg,s,00000000&chd=t:'
|
||||
. implode(',', $referrers)
|
||||
. '&chs=' . $width . 'x' . $height
|
||||
. '&chl='
|
||||
. urlencode(implode('|', array_keys($referrers))) . '';
|
||||
. 'cht=p3&chf=bg,s,00000000&chd=t:'
|
||||
. implode(',', $referrers)
|
||||
. '&chs=' . $width . 'x' . $height
|
||||
. '&chl='
|
||||
. urlencode(implode('|', array_keys($referrers))) . '';
|
||||
|
||||
$this->refferer_popularity = new media_adapter($url, $width, $height);
|
||||
|
||||
@@ -599,13 +599,13 @@ class record_preview extends record_adapter
|
||||
|
||||
if (!is_null($this->download_popularity))
|
||||
return $this->download_popularity;
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$registry = $appbox->get_registry();
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
$report = $user->ACL()->has_right_on_base(
|
||||
$this->get_base_id(), 'canreport');
|
||||
|
||||
$ret = false;
|
||||
if (!$report && !$registry->get('GV_google_api'))
|
||||
@@ -616,16 +616,16 @@ class record_preview extends record_adapter
|
||||
}
|
||||
|
||||
$views = $dwnls = array();
|
||||
$top = 1;
|
||||
$day = 30;
|
||||
$min = 0;
|
||||
$top = 1;
|
||||
$day = 30;
|
||||
$min = 0;
|
||||
$average = 0;
|
||||
|
||||
while ($day >= 0)
|
||||
{
|
||||
|
||||
$datetime = new DateTime('-' . $day . ' days');
|
||||
$date = date_format($datetime, 'Y-m-d');
|
||||
$datetime = new DateTime('-' . $day . ' days');
|
||||
$date = date_format($datetime, 'Y-m-d');
|
||||
$views[$date] = $dwnls[$date] = 0;
|
||||
$day--;
|
||||
}
|
||||
@@ -640,14 +640,14 @@ class record_preview extends record_adapter
|
||||
GROUP BY datee ORDER BY datee ASC';
|
||||
|
||||
$connsbas = connection::getPDOConnection($this->get_sbas_id());
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt = $connsbas->prepare($sql);
|
||||
$stmt->execute(
|
||||
array(
|
||||
':record_id' => $this->get_record_id(),
|
||||
':site' => $registry->get('GV_sit')
|
||||
)
|
||||
array(
|
||||
':record_id' => $this->get_record_id(),
|
||||
':site' => $registry->get('GV_sit')
|
||||
)
|
||||
);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$top = 10;
|
||||
@@ -657,23 +657,23 @@ class record_preview extends record_adapter
|
||||
if (isset($dwnls[$row['datee']]))
|
||||
{
|
||||
$dwnls[$row['datee']] = (int) $row['dwnl'];
|
||||
$top = max(((int) $row['dwnl'] + 10), $top);
|
||||
$top = max(((int) $row['dwnl'] + 10), $top);
|
||||
}
|
||||
}
|
||||
|
||||
$width = 250;
|
||||
$width = 250;
|
||||
$height = 150;
|
||||
$url = 'http://chart.apis.google.com/chart?' .
|
||||
'chs=' . $width . 'x' . $height .
|
||||
'&chd=t:' . implode(',', $dwnls) .
|
||||
'&cht=lc' .
|
||||
'&chf=bg,s,00000000' .
|
||||
'&chxt=x,y' .
|
||||
'&chds=0,' . $top .
|
||||
'&chxl=0:|' . date_format(new DateTime('-30 days'), 'd M') . '|'
|
||||
. date_format(new DateTime('-15 days'), 'd M') . '|'
|
||||
. date_format(new DateTime(), 'd M') . '|1:|0|'
|
||||
. round($top / 2) . '|' . $top . '';
|
||||
$url = 'http://chart.apis.google.com/chart?' .
|
||||
'chs=' . $width . 'x' . $height .
|
||||
'&chd=t:' . implode(',', $dwnls) .
|
||||
'&cht=lc' .
|
||||
'&chf=bg,s,00000000' .
|
||||
'&chxt=x,y' .
|
||||
'&chds=0,' . $top .
|
||||
'&chxl=0:|' . date_format(new DateTime('-30 days'), 'd M') . '|'
|
||||
. date_format(new DateTime('-15 days'), 'd M') . '|'
|
||||
. date_format(new DateTime(), 'd M') . '|1:|0|'
|
||||
. round($top / 2) . '|' . $top . '';
|
||||
|
||||
$ret = new media_adapter($url, $width, $height);
|
||||
$this->download_popularity = $ret;
|
||||
|
@@ -131,8 +131,10 @@ class registry implements registryInterface
|
||||
$this->load();
|
||||
|
||||
if(!$this->cache->is_set($key) && !is_null($defaultvalue))
|
||||
|
||||
return $defaultvalue;
|
||||
else
|
||||
|
||||
return $this->cache->get($key);
|
||||
}
|
||||
|
||||
|
@@ -353,7 +353,7 @@ class searchEngine_options implements Serializable
|
||||
{
|
||||
if (!is_null($min_date) && trim($min_date) !== '')
|
||||
{
|
||||
$this->date_min = DateTime::createFromFormat('d/m/Y h:i:s', $min_date.' 00:00:00');
|
||||
$this->date_min = DateTime::createFromFormat('d/m/Y H:i:s', $min_date.' 00:00:00');
|
||||
}
|
||||
|
||||
return $this;
|
||||
@@ -377,7 +377,7 @@ class searchEngine_options implements Serializable
|
||||
{
|
||||
if (!is_null($max_date) && trim($max_date) !== '')
|
||||
{
|
||||
$this->date_max = DateTime::createFromFormat('d/m/Y h:i:s', $max_date.' 23:59:59');
|
||||
$this->date_max = DateTime::createFromFormat('d/m/Y H:i:s', $max_date.' 23:59:59');
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
@@ -36,8 +36,8 @@ class set_export extends set_abstract
|
||||
*/
|
||||
public function __construct($lst, $sstid)
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class set_export extends set_abstract
|
||||
|
||||
foreach ($basket->get_elements() as $basket_element)
|
||||
{
|
||||
$base_id = $basket_element->get_record()->get_base_id();
|
||||
$base_id = $basket_element->get_record()->get_base_id();
|
||||
$record_id = $basket_element->get_record()->get_record_id();
|
||||
|
||||
if (!isset($remain_hd[$base_id]))
|
||||
@@ -69,11 +69,11 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$current_element = $download_list[] =
|
||||
new record_exportElement(
|
||||
$basket_element->get_record()->get_sbas_id(),
|
||||
$record_id,
|
||||
$basket->get_name() . '/',
|
||||
$remain_hd[$base_id]
|
||||
new record_exportElement(
|
||||
$basket_element->get_record()->get_sbas_id(),
|
||||
$record_id,
|
||||
$basket->get_name() . '/',
|
||||
$remain_hd[$base_id]
|
||||
);
|
||||
|
||||
$remain_hd[$base_id] = $current_element->get_remain_hd();
|
||||
@@ -82,7 +82,7 @@ class set_export extends set_abstract
|
||||
else
|
||||
{
|
||||
$tmp_lst = explode(';', $lst);
|
||||
$n = 1;
|
||||
$n = 1;
|
||||
foreach ($tmp_lst as $basrec)
|
||||
{
|
||||
$basrec = explode('_', $basrec);
|
||||
@@ -104,7 +104,7 @@ class set_export extends set_abstract
|
||||
|
||||
foreach ($record->get_children() as $child_basrec)
|
||||
{
|
||||
$base_id = $child_basrec->get_base_id();
|
||||
$base_id = $child_basrec->get_base_id();
|
||||
$record_id = $child_basrec->get_record_id();
|
||||
|
||||
if (!isset($remain_hd[$base_id]))
|
||||
@@ -112,7 +112,7 @@ class set_export extends set_abstract
|
||||
if ($user->ACL()->is_restricted_download($base_id))
|
||||
{
|
||||
$remain_hd[$base_id] =
|
||||
$user->ACL()->remaining_download($base_id);
|
||||
$user->ACL()->remaining_download($base_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -121,11 +121,11 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$current_element = $download_list[] =
|
||||
new record_exportElement(
|
||||
$child_basrec->get_sbas_id(),
|
||||
$record_id,
|
||||
$regfield['regname'] . '_' . $n . '/',
|
||||
$remain_hd[$base_id]
|
||||
new record_exportElement(
|
||||
$child_basrec->get_sbas_id(),
|
||||
$record_id,
|
||||
$regfield['regname'] . '_' . $n . '/',
|
||||
$remain_hd[$base_id]
|
||||
);
|
||||
|
||||
$remain_hd[$base_id] = $current_element->get_remain_hd();
|
||||
@@ -133,7 +133,7 @@ class set_export extends set_abstract
|
||||
}
|
||||
else
|
||||
{
|
||||
$base_id = $record->get_base_id();
|
||||
$base_id = $record->get_base_id();
|
||||
$record_id = $record->get_record_id();
|
||||
|
||||
if (!isset($remain_hd[$base_id]))
|
||||
@@ -141,7 +141,7 @@ class set_export extends set_abstract
|
||||
if ($user->ACL()->is_restricted_download($base_id))
|
||||
{
|
||||
$remain_hd[$base_id] =
|
||||
$user->ACL()->remaining_download($base_id);
|
||||
$user->ACL()->remaining_download($base_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -149,13 +149,13 @@ class set_export extends set_abstract
|
||||
}
|
||||
}
|
||||
|
||||
$current_element =
|
||||
$download_list[$basrec[0] . '_' . $basrec[1]] =
|
||||
new record_exportElement(
|
||||
$record->get_sbas_id(),
|
||||
$record_id,
|
||||
'',
|
||||
$remain_hd[$base_id]
|
||||
$current_element =
|
||||
$download_list[$basrec[0] . '_' . $basrec[1]] =
|
||||
new record_exportElement(
|
||||
$record->get_sbas_id(),
|
||||
$record_id,
|
||||
'',
|
||||
$remain_hd[$base_id]
|
||||
);
|
||||
|
||||
$remain_hd[$base_id] = $current_element->get_remain_hd();
|
||||
@@ -180,10 +180,10 @@ class set_export extends set_abstract
|
||||
if (!isset($display_download[$name]))
|
||||
{
|
||||
$display_download[$name] = array(
|
||||
'size' => 0,
|
||||
'total' => 0,
|
||||
'available' => 0,
|
||||
'refused' => array()
|
||||
'size' => 0,
|
||||
'total' => 0,
|
||||
'available' => 0,
|
||||
'refused' => array()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -195,12 +195,12 @@ class set_export extends set_abstract
|
||||
$display_download[$name]['label'] = $properties['label'];
|
||||
$this->total_download++;
|
||||
$display_download[$name]['size'] +=
|
||||
$download_element->get_size($name);
|
||||
$download_element->get_size($name);
|
||||
}
|
||||
else
|
||||
{
|
||||
$display_download[$name]['refused'][] =
|
||||
$download_element->get_thumbnail();
|
||||
$download_element->get_thumbnail();
|
||||
}
|
||||
}
|
||||
foreach ($download_element->get_orderable() as $name => $properties)
|
||||
@@ -208,9 +208,9 @@ class set_export extends set_abstract
|
||||
if (!isset($display_orderable[$name]))
|
||||
{
|
||||
$display_orderable[$name] = array(
|
||||
'total' => 0,
|
||||
'available' => 0,
|
||||
'refused' => array()
|
||||
'total' => 0,
|
||||
'available' => 0,
|
||||
'refused' => array()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ class set_export extends set_abstract
|
||||
else
|
||||
{
|
||||
$display_orderable[$name]['refused'][] =
|
||||
$download_element->get_thumbnail();
|
||||
$download_element->get_thumbnail();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,10 +237,10 @@ class set_export extends set_abstract
|
||||
$display_ftp = array();
|
||||
|
||||
$hasadminright = $user->ACL()->has_right('addrecord')
|
||||
|| $user->ACL()->has_right('deleterecord')
|
||||
|| $user->ACL()->has_right('modifyrecord')
|
||||
|| $user->ACL()->has_right('coll_manage')
|
||||
|| $user->ACL()->has_right('coll_modify_struct');
|
||||
|| $user->ACL()->has_right('deleterecord')
|
||||
|| $user->ACL()->has_right('modifyrecord')
|
||||
|| $user->ACL()->has_right('coll_manage')
|
||||
|| $user->ACL()->has_right('coll_modify_struct');
|
||||
|
||||
$this->ftp_datas = array();
|
||||
|
||||
@@ -253,7 +253,7 @@ class set_export extends set_abstract
|
||||
|
||||
if ($hasadminright)
|
||||
{
|
||||
$sql = "SELECT usr.usr_id,usr_login,usr.addrFTP,usr.loginFTP,usr.sslFTP,
|
||||
$sql = "SELECT usr.usr_id,usr_login,usr.addrFTP,usr.loginFTP,usr.sslFTP,
|
||||
usr.pwdFTP,usr.destFTP,prefixFTPfolder,usr.passifFTP,
|
||||
usr.retryFTP,usr.usr_mail
|
||||
FROM (usr INNER JOIN basusr
|
||||
@@ -269,7 +269,7 @@ class set_export extends set_abstract
|
||||
}
|
||||
elseif ($registry->get('GV_ftp_for_user'))
|
||||
{
|
||||
$sql = "SELECT usr.usr_id,usr_login,usr.addrFTP,usr.loginFTP,usr.sslFTP,
|
||||
$sql = "SELECT usr.usr_id,usr_login,usr.addrFTP,usr.loginFTP,usr.sslFTP,
|
||||
usr.pwdFTP,usr.destFTP,prefixFTPfolder,
|
||||
usr.passifFTP,usr.retryFTP,usr.usr_mail
|
||||
FROM (usr INNER JOIN basusr
|
||||
@@ -285,43 +285,43 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$datas[] = array(
|
||||
'name' => _('export::ftp: reglages manuels'),
|
||||
'usr_id' => '0',
|
||||
'addrFTP' => '',
|
||||
'loginFTP' => '',
|
||||
'pwdFTP' => '',
|
||||
'ssl' => '0',
|
||||
'destFTP' => '',
|
||||
'prefixFTPfolder' => 'Export_' . date("Y-m-d_H.i.s"),
|
||||
'passifFTP' => false,
|
||||
'retryFTP' => 5,
|
||||
'mailFTP' => '',
|
||||
'sendermail' => $user->get_email()
|
||||
'name' => _('export::ftp: reglages manuels'),
|
||||
'usr_id' => '0',
|
||||
'addrFTP' => '',
|
||||
'loginFTP' => '',
|
||||
'pwdFTP' => '',
|
||||
'ssl' => '0',
|
||||
'destFTP' => '',
|
||||
'prefixFTPfolder' => 'Export_' . date("Y-m-d_H.i.s"),
|
||||
'passifFTP' => false,
|
||||
'retryFTP' => 5,
|
||||
'mailFTP' => '',
|
||||
'sendermail' => $user->get_email()
|
||||
);
|
||||
|
||||
$stmt = $appbox->get_connection()->prepare($sql);
|
||||
$stmt->execute($params);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
foreach ($rs as $row)
|
||||
{
|
||||
$datas[] = array(
|
||||
'name' => $row["usr_login"],
|
||||
'usr_id' => $row['usr_id'],
|
||||
'addrFTP' => $row['addrFTP'],
|
||||
'loginFTP' => $row['loginFTP'],
|
||||
'pwdFTP' => $row['pwdFTP'],
|
||||
'ssl' => $row['sslFTP'],
|
||||
'destFTP' => $row['destFTP'],
|
||||
'prefixFTPfolder' =>
|
||||
(strlen(trim($row['prefixFTPfolder'])) > 0 ?
|
||||
trim($row['prefixFTPfolder']) :
|
||||
'Export_' . date("Y-m-d_H.i.s")),
|
||||
'passifFTP' => ($row['passifFTP'] > 0),
|
||||
'retryFTP' => $row['retryFTP'],
|
||||
'mailFTP' => $row['usr_mail'],
|
||||
'sendermail' => $user->get_email()
|
||||
'name' => $row["usr_login"],
|
||||
'usr_id' => $row['usr_id'],
|
||||
'addrFTP' => $row['addrFTP'],
|
||||
'loginFTP' => $row['loginFTP'],
|
||||
'pwdFTP' => $row['pwdFTP'],
|
||||
'ssl' => $row['sslFTP'],
|
||||
'destFTP' => $row['destFTP'],
|
||||
'prefixFTPfolder' =>
|
||||
(strlen(trim($row['prefixFTPfolder'])) > 0 ?
|
||||
trim($row['prefixFTPfolder']) :
|
||||
'Export_' . date("Y-m-d_H.i.s")),
|
||||
'passifFTP' => ($row['passifFTP'] > 0),
|
||||
'retryFTP' => $row['retryFTP'],
|
||||
'mailFTP' => $row['usr_mail'],
|
||||
'sendermail' => $user->get_email()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -411,8 +411,8 @@ class set_export extends set_abstract
|
||||
{
|
||||
throw new Exception('No subdefs given');
|
||||
}
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
$unicode = new unicode();
|
||||
@@ -431,11 +431,11 @@ class set_export extends set_abstract
|
||||
$id = count($files);
|
||||
|
||||
$files[$id] = array(
|
||||
'base_id' => $download_element->get_base_id(),
|
||||
'record_id' => $download_element->get_record_id(),
|
||||
'original_name' => '',
|
||||
'export_name' => '',
|
||||
'subdefs' => array()
|
||||
'base_id' => $download_element->get_base_id(),
|
||||
'record_id' => $download_element->get_record_id(),
|
||||
'original_name' => '',
|
||||
'export_name' => '',
|
||||
'subdefs' => array()
|
||||
);
|
||||
|
||||
$sbas_id = phrasea::sbasFromBas($download_element->get_base_id());
|
||||
@@ -445,12 +445,12 @@ class set_export extends set_abstract
|
||||
$desc = $download_element->get_xml();
|
||||
|
||||
$files[$id]['original_name'] =
|
||||
$files[$id]['export_name'] =
|
||||
$download_element->get_original_name();
|
||||
$files[$id]['export_name'] =
|
||||
$download_element->get_original_name();
|
||||
|
||||
$files[$id]['original_name'] =
|
||||
trim($files[$id]['original_name']) != '' ?
|
||||
$files[$id]['original_name'] : $id;
|
||||
trim($files[$id]['original_name']) != '' ?
|
||||
$files[$id]['original_name'] : $id;
|
||||
|
||||
$infos = pathinfo($files[$id]['original_name']);
|
||||
|
||||
@@ -462,7 +462,7 @@ class set_export extends set_abstract
|
||||
$title = strip_tags($download_element->get_title());
|
||||
|
||||
$files[$id]['export_name'] = $unicode->remove_nonazAZ09($title, true);
|
||||
$rename_done = true;
|
||||
$rename_done = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -470,7 +470,7 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$sizeMaxAjout = 0;
|
||||
$sizeMaxExt = 0;
|
||||
$sizeMaxExt = 0;
|
||||
|
||||
$sd = $download_element->get_subdefs();
|
||||
|
||||
@@ -486,7 +486,7 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
set_time_limit(100);
|
||||
$subdef_export = $subdef_alive = false;
|
||||
$subdef_export = $subdef_alive = false;
|
||||
|
||||
$n_files++;
|
||||
|
||||
@@ -497,32 +497,32 @@ class set_export extends set_abstract
|
||||
case 'caption':
|
||||
case 'caption-yaml':
|
||||
$subdef_export = true;
|
||||
$subdef_alive = true;
|
||||
$subdef_alive = true;
|
||||
break;
|
||||
case 'thumbnail':
|
||||
$tmp_pathfile = array(
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
$tmp_pathfile = array(
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
);
|
||||
$subdef_export = true;
|
||||
$subdef_alive = true;
|
||||
$subdef_alive = true;
|
||||
break;
|
||||
case 'document':
|
||||
$subdef_export = true;
|
||||
$path = recordutils_image::stamp(
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
, true
|
||||
$path = recordutils_image::stamp(
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
, true
|
||||
);
|
||||
$tmp_pathfile = array(
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
$tmp_pathfile = array(
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
);
|
||||
if (file_exists($path))
|
||||
{
|
||||
$tmp_pathfile = array(
|
||||
'path' => dirname($path)
|
||||
, 'file' => basename($path)
|
||||
'path' => dirname($path)
|
||||
, 'file' => basename($path)
|
||||
);
|
||||
$subdef_alive = true;
|
||||
}
|
||||
@@ -532,24 +532,24 @@ class set_export extends set_abstract
|
||||
$subdef_export = true;
|
||||
|
||||
$tmp_pathfile = array(
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
'path' => $sd[$name]->get_path()
|
||||
, 'file' => $sd[$name]->get_file()
|
||||
);
|
||||
if (!$user->ACL()->has_right_on_base(
|
||||
$download_element->get_base_id()
|
||||
, "nowatermark"
|
||||
)
|
||||
&& $sd[$name]->get_type() == media_subdef::TYPE_IMAGE)
|
||||
$download_element->get_base_id()
|
||||
, "nowatermark"
|
||||
)
|
||||
&& $sd[$name]->get_type() == media_subdef::TYPE_IMAGE)
|
||||
{
|
||||
$path = recordutils_image::watermark(
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
);
|
||||
if (file_exists($path))
|
||||
{
|
||||
$tmp_pathfile = array(
|
||||
'path' => dirname($path)
|
||||
, 'file' => basename($path)
|
||||
'path' => dirname($path)
|
||||
, 'file' => basename($path)
|
||||
);
|
||||
$subdef_alive = true;
|
||||
}
|
||||
@@ -568,44 +568,44 @@ class set_export extends set_abstract
|
||||
case 'caption':
|
||||
if ($name == 'caption-yaml')
|
||||
{
|
||||
$suffix = '_captionyaml';
|
||||
$suffix = '_captionyaml';
|
||||
$extension = 'yml';
|
||||
$mime = 'text/x-yaml';
|
||||
$mime = 'text/x-yaml';
|
||||
}
|
||||
else
|
||||
{
|
||||
$suffix = '_caption';
|
||||
$suffix = '_caption';
|
||||
$extension = 'xml';
|
||||
$mime = 'text/xml';
|
||||
$mime = 'text/xml';
|
||||
}
|
||||
|
||||
$files[$id]["subdefs"][$name]["ajout"] = $suffix;
|
||||
$files[$id]["subdefs"][$name]["ajout"] = $suffix;
|
||||
$files[$id]["subdefs"][$name]["exportExt"] = $extension;
|
||||
$files[$id]["subdefs"][$name]["label"] = $properties['label'];
|
||||
$files[$id]["subdefs"][$name]["path"] = null;
|
||||
$files[$id]["subdefs"][$name]["file"] = null;
|
||||
$files[$id]["subdefs"][$name]["size"] = 0;
|
||||
$files[$id]["subdefs"][$name]["folder"] = $download_element->get_directory();
|
||||
$files[$id]["subdefs"][$name]["mime"] = $mime;
|
||||
$files[$id]["subdefs"][$name]["label"] = $properties['label'];
|
||||
$files[$id]["subdefs"][$name]["path"] = null;
|
||||
$files[$id]["subdefs"][$name]["file"] = null;
|
||||
$files[$id]["subdefs"][$name]["size"] = 0;
|
||||
$files[$id]["subdefs"][$name]["folder"] = $download_element->get_directory();
|
||||
$files[$id]["subdefs"][$name]["mime"] = $mime;
|
||||
|
||||
break;
|
||||
case 'document':
|
||||
case 'preview':
|
||||
case 'thumbnail':
|
||||
$infos = pathinfo(p4string::addEndSlash($tmp_pathfile["path"]) .
|
||||
$tmp_pathfile["file"]);
|
||||
$tmp_pathfile["file"]);
|
||||
|
||||
$files[$id]["subdefs"][$name]["ajout"] =
|
||||
$properties['class'] == 'document' ? '' : "_" . $name;
|
||||
$files[$id]["subdefs"][$name]["path"] = $tmp_pathfile["path"];
|
||||
$files[$id]["subdefs"][$name]["file"] = $tmp_pathfile["file"];
|
||||
$files[$id]["subdefs"][$name]["label"] = $properties['label'];
|
||||
$files[$id]["subdefs"][$name]["size"] = $sd[$name]->get_size();
|
||||
$files[$id]["subdefs"][$name]["mime"] = $sd[$name]->get_mime();
|
||||
$files[$id]["subdefs"][$name]["folder"] =
|
||||
$download_element->get_directory();
|
||||
$files[$id]["subdefs"][$name]["ajout"] =
|
||||
$properties['class'] == 'document' ? '' : "_" . $name;
|
||||
$files[$id]["subdefs"][$name]["path"] = $tmp_pathfile["path"];
|
||||
$files[$id]["subdefs"][$name]["file"] = $tmp_pathfile["file"];
|
||||
$files[$id]["subdefs"][$name]["label"] = $properties['label'];
|
||||
$files[$id]["subdefs"][$name]["size"] = $sd[$name]->get_size();
|
||||
$files[$id]["subdefs"][$name]["mime"] = $sd[$name]->get_mime();
|
||||
$files[$id]["subdefs"][$name]["folder"] =
|
||||
$download_element->get_directory();
|
||||
$files[$id]["subdefs"][$name]["exportExt"] =
|
||||
isset($infos['extension']) ? $infos['extension'] : '';
|
||||
isset($infos['extension']) ? $infos['extension'] : '';
|
||||
|
||||
$size += $sd[$name]->get_size();
|
||||
|
||||
@@ -613,12 +613,12 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$longueurAjoutCourant =
|
||||
mb_strlen($files[$id]["subdefs"][$name]["ajout"]);
|
||||
$sizeMaxAjout = max($longueurAjoutCourant, $sizeMaxAjout);
|
||||
mb_strlen($files[$id]["subdefs"][$name]["ajout"]);
|
||||
$sizeMaxAjout = max($longueurAjoutCourant, $sizeMaxAjout);
|
||||
|
||||
$longueurExtCourant =
|
||||
mb_strlen($files[$id]["subdefs"][$name]["exportExt"]);
|
||||
$sizeMaxExt = max($longueurExtCourant, $sizeMaxExt);
|
||||
mb_strlen($files[$id]["subdefs"][$name]["exportExt"]);
|
||||
$sizeMaxExt = max($longueurExtCourant, $sizeMaxExt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -628,34 +628,34 @@ class set_export extends set_abstract
|
||||
|
||||
$start_length = mb_strlen($name);
|
||||
if ($start_length > $max_length)
|
||||
$name = mb_substr($name, 0, $max_length);
|
||||
$name = mb_substr($name, 0, $max_length);
|
||||
|
||||
$n = 1;
|
||||
|
||||
while (in_array(mb_strtolower($name), $file_names))
|
||||
{
|
||||
$n++;
|
||||
$suffix = "-" . $n; // pour diese si besoin
|
||||
$max_length = 31 - $sizeMaxExt - $sizeMaxAjout - mb_strlen($suffix);
|
||||
$name = mb_strtolower($files[$id]["export_name"]);
|
||||
$suffix = "-" . $n; // pour diese si besoin
|
||||
$max_length = 31 - $sizeMaxExt - $sizeMaxAjout - mb_strlen($suffix);
|
||||
$name = mb_strtolower($files[$id]["export_name"]);
|
||||
if ($start_length > $max_length)
|
||||
$name = mb_substr($name, 0, $max_length) . $suffix;
|
||||
$name = mb_substr($name, 0, $max_length) . $suffix;
|
||||
else
|
||||
$name = $name . $suffix;
|
||||
$name = $name . $suffix;
|
||||
}
|
||||
$file_names[] = mb_strtolower($name);
|
||||
$file_names[] = mb_strtolower($name);
|
||||
$files[$id]["export_name"] = $name;
|
||||
|
||||
$files[$id]["export_name"] = $unicode->remove_nonazAZ09($files[$id]["export_name"]);
|
||||
$files[$id]["export_name"] = $unicode->remove_nonazAZ09($files[$id]["export_name"]);
|
||||
$files[$id]["original_name"] = $unicode->remove_nonazAZ09($files[$id]["original_name"]);
|
||||
|
||||
$i = 0;
|
||||
$name = utf8_decode($files[$id]["export_name"]);
|
||||
$tmp_name = "";
|
||||
$i = 0;
|
||||
$name = utf8_decode($files[$id]["export_name"]);
|
||||
$tmp_name = "";
|
||||
$good_keys = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
|
||||
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
||||
'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
|
||||
'4', '5', '6', '7', '8', '9', '-', '_', '.', '#');
|
||||
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
||||
'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
|
||||
'4', '5', '6', '7', '8', '9', '-', '_', '.', '#');
|
||||
|
||||
while (isset($name[$i]))
|
||||
{
|
||||
@@ -673,19 +673,19 @@ class set_export extends set_abstract
|
||||
if (in_array('caption', $subdefs))
|
||||
{
|
||||
$caption_dir = $registry->get('GV_RootPath') . 'tmp/desc_tmp/'
|
||||
. time() . $session->get_usr_id()
|
||||
. $session->get_ses_id() . '/';
|
||||
. time() . $session->get_usr_id()
|
||||
. $session->get_ses_id() . '/';
|
||||
|
||||
system_file::mkdir($caption_dir);
|
||||
|
||||
$desc = self::get_caption(
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
);
|
||||
|
||||
$file = $files[$id]["export_name"]
|
||||
. $files[$id]["subdefs"]['caption']["ajout"] . '.'
|
||||
. $files[$id]["subdefs"]['caption']["exportExt"];
|
||||
. $files[$id]["subdefs"]['caption']["ajout"] . '.'
|
||||
. $files[$id]["subdefs"]['caption']["exportExt"];
|
||||
|
||||
$path = $caption_dir;
|
||||
|
||||
@@ -701,22 +701,22 @@ class set_export extends set_abstract
|
||||
if (in_array('caption-yaml', $subdefs))
|
||||
{
|
||||
$caption_dir = $registry->get('GV_RootPath') . 'tmp/desc_tmp/'
|
||||
. time() . $session->get_usr_id()
|
||||
. $session->get_ses_id() . '/';
|
||||
. time() . $session->get_usr_id()
|
||||
. $session->get_ses_id() . '/';
|
||||
system_file::mkdir($caption_dir);
|
||||
|
||||
|
||||
|
||||
$desc = self::get_caption(
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
, true
|
||||
, 'yaml'
|
||||
$download_element->get_base_id()
|
||||
, $download_element->get_record_id()
|
||||
, true
|
||||
, 'yaml'
|
||||
);
|
||||
|
||||
$file = $files[$id]["export_name"]
|
||||
. $files[$id]["subdefs"]['caption-yaml']["ajout"] . '.'
|
||||
. $files[$id]["subdefs"]['caption-yaml']["exportExt"];
|
||||
. $files[$id]["subdefs"]['caption-yaml']["ajout"] . '.'
|
||||
. $files[$id]["subdefs"]['caption-yaml']["exportExt"];
|
||||
|
||||
$path = $caption_dir;
|
||||
|
||||
@@ -732,10 +732,10 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$this->list = array(
|
||||
'files' => $files,
|
||||
'names' => $file_names,
|
||||
'size' => $size,
|
||||
'count' => $n_files
|
||||
'files' => $files,
|
||||
'names' => $file_names,
|
||||
'size' => $size,
|
||||
'count' => $n_files
|
||||
);
|
||||
|
||||
|
||||
@@ -769,13 +769,13 @@ class set_export extends set_abstract
|
||||
random::updateToken($token, serialize($list));
|
||||
|
||||
$str_in = array("à", "á", "â", "ã", "ä", "å", "ç", "è", "é", "ê",
|
||||
"ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô",
|
||||
"õ", "ö", "ù", "ú", "û", "ü", "ý", "ÿ");
|
||||
"ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô",
|
||||
"õ", "ö", "ù", "ú", "û", "ü", "ý", "ÿ");
|
||||
$str_out = array("a", "a", "a", "a", "a", "a", "c", "e", "e", "e",
|
||||
"e", "i", "i", "i", "i", "o", "n", "o", "o", "o",
|
||||
"o", "o", "u", "u", "u", "u", "y", "y");
|
||||
"e", "i", "i", "i", "i", "o", "n", "o", "o", "o",
|
||||
"o", "o", "u", "u", "u", "u", "y", "y");
|
||||
|
||||
$caption_dirs = $unlinks = array();
|
||||
$caption_dirs = $unlinks = array();
|
||||
|
||||
foreach ($files as $record)
|
||||
{
|
||||
@@ -787,9 +787,9 @@ class set_export extends set_abstract
|
||||
if (is_file($path))
|
||||
{
|
||||
$name = $obj["folder"]
|
||||
. $record["export_name"]
|
||||
. $obj["ajout"]
|
||||
. '.' . $obj["exportExt"];
|
||||
. $record["export_name"]
|
||||
. $obj["ajout"]
|
||||
. '.' . $obj["exportExt"];
|
||||
|
||||
$name = str_replace($str_in, $str_out, $name);
|
||||
|
||||
@@ -799,7 +799,7 @@ class set_export extends set_abstract
|
||||
{
|
||||
if (!in_array(dirname($path), $caption_dirs))
|
||||
$caption_dirs[] = dirname($path);
|
||||
$unlinks[] = $path;
|
||||
$unlinks[] = $path;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -842,7 +842,7 @@ class set_export extends set_abstract
|
||||
$dom->encoding = 'UTF-8';
|
||||
|
||||
$dom_record = $dom->createElement('record');
|
||||
$dom_desc = $dom->createElement('description');
|
||||
$dom_desc = $dom->createElement('description');
|
||||
|
||||
$dom_record->appendChild($dom_desc);
|
||||
$dom->appendChild($dom_record);
|
||||
@@ -850,19 +850,19 @@ class set_export extends set_abstract
|
||||
$restrict = array();
|
||||
|
||||
$sbas_id = phrasea::sbasFromBas($bas);
|
||||
$record = new record_adapter($sbas_id, $rec);
|
||||
$desc = $record->get_xml();
|
||||
$appbox = appbox::get_instance();
|
||||
$record = new record_adapter($sbas_id, $rec);
|
||||
$desc = $record->get_xml();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$databox = databox::get_instance($sbas_id);
|
||||
$struct = $databox->get_structure();
|
||||
$struct = $databox->get_structure();
|
||||
|
||||
$rights = true;
|
||||
|
||||
if ($check_rights && $session->is_authenticated())
|
||||
{
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$rights = $user->ACL()->has_right_on_base($bas, 'canmodifrecord');
|
||||
|
||||
if ($rights == false)
|
||||
@@ -875,7 +875,7 @@ class set_export extends set_abstract
|
||||
foreach ($z[0] as $ki => $vi)
|
||||
{
|
||||
if (isset($vi["export"])
|
||||
&& ($vi["export"] == "0" || $vi["export"] == "off"))
|
||||
&& ($vi["export"] == "0" || $vi["export"] == "off"))
|
||||
$restrict[$ki] = true;
|
||||
}
|
||||
}
|
||||
@@ -885,36 +885,27 @@ class set_export extends set_abstract
|
||||
|
||||
$buffer = array();
|
||||
|
||||
if ($sxe = simplexml_load_string($desc))
|
||||
foreach ($record->get_caption()->get_fields() as $field)
|
||||
{
|
||||
$z = $sxe->xpath('/record/description');
|
||||
if ($z && is_array($z))
|
||||
if (($rights || !isset($restrict[$field->get_name()])))
|
||||
{
|
||||
foreach ($z[0] as $ki => $vi)
|
||||
switch ($format)
|
||||
{
|
||||
if (($rights || !isset($restrict[$ki])))
|
||||
{
|
||||
case 'yaml':
|
||||
case 'yml':
|
||||
|
||||
$vi = $field->get_value();
|
||||
if (ctype_digit($vi))
|
||||
$vi = (int) $vi;
|
||||
|
||||
switch ($format)
|
||||
{
|
||||
case 'yaml':
|
||||
case 'yml':
|
||||
|
||||
$vi = trim($vi);
|
||||
if (ctype_digit($vi))
|
||||
$vi = (int) $vi;
|
||||
|
||||
$buffer[trim($ki)] = $vi;
|
||||
break;
|
||||
case 'xml':
|
||||
default:
|
||||
$dom_el = $dom->createElement($ki);
|
||||
$dom_el->appendChild($dom->createTextNode(trim($vi)));
|
||||
$dom_desc->appendChild($dom_el);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$buffer[$field->get_name()] = $vi;
|
||||
break;
|
||||
case 'xml':
|
||||
default:
|
||||
$dom_el = $dom->createElement($field->get_name());
|
||||
$dom_el->appendChild($dom->createTextNode($field->get_value(true)));
|
||||
$dom_desc->appendChild($dom_el);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -954,7 +945,7 @@ class set_export extends set_abstract
|
||||
$registry = registry::get_instance();
|
||||
|
||||
$disposition = in_array($disposition, array('inline', 'attachment')) ?
|
||||
$disposition : 'attachment';
|
||||
$disposition : 'attachment';
|
||||
|
||||
$response = new Symfony\Component\HttpFoundation\Response();
|
||||
|
||||
@@ -964,17 +955,17 @@ class set_export extends set_abstract
|
||||
if ($registry->get('GV_modxsendfile') && strpos($file, $registry->get('GV_X_Accel_Redirect')) !== false)
|
||||
{
|
||||
$file_xaccel = str_replace(
|
||||
array(
|
||||
$registry->get('GV_X_Accel_Redirect'),
|
||||
$registry->get('GV_RootPath') . 'tmp/download/',
|
||||
$registry->get('GV_RootPath') . 'tmp/lazaret/'
|
||||
)
|
||||
, array(
|
||||
'/' . $registry->get('GV_X_Accel_Redirect_mount_point') . '/',
|
||||
'/download/',
|
||||
'/lazaret/'
|
||||
)
|
||||
, $file
|
||||
array(
|
||||
$registry->get('GV_X_Accel_Redirect'),
|
||||
$registry->get('GV_RootPath') . 'tmp/download/',
|
||||
$registry->get('GV_RootPath') . 'tmp/lazaret/'
|
||||
)
|
||||
, array(
|
||||
'/' . $registry->get('GV_X_Accel_Redirect_mount_point') . '/',
|
||||
'/download/',
|
||||
'/lazaret/'
|
||||
)
|
||||
, $file
|
||||
);
|
||||
$response->headers->set('X-Sendfile', $file);
|
||||
$response->headers->set('X-Accel-Redirect', $file_xaccel);
|
||||
@@ -1007,6 +998,7 @@ class set_export extends set_abstract
|
||||
$response->headers->set('Content-Disposition', $disposition . "; filename=" . $exportname . ";");
|
||||
$response->headers->set('Content-Length', filesize($file));
|
||||
$response->setContent(file_get_contents($file));
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -1034,7 +1026,7 @@ class set_export extends set_abstract
|
||||
header("Content-Length: " . strlen($data));
|
||||
header("Cache-Control: max-age=3600, must-revalidate ");
|
||||
header("Content-Disposition: " . $disposition
|
||||
. "; filename=" . $exportname . ";");
|
||||
. "; filename=" . $exportname . ";");
|
||||
|
||||
echo $data;
|
||||
|
||||
@@ -1052,9 +1044,9 @@ class set_export extends set_abstract
|
||||
public static function log_download(Array $list, $type, $anonymous = false, $comment = '')
|
||||
{
|
||||
//download
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$user = false;
|
||||
$user = false;
|
||||
if ($anonymous)
|
||||
{
|
||||
|
||||
@@ -1068,8 +1060,8 @@ class set_export extends set_abstract
|
||||
$files = $list['files'];
|
||||
|
||||
$event_names = array(
|
||||
'mail-export' => Session_Logger::EVENT_EXPORTMAIL,
|
||||
'download' => Session_Logger::EVENT_EXPORTDOWNLOAD
|
||||
'mail-export' => Session_Logger::EVENT_EXPORTMAIL,
|
||||
'download' => Session_Logger::EVENT_EXPORTDOWNLOAD
|
||||
);
|
||||
|
||||
$event_name = isset($event_names[$type]) ? $event_names[$type] : Session_Logger::EVENT_EXPORTDOWNLOAD;
|
||||
@@ -1078,18 +1070,18 @@ class set_export extends set_abstract
|
||||
{
|
||||
foreach ($record["subdefs"] as $o => $obj)
|
||||
{
|
||||
$sbas_id = phrasea::sbasFromBas($record['base_id']);
|
||||
$sbas_id = phrasea::sbasFromBas($record['base_id']);
|
||||
$record_object = new record_adapter($sbas_id, $record['record_id']);
|
||||
|
||||
$session->get_logger($record_object->get_databox())
|
||||
->log($record_object, $event_name, $o, $comment);
|
||||
->log($record_object, $event_name, $o, $comment);
|
||||
|
||||
if ($o != "caption")
|
||||
{
|
||||
$log["rid"] = $record_object->get_record_id();
|
||||
$log["subdef"] = $o;
|
||||
$log["poids"] = $obj["size"];
|
||||
$log["shortXml"] = $record_object->get_xml();
|
||||
$log["rid"] = $record_object->get_record_id();
|
||||
$log["subdef"] = $o;
|
||||
$log["poids"] = $obj["size"];
|
||||
$log["shortXml"] = $record_object->get_xml();
|
||||
$tmplog[$record_object->get_base_id()][] = $log;
|
||||
if (!$anonymous && $o == 'document')
|
||||
$user->ACL()->remove_remaining($record_object->get_base_id());
|
||||
@@ -1100,9 +1092,9 @@ class set_export extends set_abstract
|
||||
}
|
||||
|
||||
$export_types = array(
|
||||
'download' => 0,
|
||||
'mail-export' => 2,
|
||||
'ftp' => 4
|
||||
'download' => 0,
|
||||
'mail-export' => 2,
|
||||
'ftp' => 4
|
||||
);
|
||||
|
||||
$list_base = array_unique(array_keys($tmplog));
|
||||
@@ -1120,9 +1112,9 @@ class set_export extends set_abstract
|
||||
if ($user->ACL()->is_restricted_download($base_id))
|
||||
{
|
||||
$params = array(
|
||||
':remain_dl' => $user->ACL()->remaining_download($base_id)
|
||||
, ':base_id' => $base_id
|
||||
, ':usr_id' => $user->get_id()
|
||||
':remain_dl' => $user->ACL()->remaining_download($base_id)
|
||||
, ':base_id' => $base_id
|
||||
, ':usr_id' => $user->get_id()
|
||||
);
|
||||
|
||||
$stmt->execute($params);
|
||||
|
@@ -19,9 +19,11 @@ use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class task_Scheduler
|
||||
{
|
||||
|
||||
const TASKDELAYTOQUIT = 60;
|
||||
|
||||
protected $output;
|
||||
protected static $connection;
|
||||
|
||||
protected function log($message)
|
||||
{
|
||||
@@ -31,12 +33,12 @@ class task_Scheduler
|
||||
}
|
||||
|
||||
$registry = registry::get_instance();
|
||||
$logdir = $registry->get('GV_RootPath') . 'logs/';
|
||||
$logdir = $registry->get('GV_RootPath') . 'logs/';
|
||||
|
||||
logs::rotate($logdir . "scheduler.log");
|
||||
|
||||
$date_obj = new DateTime();
|
||||
$message = sprintf("%s %s \n", $date_obj->format(DATE_ATOM), $message);
|
||||
$message = sprintf("%s %s \n", $date_obj->format(DATE_ATOM), $message);
|
||||
|
||||
file_put_contents($logdir . "scheduler.log", $message, FILE_APPEND);
|
||||
|
||||
@@ -47,14 +49,19 @@ class task_Scheduler
|
||||
{
|
||||
require dirname(__FILE__) . '/../../../config/connexion.inc';
|
||||
|
||||
return new connection_pdo('appbox', $hostname, $port, $user, $password, $dbname);
|
||||
if (!self::$connection)
|
||||
{
|
||||
self::$connection = new connection_pdo ('appbox', $hostname, $port, $user, $password, $dbname);
|
||||
}
|
||||
|
||||
return self::$connection;
|
||||
}
|
||||
|
||||
public function run(OutputInterface $output = null, $log_tasks = true)
|
||||
{
|
||||
require_once dirname(__FILE__) . '/../../bootstrap.php';
|
||||
$this->output = $output;
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
$system = system_server::get_platform();
|
||||
@@ -63,7 +70,7 @@ class task_Scheduler
|
||||
|
||||
for ($try = 0; true; $try++)
|
||||
{
|
||||
$schedlock = fopen(($lockfile = ($lockdir . 'scheduler.lock')), 'a+');
|
||||
$schedlock = fopen(($lockfile = ($lockdir . 'scheduler.lock')), 'a+');
|
||||
if (flock($schedlock, LOCK_EX | LOCK_NB) != true)
|
||||
{
|
||||
$this->log(sprintf("failed to lock '%s' (try=%s/4)", $lockfile, $try));
|
||||
@@ -96,7 +103,7 @@ class task_Scheduler
|
||||
|
||||
$sleeptime = 3;
|
||||
|
||||
$sql = "UPDATE sitepreff SET schedstatus='started', schedpid = :pid";
|
||||
$sql = "UPDATE sitepreff SET schedstatus='started', schedpid = :pid";
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute(array(':pid' => getmypid()));
|
||||
$stmt->closeCursor();
|
||||
@@ -139,14 +146,14 @@ class task_Scheduler
|
||||
$this->log(sprintf("Warning : abox connection lost, restarting in 10 min."));
|
||||
}
|
||||
sleep(60 * 10);
|
||||
$conn = self::get_connection();
|
||||
$conn = self::get_connection();
|
||||
$connwaslost = true;
|
||||
}
|
||||
if ($connwaslost)
|
||||
{
|
||||
$this->log("abox connection restored");
|
||||
|
||||
$sql = 'UPDATE task SET crashed=0';
|
||||
$sql = 'UPDATE task SET crashed=0';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$stmt->closeCursor();
|
||||
@@ -155,10 +162,10 @@ class task_Scheduler
|
||||
}
|
||||
|
||||
$schedstatus = '';
|
||||
$sql = "SELECT schedstatus FROM sitepreff";
|
||||
$stmt = $conn->prepare($sql);
|
||||
$sql = "SELECT schedstatus FROM sitepreff";
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
if ($row)
|
||||
@@ -168,13 +175,13 @@ class task_Scheduler
|
||||
|
||||
if ($schedstatus == 'tostop')
|
||||
{
|
||||
$sql = 'UPDATE sitepreff SET schedstatus = "stopping"';
|
||||
$sql = 'UPDATE sitepreff SET schedstatus = "stopping"';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$stmt->closeCursor();
|
||||
|
||||
// if scheduler is stopped, stop the tasks
|
||||
$sql = 'UPDATE task2 SET status="tostop" WHERE status != "stopped" and status != "manual"';
|
||||
$sql = 'UPDATE task2 SET status="tostop" WHERE status != "stopped" and status != "manual"';
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$stmt->closeCursor();
|
||||
@@ -194,10 +201,10 @@ class task_Scheduler
|
||||
$ttask[$tkey]["todel"] = true;
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM task2";
|
||||
$sql = "SELECT * FROM task2";
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
foreach ($task_manager->get_tasks(true) as $task)
|
||||
@@ -218,27 +225,27 @@ class task_Scheduler
|
||||
case "WINDOWS":
|
||||
case "LINUX":
|
||||
$cmd = $phpcli . ' -f '
|
||||
. $registry->get('GV_RootPath')
|
||||
. "bin/console task:run "
|
||||
. $task->get_task_id()
|
||||
. " --runner=scheduler ";
|
||||
. $registry->get('GV_RootPath')
|
||||
. "bin/console task:run "
|
||||
. $task->get_task_id()
|
||||
. " --runner=scheduler ";
|
||||
break;
|
||||
}
|
||||
|
||||
$ttask[$tkey] = array(
|
||||
"task" => $task,
|
||||
"current_status" => $task->get_status(),
|
||||
"process" => null,
|
||||
"cmd" => $cmd,
|
||||
"killat" => null,
|
||||
"pipes" => null
|
||||
"task" => $task,
|
||||
"current_status" => $task->get_status(),
|
||||
"process" => null,
|
||||
"cmd" => $cmd,
|
||||
"killat" => null,
|
||||
"pipes" => null
|
||||
);
|
||||
$this->log(
|
||||
sprintf(
|
||||
"new Task %s, status=%s"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $task->get_status()
|
||||
)
|
||||
sprintf(
|
||||
"new Task %s, status=%s"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $task->get_status()
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
@@ -246,17 +253,17 @@ class task_Scheduler
|
||||
if ($ttask[$tkey]["current_status"] != $task->get_status())
|
||||
{
|
||||
$this->log(
|
||||
sprintf(
|
||||
"Task %s, oldstatus=%s, newstatus=%s"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["current_status"]
|
||||
, $task->get_status()
|
||||
)
|
||||
sprintf(
|
||||
"Task %s, oldstatus=%s, newstatus=%s"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["current_status"]
|
||||
, $task->get_status()
|
||||
)
|
||||
);
|
||||
$ttask[$tkey]["current_status"] = $task->get_status();
|
||||
}
|
||||
|
||||
$ttask[$tkey]["task"] = $task;
|
||||
$ttask[$tkey]["task"] = $task;
|
||||
}
|
||||
$ttask[$tkey]["todel"] = false;
|
||||
}
|
||||
@@ -277,8 +284,8 @@ class task_Scheduler
|
||||
$runningtask = 0;
|
||||
|
||||
$common_status = array(
|
||||
task_abstract::STATUS_STARTED
|
||||
, task_abstract::RETURNSTATUS_STOPPED
|
||||
task_abstract::STATUS_STARTED
|
||||
, task_abstract::RETURNSTATUS_STOPPED
|
||||
);
|
||||
|
||||
foreach ($ttask as $tkey => $tv)
|
||||
@@ -286,21 +293,21 @@ class task_Scheduler
|
||||
if (!in_array($ttask[$tkey]["task"]->get_status(), $common_status))
|
||||
{
|
||||
$this->log(
|
||||
sprintf(
|
||||
'task %s has status %s'
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_status()
|
||||
)
|
||||
sprintf(
|
||||
'task %s has status %s'
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_status()
|
||||
)
|
||||
);
|
||||
}
|
||||
switch ($ttask[$tkey]["task"]->get_status())
|
||||
{
|
||||
default:
|
||||
$this->log(
|
||||
sprintf(
|
||||
'Unknow status `%s`'
|
||||
, $ttask[$tkey]["task"]->get_status()
|
||||
)
|
||||
sprintf(
|
||||
'Unknow status `%s`'
|
||||
, $ttask[$tkey]["task"]->get_status()
|
||||
)
|
||||
);
|
||||
break;
|
||||
case task_abstract::RETURNSTATUS_TORESTART:
|
||||
@@ -319,31 +326,31 @@ class task_Scheduler
|
||||
if ($schedstatus == 'started' && !$ttask[$tkey]["process"])
|
||||
{
|
||||
$descriptors = array(
|
||||
1 => array("pipe", "w")
|
||||
, 2 => array("pipe", "w")
|
||||
1 => array("pipe", "w")
|
||||
, 2 => array("pipe", "w")
|
||||
);
|
||||
|
||||
if ($log_tasks === true)
|
||||
{
|
||||
$descriptors[1] = array(
|
||||
"file"
|
||||
, $logdir . "task_$tkey.log"
|
||||
, "a+"
|
||||
"file"
|
||||
, $logdir . "task_$tkey.log"
|
||||
, "a+"
|
||||
);
|
||||
$descriptors[2] = array(
|
||||
"file"
|
||||
, $logdir . "task_$tkey.error.log"
|
||||
, "a+"
|
||||
"file"
|
||||
, $logdir . "task_$tkey.error.log"
|
||||
, "a+"
|
||||
);
|
||||
}
|
||||
|
||||
$ttask[$tkey]["process"] = proc_open(
|
||||
$ttask[$tkey]["cmd"]
|
||||
, $descriptors
|
||||
, $ttask[$tkey]["pipes"]
|
||||
, $registry->get('GV_RootPath') . "bin/"
|
||||
, null
|
||||
, array('bypass_shell' => true)
|
||||
$ttask[$tkey]["cmd"]
|
||||
, $descriptors
|
||||
, $ttask[$tkey]["pipes"]
|
||||
, $registry->get('GV_RootPath') . "bin/"
|
||||
, null
|
||||
, array('bypass_shell' => true)
|
||||
);
|
||||
|
||||
if (is_resource($ttask[$tkey]["process"]))
|
||||
@@ -356,12 +363,12 @@ class task_Scheduler
|
||||
if ($ttask[$tkey]['task']->get_pid() !== null)
|
||||
{
|
||||
$this->log(
|
||||
sprintf(
|
||||
"Task %s '%s' started (pid=%s)"
|
||||
, $ttask[$tkey]['task']->get_task_id()
|
||||
, $ttask[$tkey]["cmd"]
|
||||
, $ttask[$tkey]['task']->get_pid()
|
||||
)
|
||||
sprintf(
|
||||
"Task %s '%s' started (pid=%s)"
|
||||
, $ttask[$tkey]['task']->get_task_id()
|
||||
, $ttask[$tkey]["cmd"]
|
||||
, $ttask[$tkey]['task']->get_pid()
|
||||
)
|
||||
);
|
||||
$runningtask++;
|
||||
}
|
||||
@@ -375,12 +382,12 @@ class task_Scheduler
|
||||
$ttask[$tkey]["process"] = null;
|
||||
|
||||
$this->log(
|
||||
sprintf(
|
||||
"Task %s '%s' failed to start %d times"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["cmd"]
|
||||
, $ttask[$tkey]["task"]->get_crash_counter()
|
||||
)
|
||||
sprintf(
|
||||
"Task %s '%s' failed to start %d times"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["cmd"]
|
||||
, $ttask[$tkey]["task"]->get_crash_counter()
|
||||
)
|
||||
);
|
||||
|
||||
$ttask[$tkey]["task"]->increment_crash_counter();
|
||||
@@ -411,7 +418,7 @@ class task_Scheduler
|
||||
if ($proc_status['running'])
|
||||
$runningtask++;
|
||||
else
|
||||
$crashed = true;
|
||||
$crashed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -433,11 +440,11 @@ class task_Scheduler
|
||||
$ttask[$tkey]["process"] = null;
|
||||
|
||||
$this->log(
|
||||
sprintf(
|
||||
"Task %s crashed %d times"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_crash_counter()
|
||||
)
|
||||
sprintf(
|
||||
"Task %s crashed %d times"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_crash_counter()
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -459,7 +466,7 @@ class task_Scheduler
|
||||
{
|
||||
if ($ttask[$tkey]["killat"] === NULL)
|
||||
$ttask[$tkey]["killat"] = time() + self::TASKDELAYTOQUIT;
|
||||
if (($dt = $ttask[$tkey]["killat"] - time()) < 0)
|
||||
if (($dt = $ttask[$tkey]["killat"] - time()) < 0)
|
||||
{
|
||||
$ppid = $ttask[$tkey]['task']->get_pid();
|
||||
$pids = preg_split('/\s+/', `ps -o pid --no-heading --ppid $ppid`);
|
||||
@@ -473,11 +480,11 @@ class task_Scheduler
|
||||
}
|
||||
|
||||
$this->log(
|
||||
sprintf(
|
||||
"SIGKILL sent to task %s (pid=%s)"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_pid()
|
||||
)
|
||||
sprintf(
|
||||
"SIGKILL sent to task %s (pid=%s)"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $ttask[$tkey]["task"]->get_pid()
|
||||
)
|
||||
);
|
||||
|
||||
proc_terminate($ttask[$tkey]["process"], 9);
|
||||
@@ -493,11 +500,11 @@ class task_Scheduler
|
||||
else
|
||||
{
|
||||
$this->log(
|
||||
sprintf(
|
||||
"waiting task %s to quit (kill in %d seconds)"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $dt
|
||||
)
|
||||
sprintf(
|
||||
"waiting task %s to quit (kill in %d seconds)"
|
||||
, $ttask[$tkey]["task"]->get_task_id()
|
||||
, $dt
|
||||
)
|
||||
);
|
||||
$runningtask++;
|
||||
}
|
||||
@@ -523,6 +530,7 @@ class task_Scheduler
|
||||
{
|
||||
$conn->close();
|
||||
unset($conn);
|
||||
self::$connection = null;
|
||||
$to_reopen = true;
|
||||
}
|
||||
sleep($sleeptime);
|
||||
@@ -532,7 +540,7 @@ class task_Scheduler
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE sitepreff SET schedstatus='stopped', schedpid='0'";
|
||||
$sql = "UPDATE sitepreff SET schedstatus='stopped', schedpid='0'";
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$stmt->closeCursor();
|
||||
|
@@ -150,6 +150,7 @@ class task_manager
|
||||
closedir($hdir);
|
||||
}
|
||||
}
|
||||
|
||||
return $tasks;
|
||||
}
|
||||
}
|
||||
|
@@ -825,7 +825,20 @@ class task_period_archive extends task_abstract
|
||||
|
||||
$xp = new DOMXPath($dom);
|
||||
|
||||
while (($file = $listFolder->read()) !== NULL)
|
||||
if(($sxDotPhrasea = @simplexml_load_file($path . '/.phrasea.xml')))
|
||||
{
|
||||
// on gere le magicfile
|
||||
if(($magicfile = trim((string) ($sxDotPhrasea->magicfile))) != '')
|
||||
{
|
||||
$magicmethod = strtoupper($sxDotPhrasea->magicfile['method']);
|
||||
if($magicmethod == 'LOCK' && file_exists($path . '/' . $magicfile))
|
||||
return;
|
||||
elseif($magicmethod == 'UNLOCK' && !file_exists($path . '/' . $magicfile))
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
while(($file = $listFolder->read()) !== NULL)
|
||||
{
|
||||
if ($this->isIgnoredFile($file))
|
||||
continue;
|
||||
|
@@ -162,6 +162,7 @@ class task_period_outofdate extends task_abstract
|
||||
parent.calcSQL();
|
||||
</script>
|
||||
<?php
|
||||
|
||||
return("");
|
||||
}
|
||||
else // ... so we NEVER come here
|
||||
@@ -218,6 +219,7 @@ class task_period_outofdate extends task_abstract
|
||||
jQuery.map($(this).serializeArray(), function(n, i){
|
||||
json[n['name']] = n['value'];
|
||||
});
|
||||
|
||||
return json;
|
||||
};
|
||||
})( jQuery );
|
||||
@@ -289,7 +291,7 @@ class task_period_outofdate extends task_abstract
|
||||
, async:false
|
||||
, success:function(data)
|
||||
{
|
||||
// console.log(data);
|
||||
// console.log(data);
|
||||
var html = "<option value=\"\">...</option>";
|
||||
for(i in data.date_fields)
|
||||
html += "\n<option class=\"jsFilled\" value=\"" + data.date_fields[i] + "\">" + data.date_fields[i] + "</option>";
|
||||
@@ -309,6 +311,7 @@ class task_period_outofdate extends task_abstract
|
||||
$("#status"+fld).html(html);
|
||||
}
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -682,6 +685,7 @@ class task_period_outofdate extends task_abstract
|
||||
}
|
||||
|
||||
$ret = ($nchanged > 0 ? $nchanged : 'NORECSTODO');
|
||||
|
||||
return($ret);
|
||||
}
|
||||
|
||||
|
@@ -68,6 +68,7 @@ class task_period_upgradetov32 extends task_abstract
|
||||
{
|
||||
printf("sbas_id '" . $this->sbas_id . "' invalide\n");
|
||||
$this->return_value = self::RETURNSTATUS_STOPPED;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -369,11 +370,13 @@ class task_period_upgradetov32 extends task_abstract
|
||||
if ($n_done >= 5000)
|
||||
{
|
||||
$this->return_value = task_abstract::RETURNSTATUS_TORESTART;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($memory > 100)
|
||||
{
|
||||
$this->return_value = task_abstract::RETURNSTATUS_TORESTART;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@@ -366,6 +366,7 @@ class task_period_writemeta extends task_databoxAbstract
|
||||
|
||||
$this->log("\t" . $s);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
@@ -305,6 +305,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
|
||||
$element = new Bridge_Api_Apitest_Element();
|
||||
$element->id = $element_id;
|
||||
$element->type = $object;
|
||||
|
||||
return $element;
|
||||
}
|
||||
|
||||
@@ -313,6 +314,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
|
||||
$container = new Bridge_Api_Apitest_Containers();
|
||||
$container->id = $element_id;
|
||||
$container->type = $object;
|
||||
|
||||
return $container;
|
||||
}
|
||||
|
||||
@@ -340,6 +342,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
|
||||
$element_collection->add_element(new Bridge_Api_Apitest_Element());
|
||||
$i++;
|
||||
}
|
||||
|
||||
return $element_collection;
|
||||
}
|
||||
|
||||
@@ -352,6 +355,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
|
||||
$container_collection->add_element(new Bridge_Api_Apitest_Containers());
|
||||
$i++;
|
||||
}
|
||||
|
||||
return $container_collection;
|
||||
}
|
||||
|
||||
|
@@ -88,6 +88,7 @@ class W3CFeedUrlValidator extends W3CFeedValidator
|
||||
{
|
||||
throw new W3CFeedValidatorException("Unable to request W3C API");
|
||||
}
|
||||
|
||||
return new W3CFeedValidatorResponse($response);
|
||||
}
|
||||
|
||||
@@ -151,6 +152,7 @@ class W3CFeedRawValidator extends W3CFeedValidator
|
||||
{
|
||||
throw new W3CFeedValidatorException("Unable to request W3C API");
|
||||
}
|
||||
|
||||
return new W3CFeedValidatorResponse($response);
|
||||
}
|
||||
|
||||
@@ -209,6 +211,7 @@ class W3CFeedValidatorResponse
|
||||
$string .= $name . "=>" . $detail . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
@@ -219,6 +222,7 @@ class W3CFeedValidatorResponse
|
||||
public function isValid()
|
||||
{
|
||||
$xPathQuery = "/env:Envelope/env:Body/m:feedvalidationresponse/m:validity";
|
||||
|
||||
return $this->DOMXpath->query($xPathQuery)->item(0)->nodeValue !== "false";
|
||||
}
|
||||
|
||||
@@ -229,6 +233,7 @@ class W3CFeedValidatorResponse
|
||||
public function hasError()
|
||||
{
|
||||
$xPathQuery = "/env:Envelope/env:Body/m:feedvalidationresponse/m:errors/m:errorcount";
|
||||
|
||||
return (int) $this->DOMXpath->query($xPathQuery)->item(0)->nodeValue !== 0;
|
||||
}
|
||||
|
||||
@@ -239,6 +244,7 @@ class W3CFeedValidatorResponse
|
||||
public function hasWarning()
|
||||
{
|
||||
$xPathQuery = "/env:Envelope/env:Body/m:feedvalidationresponse/m:warnings/m:warningcount";
|
||||
|
||||
return (int) $this->DOMXpath->query($xPathQuery)->item(0)->nodeValue !== 0;
|
||||
}
|
||||
|
||||
@@ -286,6 +292,7 @@ class W3CFeedValidatorResponse
|
||||
$warnings[] = $this->domNodeToArray($warning);
|
||||
}
|
||||
}
|
||||
|
||||
return $warnings;
|
||||
}
|
||||
|
||||
@@ -305,6 +312,7 @@ class W3CFeedValidatorResponse
|
||||
$errors[] = $this->domNodeToArray($error);
|
||||
}
|
||||
}
|
||||
|
||||
return $errors;
|
||||
}
|
||||
|
||||
|
@@ -64,6 +64,7 @@ class Module_Prod_Route_RecordFeedApp extends PhraseanetWebTestCaseAuthenticated
|
||||
public function createApplication()
|
||||
{
|
||||
$app = require __DIR__ . '/../../../../../classes/module/Prod.php';
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
|
@@ -331,6 +331,7 @@ class Module_RssFeedTest extends PhraseanetWebTestCaseAbstract
|
||||
{
|
||||
$current_attributes[$attribute->name] = $attribute->value;
|
||||
}
|
||||
|
||||
return $current_attributes;
|
||||
}
|
||||
|
||||
@@ -516,6 +517,7 @@ class Module_RssFeedTest extends PhraseanetWebTestCaseAbstract
|
||||
unset($item_entries[$key]); //remove
|
||||
}
|
||||
};
|
||||
|
||||
return $remove;
|
||||
}
|
||||
|
||||
|
@@ -32,9 +32,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
*/
|
||||
public function testSet_locale()
|
||||
{
|
||||
$locale = 'BABA';
|
||||
@@ -42,10 +39,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($locale, $this->object->get_locale());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_locale().
|
||||
*/
|
||||
public function testGet_locale()
|
||||
{
|
||||
$locale = null;
|
||||
@@ -53,10 +46,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($locale, $this->object->get_locale());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_sort().
|
||||
*/
|
||||
public function testSet_sort()
|
||||
{
|
||||
$by = 'NAME';
|
||||
@@ -69,10 +58,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals(searchEngine_options::SORT_MODE_DESC, $this->object->get_sortord());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_sortby().
|
||||
*/
|
||||
public function testGet_sortby()
|
||||
{
|
||||
$by = 'NAME';
|
||||
@@ -82,10 +67,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($sort, $this->object->get_sortord());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_sortord().
|
||||
*/
|
||||
public function testGet_sortord()
|
||||
{
|
||||
$by = 'NAME';
|
||||
@@ -95,10 +76,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($sort, $this->object->get_sortord());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_use_stemming().
|
||||
*/
|
||||
public function testSet_use_stemming()
|
||||
{
|
||||
$bool = true;
|
||||
@@ -109,10 +86,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($bool, $this->object->get_use_stemming());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_use_stemming().
|
||||
*/
|
||||
public function testGet_use_stemming()
|
||||
{
|
||||
$bool = true;
|
||||
@@ -123,10 +96,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($bool, $this->object->get_use_stemming());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_search_type().
|
||||
*/
|
||||
public function testSet_search_type()
|
||||
{
|
||||
$type = "caca";
|
||||
@@ -140,10 +109,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals(searchEngine_options::RECORD_GROUPING, $this->object->get_search_type());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_search_type().
|
||||
*/
|
||||
public function testGet_search_type()
|
||||
{
|
||||
$type = "caca";
|
||||
@@ -157,10 +122,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals(searchEngine_options::RECORD_GROUPING, $this->object->get_search_type());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_bases().
|
||||
*/
|
||||
public function testSet_bases()
|
||||
{
|
||||
$bases = array_keys(self::$user->ACL()->get_granted_base());
|
||||
@@ -168,10 +129,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals(array_values($bases), array_values($this->object->get_bases()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_bases().
|
||||
*/
|
||||
public function testGet_bases()
|
||||
{
|
||||
$bases = array_keys(self::$user->ACL()->get_granted_base());
|
||||
@@ -179,10 +136,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals(array_values($bases), array_values($this->object->get_bases()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_fields().
|
||||
*/
|
||||
public function testSet_fields()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -191,10 +144,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_fields().
|
||||
*/
|
||||
public function testGet_fields()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -203,10 +152,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_status().
|
||||
*/
|
||||
public function testSet_status()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -215,10 +160,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_status().
|
||||
*/
|
||||
public function testGet_status()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -227,10 +168,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_record_type().
|
||||
*/
|
||||
public function testSet_record_type()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -239,10 +176,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_record_type().
|
||||
*/
|
||||
public function testGet_record_type()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -251,10 +184,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_min_date().
|
||||
*/
|
||||
public function testSet_min_date()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -263,10 +192,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_min_date().
|
||||
*/
|
||||
public function testGet_min_date()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -275,10 +200,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_max_date().
|
||||
*/
|
||||
public function testSet_max_date()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -287,10 +208,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_max_date().
|
||||
*/
|
||||
public function testGet_max_date()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -299,10 +216,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSet_date_fields().
|
||||
*/
|
||||
public function testSet_date_fields()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -311,10 +224,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testGet_date_fields().
|
||||
*/
|
||||
public function testGet_date_fields()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -323,10 +232,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testSerialize().
|
||||
*/
|
||||
public function testSerialize()
|
||||
{
|
||||
$bases = array_keys(self::$user->ACL()->get_granted_base());
|
||||
@@ -343,10 +248,6 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
$this->assertEquals($this->object, unserialize(serialize($this->object)));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers {className}::{origMethodName}
|
||||
* @todo Implement testUnserialize().
|
||||
*/
|
||||
public function testUnserialize()
|
||||
{
|
||||
// Remove the following lines when you implement this test.
|
||||
@@ -356,5 +257,3 @@ class searchEngine_optionsTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
@@ -15,5 +15,5 @@
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
define('GV_version', '3.5.9.0');
|
||||
define('GV_version', '3.5.10.0');
|
||||
define('GV_version_name', 'Baobab');
|
||||
|
@@ -351,6 +351,7 @@ foreach ($tasks as $t)
|
||||
{
|
||||
if(window.console)
|
||||
console.log('No task like this');
|
||||
|
||||
return(false);
|
||||
}
|
||||
|
||||
|
@@ -72,6 +72,7 @@ $qrySbas = array();
|
||||
if (is_null($parm['bas']))
|
||||
{
|
||||
echo 'vous devez selectionner des collections dans lesquelles chercher';
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -102,7 +102,7 @@ if ($cssfile)
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body style="overflow:hidden;">
|
||||
<body class="PNB" style="overflow:hidden;">
|
||||
<div id="container" style="position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;">
|
||||
|
||||
<?php
|
||||
|
@@ -1,16 +1,16 @@
|
||||
<?php
|
||||
function getRawEditorData($paramName) {
|
||||
if ($paramName) {
|
||||
if (isset($_POST[$paramName])) {
|
||||
return $_POST[$paramName];
|
||||
} else if (isset($_GET[$paramName])) {
|
||||
return $_GET[$paramName];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
if ($paramName) {
|
||||
if (isset($_POST[$paramName])) {
|
||||
return $_POST[$paramName];
|
||||
} else if (isset($_GET[$paramName])) {
|
||||
return $_GET[$paramName];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@@ -1,16 +1,16 @@
|
||||
<?php
|
||||
function getRawData($paramName) {
|
||||
if ($paramName) {
|
||||
if (isset($_POST[$paramName])) {
|
||||
return $_POST[$paramName];
|
||||
} else if (isset($_GET[$paramName])) {
|
||||
return $_GET[$paramName];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
if ($paramName) {
|
||||
if (isset($_POST[$paramName])) {
|
||||
return $_POST[$paramName];
|
||||
} else if (isset($_GET[$paramName])) {
|
||||
return $_GET[$paramName];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@@ -112,7 +112,7 @@ if ((!is_null($parm['login']) && !is_null($parm['pwd'])) || $is_guest)
|
||||
|
||||
return phrasea::redirect($url);
|
||||
}
|
||||
catch (Exception $e)
|
||||
catch (\Exception $e)
|
||||
{
|
||||
return phrasea::redirect("/login/?redirect=" . $parm['redirect'] . "&error=".$e->getMessage().$e->getFile().$e->getLine() );
|
||||
}
|
||||
@@ -140,4 +140,3 @@ else
|
||||
{
|
||||
return phrasea::redirect("/login/");
|
||||
}
|
||||
?>
|
||||
|
@@ -17,49 +17,49 @@
|
||||
*/
|
||||
require_once dirname(__FILE__) . "/../../lib/bootstrap.php";
|
||||
|
||||
$appbox = appbox::get_instance();
|
||||
$appbox = appbox::get_instance();
|
||||
$request = http_request::getInstance();
|
||||
$parm = $request->get_parms('code');
|
||||
$parm = $request->get_parms('code');
|
||||
|
||||
try
|
||||
{
|
||||
$datas = random::helloToken($parm['code']);
|
||||
}
|
||||
catch(Exception_NotFound $e)
|
||||
catch (Exception_NotFound $e)
|
||||
{
|
||||
return phrasea::redirect('/login/?redirect=/prod&error=TokenNotFound');
|
||||
}
|
||||
|
||||
$usr_id = $datas['usr_id'];
|
||||
$usr_id = $datas['usr_id'];
|
||||
|
||||
$user = User_Adapter::getInstance($usr_id, $appbox);
|
||||
$user = User_Adapter::getInstance($usr_id, $appbox);
|
||||
|
||||
if (!$user->get_mail_locked())
|
||||
if (!$user->get_mail_locked())
|
||||
{
|
||||
return phrasea::redirect('/login?redirect=prod&confirm=already');
|
||||
}
|
||||
$user->set_mail_locked(false);
|
||||
random::removeToken($parm['code']);
|
||||
|
||||
require_once(dirname(__FILE__) . '/../../lib/vendor/PHPMailer_v5.1/class.phpmailer.php');
|
||||
if (PHPMailer::ValidateAddress($user->get_email()))
|
||||
{
|
||||
if (count($user->ACL()->get_granted_base()) > 0)
|
||||
{
|
||||
return phrasea::redirect('/login?redirect=prod&confirm=already');
|
||||
mail::mail_confirm_registered($user->get_email());
|
||||
}
|
||||
$user->set_mail_locked(false);
|
||||
random::removeToken($parm['code']);
|
||||
|
||||
require_once(dirname (__FILE__) . '/../../lib/vendor/PHPMailer_v5.1/class.phpmailer.php');
|
||||
if (PHPMailer::ValidateAddress($user->get_email()))
|
||||
else
|
||||
{
|
||||
if (count($user->ACL()->get_granted_base()) > 0)
|
||||
$appbox_register = new appbox_register($appbox);
|
||||
$list = $appbox_register->get_collection_awaiting_for_user($user);
|
||||
$others = '';
|
||||
foreach ($list as $collection)
|
||||
{
|
||||
mail::mail_confirm_registered($row['usr_mail']);
|
||||
$others .= '<li>' . $collection->get_name() . "</li>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$appbox_register = new appbox_register($appbox);
|
||||
$list = $appbox_register->get_collection_awaiting_for_user($user);
|
||||
$others = '';
|
||||
foreach($list as $collection)
|
||||
{
|
||||
$others .= '<li>' . $collection->get_name() . "</li>\n";
|
||||
}
|
||||
|
||||
mail::mail_confirm_unregistered($row['usr_mail'], $others);
|
||||
}
|
||||
mail::mail_confirm_unregistered($user->get_email(), $others);
|
||||
}
|
||||
}
|
||||
|
||||
return phrasea::redirect('/login?redirect=/prod&confirm=ok');
|
||||
return phrasea::redirect('/login?redirect=/prod&confirm=ok');
|
||||
|
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
require_once dirname(__FILE__) . "/../../lib/bootstrap.php";
|
||||
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
require($registry->get('GV_RootPath') . 'lib/classes/deprecated/countries.php');
|
||||
@@ -41,37 +41,35 @@ $needed = array();
|
||||
/**
|
||||
* @todo ameliorer this shit
|
||||
*/
|
||||
$arrayVerif = array("form_login" => true,
|
||||
"form_password" => true,
|
||||
"form_password_confirm" => true,
|
||||
"form_gender" => true,
|
||||
"form_lastname" => true,
|
||||
"form_firstname" => true,
|
||||
"form_email" => true,
|
||||
"form_job" => true,
|
||||
"form_company" => true,
|
||||
"form_activity" => true,
|
||||
"form_phone" => true,
|
||||
"form_fax" => true,
|
||||
"form_address" => true,
|
||||
"form_zip" => true,
|
||||
"form_geonameid" => true,
|
||||
"demand" => true);
|
||||
$arrayVerif = array("form_login" => true,
|
||||
"form_password" => true,
|
||||
"form_password_confirm" => true,
|
||||
"form_gender" => true,
|
||||
"form_lastname" => true,
|
||||
"form_firstname" => true,
|
||||
"form_email" => true,
|
||||
"form_job" => true,
|
||||
"form_company" => true,
|
||||
"form_activity" => true,
|
||||
"form_phone" => true,
|
||||
"form_fax" => true,
|
||||
"form_address" => true,
|
||||
"form_zip" => true,
|
||||
"form_geonameid" => true,
|
||||
"demand" => true);
|
||||
|
||||
if (is_file($registry->get('GV_RootPath') . 'config/register-fields.php'))
|
||||
include($registry->get('GV_RootPath') . 'config/register-fields.php');
|
||||
|
||||
$arrayVerif['form_login'] = true;
|
||||
$arrayVerif['form_password'] = true;
|
||||
$arrayVerif['form_login'] = true;
|
||||
$arrayVerif['form_password'] = true;
|
||||
$arrayVerif['form_password_confirm'] = true;
|
||||
$arrayVerif['demand'] = true;
|
||||
$arrayVerif['form_email'] = true;
|
||||
$arrayVerif['demand'] = true;
|
||||
$arrayVerif['form_email'] = true;
|
||||
|
||||
$lstreceiver = array();
|
||||
|
||||
$parm = $request->get_parms("form_login", "form_password", "form_city", "form_password_confirm",
|
||||
"form_gender", "form_lastname", "form_firstname", "form_email", "form_job", "form_company", 'demand',
|
||||
"form_activity", "form_phone", "form_fax", "form_address", "form_zip", "form_geonameid", "demand");
|
||||
$parm = $request->get_parms("form_login", "form_password", "form_city", "form_password_confirm", "form_gender", "form_lastname", "form_firstname", "form_email", "form_job", "form_company", 'demand', "form_activity", "form_phone", "form_fax", "form_address", "form_zip", "form_geonameid", "demand");
|
||||
|
||||
/**
|
||||
* @todo transactionner cette page
|
||||
@@ -95,20 +93,20 @@ if ($request->has_post_datas())
|
||||
|
||||
// 1 - on verifie les password
|
||||
if ($parm['form_password'] !== $parm['form_password_confirm'])
|
||||
$needed['form_password'] = $needed['form_password_confirm'] = _('forms::les mots de passe ne correspondent pas');
|
||||
$needed['form_password'] = $needed['form_password_confirm'] = _('forms::les mots de passe ne correspondent pas');
|
||||
elseif (strlen(trim($parm['form_password'])) < 8)
|
||||
$needed['form_password'] = _('forms::la valeur donnee est trop courte');
|
||||
$needed['form_password'] = _('forms::la valeur donnee est trop courte');
|
||||
elseif (trim($parm['form_password']) != str_replace(array("\r\n", "\n", "\r", "\t", " "), "_", $parm['form_password']))
|
||||
$needed['form_password'] = _('forms::la valeur donnee contient des caracteres invalides');
|
||||
|
||||
//2 - on verifie que lemail a lair correcte si elle est requise
|
||||
require_once(dirname (__FILE__) . '/../../lib/vendor/PHPMailer_v5.1/class.phpmailer.php');
|
||||
require_once(dirname(__FILE__) . '/../../lib/vendor/PHPMailer_v5.1/class.phpmailer.php');
|
||||
if (trim($parm['form_email']) != '' && !PHPMailer::ValidateAddress($parm['form_email']))
|
||||
$needed['form_email'] = _('forms::l\'email semble invalide');
|
||||
|
||||
//on verifie le login
|
||||
if(strlen($parm['form_login'])<8)
|
||||
$needed['form_login'] = _('forms::la valeur donnee est trop courte');
|
||||
//on verifie le login
|
||||
if (strlen($parm['form_login']) < 8)
|
||||
$needed['form_login'] = _('forms::la valeur donnee est trop courte');
|
||||
|
||||
if (sizeof($needed) === 1 && isset($needed['form_login']) && $needed['form_login'] === true)
|
||||
{
|
||||
@@ -135,7 +133,7 @@ if ($request->has_post_datas())
|
||||
//5 on insere l'utilisateur
|
||||
|
||||
$inscriptions = giveMeBases();
|
||||
$inscOK = array();
|
||||
$inscOK = array();
|
||||
|
||||
if (sizeof($needed) === 0)
|
||||
{
|
||||
@@ -153,7 +151,7 @@ if ($request->has_post_datas())
|
||||
if (!in_array($collection->get_base_id(), $parm['demand']))
|
||||
continue;
|
||||
|
||||
$sbas_id = $databox->get_sbas_id();
|
||||
$sbas_id = $databox->get_sbas_id();
|
||||
if (isset($inscriptions[$sbas_id]) && $inscriptions[$sbas_id]['inscript'] === true && (isset($inscriptions[$sbas_id]['Colls'][$collection->get_coll_id()]) || isset($inscriptions[$sbas_id]['CollsCGU'][$collection->get_coll_id()])))
|
||||
$inscOK[$collection->get_base_id()] = true;
|
||||
}
|
||||
@@ -165,16 +163,16 @@ if ($request->has_post_datas())
|
||||
$user = User_Adapter::create($appbox, $parm['form_login'], $parm["form_password"], $parm["form_email"], false);
|
||||
|
||||
$user->set_gender($parm['form_gender'])
|
||||
->set_firstname($parm['form_firstname'])
|
||||
->set_lastname($parm['form_lastname'])
|
||||
->set_address($parm['form_address'])
|
||||
->set_zip($parm['form_zip'])
|
||||
->set_tel($parm['form_phone'])
|
||||
->set_fax($parm['form_fax'])
|
||||
->set_job($parm['form_job'])
|
||||
->set_company($parm['form_company'])
|
||||
->set_position($parm['form_activity'])
|
||||
->set_geonameid($parm['form_geonameid']);
|
||||
->set_firstname($parm['form_firstname'])
|
||||
->set_lastname($parm['form_lastname'])
|
||||
->set_address($parm['form_address'])
|
||||
->set_zip($parm['form_zip'])
|
||||
->set_tel($parm['form_phone'])
|
||||
->set_fax($parm['form_fax'])
|
||||
->set_job($parm['form_job'])
|
||||
->set_company($parm['form_company'])
|
||||
->set_position($parm['form_activity'])
|
||||
->set_geonameid($parm['form_geonameid']);
|
||||
|
||||
$newid = $user->get_id();
|
||||
|
||||
@@ -186,7 +184,14 @@ if ($request->has_post_datas())
|
||||
|
||||
$template_user = User_Adapter::getInstance($template_user_id, appbox::get_instance());
|
||||
|
||||
$user->ACL()->apply_model($template_user, array_keys($inscOK[$base_id]));
|
||||
$base_ids = array();
|
||||
|
||||
foreach ($inscOK as $base_id => $done)
|
||||
{
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
|
||||
$user->ACL()->apply_model($template_user, $base_ids);
|
||||
}
|
||||
|
||||
$autoReg = $user->ACL()->get_granted_base();
|
||||
@@ -199,7 +204,7 @@ if ($request->has_post_datas())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$collection = collection::get_from_base_id($base_id);
|
||||
$collection = collection::get_from_base_id($base_id);
|
||||
$appbox_register->add_request($user, $collection);
|
||||
unset($collection);
|
||||
$demandOK[$base_id] = true;
|
||||
@@ -208,9 +213,9 @@ if ($request->has_post_datas())
|
||||
$event_mngr = eventsmanager_broker::getInstance($appbox);
|
||||
|
||||
$params = array(
|
||||
'demand' => $demandOK
|
||||
, 'autoregister' => $autoReg
|
||||
, 'usr_id' => $newid
|
||||
'demand' => $demandOK
|
||||
, 'autoregister' => $autoReg
|
||||
, 'usr_id' => $newid
|
||||
);
|
||||
|
||||
$event_mngr->trigger('__REGISTER_AUTOREGISTER__', $params);
|
||||
@@ -220,6 +225,7 @@ if ($request->has_post_datas())
|
||||
if ($newUsrEmail)
|
||||
{
|
||||
$user->set_mail_locked(true);
|
||||
|
||||
return phrasea::redirect('/login/sendmail-confirm.php?usr_id=' . $newid);
|
||||
}
|
||||
|
||||
@@ -257,16 +263,16 @@ phrasea::headers();
|
||||
|
||||
<?php
|
||||
$geonames = new geonames();
|
||||
$first = true;
|
||||
$sep = $msg = $rules = '';
|
||||
$first = true;
|
||||
$sep = $msg = $rules = '';
|
||||
foreach ($arrayVerif as $ar => $ver)
|
||||
{
|
||||
if($ver === false)
|
||||
if ($ver === false)
|
||||
continue;
|
||||
if ($ar != 'form_password')
|
||||
{
|
||||
if (!$first)
|
||||
$sep = ',';
|
||||
$sep = ',';
|
||||
$first = false;
|
||||
$rules .= $sep . $ar . ':{required:true}';
|
||||
$msg .= $sep . $ar . ': {';
|
||||
@@ -282,7 +288,7 @@ foreach ($arrayVerif as $ar => $ver)
|
||||
if ($ar == 'form_email')
|
||||
$msg .= ',email:"' . (str_replace('"', '\"', _('forms::l\'email semble invalide'))) . '"';
|
||||
|
||||
$msg .= ',login:"'.(str_replace('"','\"',_('login invalide (8 caracteres sans accents ni espaces)'))).'"';
|
||||
$msg .= ',login:"' . (str_replace('"', '\"', _('login invalide (8 caracteres sans accents ni espaces)'))) . '"';
|
||||
$msg .= '}';
|
||||
}
|
||||
}
|
||||
@@ -311,24 +317,24 @@ foreach ($arrayVerif as $ar => $ver)
|
||||
error.prependTo( element.parent().next() );
|
||||
}
|
||||
}
|
||||
);
|
||||
);
|
||||
|
||||
$('#form_email').rules("add",{email:true});
|
||||
$('#form_email').rules("add",{email:true});
|
||||
|
||||
// $('#form_login').rules("add",{
|
||||
// minlength: 5
|
||||
// });
|
||||
// $('#form_login').rules("add",{
|
||||
// minlength: 5
|
||||
// });
|
||||
|
||||
$('#form_login').rules("add",{login : true});
|
||||
$('#form_login').rules("add",{login : true});
|
||||
|
||||
$('#form_password').rules("add",{password: "#form_login"});
|
||||
$('#form_password_confirm').rules("add",{equalTo: "#form_password"});
|
||||
$('#form_password').rules("add",{password: "#form_login"});
|
||||
$('#form_password_confirm').rules("add",{equalTo: "#form_password"});
|
||||
|
||||
|
||||
$("#form_password").valid();
|
||||
$("#form_password").valid();
|
||||
|
||||
initialize_geoname_field($('#form_geonameid'));
|
||||
});
|
||||
initialize_geoname_field($('#form_geonameid'));
|
||||
});
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="/login/geonames.js"></script>
|
||||
@@ -342,12 +348,12 @@ foreach ($arrayVerif as $ar => $ver)
|
||||
<td style="width:600px;"><span style="white-space:nowrap;font-size:28px;color:#b1b1b1;"><?php echo $registry->get('GV_homeTitle') ?> - <?php echo _('login:: register') ?></span></td>
|
||||
<td></td>
|
||||
<td style="color:#b1b1b1;text-align:right;">
|
||||
<?php
|
||||
if ($register_enabled)
|
||||
{
|
||||
?>
|
||||
<?php
|
||||
if ($register_enabled)
|
||||
{
|
||||
?>
|
||||
<a href="register.php" class="tab active" id="register-tab"><?php echo _('login:: register') ?></a>
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<a href="index.php" class="tab" id="main-tab"><?php echo _('login:: accueil') ?></a>
|
||||
@@ -371,24 +377,24 @@ foreach ($arrayVerif as $ar => $ver)
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_login">
|
||||
<?php echo (isset($arrayVerif['form_login']) && $arrayVerif['form_login'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur identifiant') ?> <br/><span style="font-size:9px;"><?php echo _('8 caracteres minimum') ?></span> :
|
||||
<?php echo (isset($arrayVerif['form_login']) && $arrayVerif['form_login'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur identifiant') ?> <br/><span style="font-size:9px;"><?php echo _('8 caracteres minimum') ?></span> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_login" autocomplete="off" type="text" value="<?php echo $parm ["form_login"] ?>" class="input_element" name="form_login">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_login']) ? $needed['form_login'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="height:10px;">
|
||||
<td colspan="3">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_password">
|
||||
<?php echo (isset($arrayVerif['form_password']) && $arrayVerif['form_password'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur mot de passe') ?> <br/><span style="font-size:9px;"><?php echo _('8 caracteres minimum') ?></span> :
|
||||
<?php echo isset($needed['form_login']) ? $needed['form_login'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="height:10px;">
|
||||
<td colspan="3">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_password">
|
||||
<?php echo (isset($arrayVerif['form_password']) && $arrayVerif['form_password'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur mot de passe') ?> <br/><span style="font-size:9px;"><?php echo _('8 caracteres minimum') ?></span> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
@@ -396,270 +402,270 @@ foreach ($arrayVerif as $ar => $ver)
|
||||
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<span style="color:white;"><?php echo _('Resistance du mot de passe');?></span><br/>
|
||||
<?php echo isset($needed['form_password'])?$needed['form_password']:''?>
|
||||
<div class="password-meter">
|
||||
<div class="password-meter-message"> </div>
|
||||
<div class="password-meter-bg">
|
||||
<div class="password-meter-bar"></div>
|
||||
</div>
|
||||
<span style="color:white;"><?php echo _('Resistance du mot de passe'); ?></span><br/>
|
||||
<?php echo isset($needed['form_password']) ? $needed['form_password'] : '' ?>
|
||||
<div class="password-meter">
|
||||
<div class="password-meter-message"> </div>
|
||||
<div class="password-meter-bg">
|
||||
<div class="password-meter-bar"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_password_confirm">
|
||||
<?php echo (isset($arrayVerif['form_password_confirm']) && $arrayVerif['form_password_confirm'] === true) ? '<span class="requiredField">*</span>' : '' ?> <span style="font-size:9px;">Confirmation</span> :
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_password_confirm">
|
||||
<?php echo (isset($arrayVerif['form_password_confirm']) && $arrayVerif['form_password_confirm'] === true) ? '<span class="requiredField">*</span>' : '' ?> <span style="font-size:9px;">Confirmation</span> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_password_confirm" autocomplete="off" type="password" value="<?php echo $parm ["form_password_confirm"] ?>" class="input_element" name="form_password_confirm">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_password_confirm']) ? $needed['form_password_confirm'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="height:10px;">
|
||||
<td colspan="3">
|
||||
<div style="margin:20px 0;">
|
||||
<a href="#" onclick="$('#password_infos').slideToggle();return false;" style="color:white;font-size:13px;"><?php echo _('admin::compte-utilisateur A propos de la securite des mots de passe');?></a>
|
||||
<div id="password_infos" style="display:none;">
|
||||
<div style="text-align:center;margin:20px 0 0;">
|
||||
<?php echo _('admin::compte-utilisateur Les mots de passe doivent etre clairement distincts du login et contenir au moins deux types parmis les caracteres suivants :');?>
|
||||
</div>
|
||||
<div style="text-align:left;margin:10px auto;width:300px;">
|
||||
<ul>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres speciaux');?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres majuscules');?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres minuscules');?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres numeriques');?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_email">
|
||||
<?php echo (isset($arrayVerif['form_email']) && $arrayVerif['form_email'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur email') ?> :
|
||||
<?php echo isset($needed['form_password_confirm']) ? $needed['form_password_confirm'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="height:10px;">
|
||||
<td colspan="3">
|
||||
<div style="margin:20px 0;">
|
||||
<a href="#" onclick="$('#password_infos').slideToggle();return false;" style="color:white;font-size:13px;"><?php echo _('admin::compte-utilisateur A propos de la securite des mots de passe'); ?></a>
|
||||
<div id="password_infos" style="display:none;">
|
||||
<div style="text-align:center;margin:20px 0 0;">
|
||||
<?php echo _('admin::compte-utilisateur Les mots de passe doivent etre clairement distincts du login et contenir au moins deux types parmis les caracteres suivants :'); ?>
|
||||
</div>
|
||||
<div style="text-align:left;margin:10px auto;width:300px;">
|
||||
<ul>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres speciaux'); ?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres majuscules'); ?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres minuscules'); ?></li>
|
||||
<li><?php echo _('admin::compte-utilisateur::securite caracteres numeriques'); ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_email">
|
||||
<?php echo (isset($arrayVerif['form_email']) && $arrayVerif['form_email'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur email') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_email" autocomplete="off" type="text" value="<?php echo $parm["form_email"] ?>" class="input_element" name="form_email">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_email']) ? $needed['form_email'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_city">
|
||||
<?php echo (isset($arrayVerif['form_geonameid']) && $arrayVerif['form_geonameid'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur ville') ?> :
|
||||
<?php echo isset($needed['form_email']) ? $needed['form_email'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_city">
|
||||
<?php echo (isset($arrayVerif['form_geonameid']) && $arrayVerif['form_geonameid'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur ville') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_geonameid" type="text" geonameid="<?php echo $parm["form_geonameid"] ?>" value="<?php echo $geonames->name_from_id($parm["form_geonameid"]) ?>" class="input_element geoname_field" name="form_geonameid">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_geonameid']) ? $needed['form_geonameid'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<?php echo _('admin::compte-utilisateur sexe') ?> :
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 0) ? "checked" : "") ?> value="0"><?php echo _('admin::compte-utilisateur:sexe: mademoiselle') ?>
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 1) ? "checked" : "") ?> value="1"><?php echo _('admin::compte-utilisateur:sexe: madame') ?>
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 2) ? "checked" : "") ?> value="2"><?php echo _('admin::compte-utilisateur:sexe: monsieur') ?>
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_gender']) ? $needed['form_gender'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_lastname">
|
||||
<?php echo (isset($arrayVerif['form_lastname']) && $arrayVerif['form_lastname'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur nom') ?> :
|
||||
<?php echo isset($needed['form_geonameid']) ? $needed['form_geonameid'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<?php echo _('admin::compte-utilisateur sexe') ?> :
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 0) ? "checked" : "") ?> value="0"><?php echo _('admin::compte-utilisateur:sexe: mademoiselle') ?>
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 1) ? "checked" : "") ?> value="1"><?php echo _('admin::compte-utilisateur:sexe: madame') ?>
|
||||
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 2) ? "checked" : "") ?> value="2"><?php echo _('admin::compte-utilisateur:sexe: monsieur') ?>
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_gender']) ? $needed['form_gender'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_lastname">
|
||||
<?php echo (isset($arrayVerif['form_lastname']) && $arrayVerif['form_lastname'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur nom') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_lastname" autocomplete="off" type="text" value="<?php echo $parm["form_lastname"] ?>" class="input_element" name="form_lastname">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_lastname']) ? $needed['form_lastname'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_firstname">
|
||||
<?php echo (isset($arrayVerif['form_firstname']) && $arrayVerif['form_firstname'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur prenom') ?> :
|
||||
<?php echo isset($needed['form_lastname']) ? $needed['form_lastname'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_firstname">
|
||||
<?php echo (isset($arrayVerif['form_firstname']) && $arrayVerif['form_firstname'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur prenom') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_firstname" autocomplete="off" type="text" value="<?php echo $parm["form_firstname"] ?>" class="input_element" name="form_firstname">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_firstname']) ? $needed['form_firstname'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_job">
|
||||
<?php echo (isset($arrayVerif['form_job']) && $arrayVerif['form_job'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur poste') ?> :
|
||||
<?php echo isset($needed['form_firstname']) ? $needed['form_firstname'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_job">
|
||||
<?php echo (isset($arrayVerif['form_job']) && $arrayVerif['form_job'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur poste') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_job" autocomplete="off" type="text" value="<?php echo $parm["form_job"] ?>" class="input_element" name="form_job">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_job']) ? $needed['form_job'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_activity">
|
||||
<?php echo (isset($arrayVerif['form_activity']) && $arrayVerif['form_activity'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur activite') ?> :
|
||||
<?php echo isset($needed['form_job']) ? $needed['form_job'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_activity">
|
||||
<?php echo (isset($arrayVerif['form_activity']) && $arrayVerif['form_activity'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur activite') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_activity" autocomplete="off" type="text" value="<?php echo $parm["form_activity"] ?>" class="input_element" name="form_activity">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_activity']) ? $needed['form_activity'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_phone">
|
||||
<?php echo (isset($arrayVerif['form_phone']) && $arrayVerif['form_phone'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur telephone') ?> :
|
||||
<?php echo isset($needed['form_activity']) ? $needed['form_activity'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_phone">
|
||||
<?php echo (isset($arrayVerif['form_phone']) && $arrayVerif['form_phone'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur telephone') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_phone" autocomplete="off" type="text" value="<?php echo $parm["form_phone"] ?>" class="input_element" name="form_phone">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_phone']) ? $needed['form_phone'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_fax">
|
||||
<?php echo (isset($arrayVerif['form_fax']) && $arrayVerif['form_fax'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur fax') ?> :
|
||||
<?php echo isset($needed['form_phone']) ? $needed['form_phone'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_fax">
|
||||
<?php echo (isset($arrayVerif['form_fax']) && $arrayVerif['form_fax'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur fax') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_fax" autocomplete="off" type="text" value="<?php echo $parm["form_fax"] ?>" class="input_element" name="form_fax">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_fax']) ? $needed['form_fax'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_company">
|
||||
<?php echo (isset($arrayVerif['form_company']) && $arrayVerif['form_company'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur societe') ?> :
|
||||
<?php echo isset($needed['form_fax']) ? $needed['form_fax'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_company">
|
||||
<?php echo (isset($arrayVerif['form_company']) && $arrayVerif['form_company'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur societe') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_company" autocomplete="off" type="text" value="<?php echo $parm["form_company"] ?>" class="input_element" name="form_company">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_company']) ? $needed['form_company'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_address">
|
||||
<?php echo (isset($arrayVerif['form_address']) && $arrayVerif['form_address'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur adresse') ?> :
|
||||
<?php echo isset($needed['form_company']) ? $needed['form_company'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_address">
|
||||
<?php echo (isset($arrayVerif['form_address']) && $arrayVerif['form_address'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur adresse') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_address" autocomplete="off" type="text" value="<?php echo $parm["form_address"] ?>" class="input_element" name="form_address">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_address']) ? $needed['form_address'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php echo isset($needed['form_address']) ? $needed['form_address'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_zip">
|
||||
<?php echo (isset($arrayVerif['form_zip']) && $arrayVerif['form_zip'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur code postal') ?> :
|
||||
<tr>
|
||||
<td class="form_label">
|
||||
<label for="form_zip">
|
||||
<?php echo (isset($arrayVerif['form_zip']) && $arrayVerif['form_zip'] === true) ? '<span class="requiredField">*</span>' : '' ?> <?php echo _('admin::compte-utilisateur code postal') ?> :
|
||||
</label>
|
||||
</td>
|
||||
<td class="form_input">
|
||||
<input id="form_zip" autocomplete="off" type="text" value="<?php echo $parm["form_zip"] ?>" class="input_element" name="form_zip">
|
||||
</td>
|
||||
<td class="form_alert">
|
||||
<?php echo isset($needed['form_zip']) ? $needed['form_zip'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php echo isset($needed['form_zip']) ? $needed['form_zip'] : '' ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<hr/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<?php
|
||||
if ($registry->get('GV_autoselectDB'))
|
||||
{
|
||||
?>
|
||||
<div style="display:none;">
|
||||
<?php
|
||||
if ($registry->get('GV_autoselectDB'))
|
||||
{
|
||||
?>
|
||||
<div style="display:none;">
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div style="width:600px;height:20px;text-align:center;margin:0 auto;"><?php echo _('admin::compte-utilisateur actuellement, acces aux bases suivantes : ') ?></div>
|
||||
<div class="requiredField" style="width:600px;height:20px;text-align:center;margin:0 auto;"><?php echo isset($needed['demand']) ? 'Vous n\'avez selectionne aucune base' : '' ?></div>
|
||||
}
|
||||
?>
|
||||
<div style="width:600px;height:20px;text-align:center;margin:0 auto;"><?php echo _('admin::compte-utilisateur actuellement, acces aux bases suivantes : ') ?></div>
|
||||
<div class="requiredField" style="width:600px;height:20px;text-align:center;margin:0 auto;"><?php echo isset($needed['demand']) ? 'Vous n\'avez selectionne aucune base' : '' ?></div>
|
||||
|
||||
<div style="width:600px;center;margin:0 5px;">
|
||||
<div style="width:600px;center;margin:0 5px;">
|
||||
|
||||
|
||||
<?php
|
||||
$demandes = null;
|
||||
if (is_array($parm['demand']))
|
||||
foreach ($parm['demand'] as $id)
|
||||
$demandes[$id] = true;
|
||||
|
||||
echo giveInscript($lng, $demandes);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($registry->get('GV_autoselectDB'))
|
||||
{
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
$demandes = null;
|
||||
if (is_array($parm['demand']))
|
||||
foreach ($parm['demand'] as $id)
|
||||
$demandes[$id] = true;
|
||||
|
||||
echo giveInscript($lng, $demandes);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($registry->get('GV_autoselectDB'))
|
||||
{
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<input type="hidden" value="<?php echo $lng ?>" name="lng">
|
||||
<div style="margin:10px 0;text-align:center;"><input type="submit" value="<?php echo _('boutton::valider') ?>"/></div>
|
||||
</form>
|
||||
<input type="hidden" value="<?php echo $lng ?>" name="lng">
|
||||
<div style="margin:10px 0;text-align:center;"><input type="submit" value="<?php echo _('boutton::valider') ?>"/></div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<div style="text-align:right;position:relative;margin:18px 10px 0 0;font-size:10px;font-weight:normal;"><span>© Copyright Alchemy 2005-<?php echo date('Y') ?></span></div>
|
||||
</div>
|
||||
<div style="text-align:right;position:relative;margin:18px 10px 0 0;font-size:10px;font-weight:normal;"><span>© Copyright Alchemy 2005-<?php echo date('Y') ?></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$('.tab').hover(function(){
|
||||
$(this).addClass('active');
|
||||
}, function(){
|
||||
$(this).removeClass('active');
|
||||
});
|
||||
$('.tab').hover(function(){
|
||||
$(this).addClass('active');
|
||||
}, function(){
|
||||
$(this).removeClass('active');
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
@@ -15,19 +15,19 @@
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
require_once dirname(__FILE__) . "/../../lib/bootstrap.php";
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
phrasea::headers();
|
||||
|
||||
$request = http_request::getInstance();
|
||||
$parm = $request->get_parms("act", "sbas_id", "record_id", "cchd", "ccfilename");
|
||||
$parm = $request->get_parms("act", "sbas_id", "record_id", "cchd", "ccfilename");
|
||||
|
||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
|
||||
$sbas_id = $parm["sbas_id"];
|
||||
|
||||
$pathhd = null;
|
||||
$pathhd = null;
|
||||
$baseurl = null;
|
||||
?>
|
||||
<html lang="<?php echo $session->get_I18n(); ?>">
|
||||
@@ -36,33 +36,34 @@ $baseurl = null;
|
||||
</head>
|
||||
<body onload="parent.hideDwnl();">
|
||||
|
||||
<?php
|
||||
if (!isset($_FILES["newHD"]) || $_FILES["newHD"]["tmp_name"] == "" || $_FILES["newHD"]["size"] == "" || ($_FILES["newHD"]["size"] + 0) == 0)
|
||||
{
|
||||
echo '<center>', _('prod::substitution::erreur : document de substitution invalide'), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
die('</body></html>');
|
||||
}
|
||||
<?php
|
||||
if (!isset($_FILES["newHD"]) || $_FILES["newHD"]["tmp_name"] == "" || $_FILES["newHD"]["size"] == "" || ($_FILES["newHD"]["size"] + 0) == 0)
|
||||
{
|
||||
echo '<center>', _('prod::substitution::erreur : document de substitution invalide'), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
die('</body></html>');
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
$record = new record_adapter($parm['sbas_id'], $parm['record_id']);
|
||||
$record->substitute_subdef('document', new system_file($_FILES["newHD"]["tmp_name"]));
|
||||
if($parm['ccfilename'] == '1')
|
||||
{
|
||||
$record->set_original_name($_FILES["newHD"]["name"]);
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
echo '<center>', $e->getMessage(), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
die('</body></html>');
|
||||
}
|
||||
try
|
||||
{
|
||||
$record = new record_adapter($parm['sbas_id'], $parm['record_id']);
|
||||
$record->substitute_subdef('document', new system_file($_FILES["newHD"]["tmp_name"]));
|
||||
if ($parm['ccfilename'] == '1')
|
||||
{
|
||||
$record->set_original_name($_FILES["newHD"]["name"]);
|
||||
}
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
echo '<center>', $e->getMessage(), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
die('</body></html>');
|
||||
}
|
||||
|
||||
echo '<center>', _('prod::substitution::document remplace avec succes'), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
?>
|
||||
echo '<center>', _('prod::substitution::document remplace avec succes'), '<br/><br/>';
|
||||
echo "<a href=\"#\" onClick=\"parent.hideDwnl();return false;\">" . _('boutton::fermer') . "</a>";
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -61,7 +61,7 @@ if ($parm["act"] == "START" || $parm["act"] == "WORK")
|
||||
foreach ($lst as $basrec)
|
||||
{
|
||||
$basrec = explode('_', $basrec);
|
||||
$record = new record_adapter($barec[0], $basrec[1]);
|
||||
$record = new record_adapter($basrec[0], $basrec[1]);
|
||||
|
||||
if ($record->is_grouping())
|
||||
{
|
||||
|
@@ -281,7 +281,7 @@ function dropOnBask(event,from,destKey)
|
||||
{
|
||||
sselcont = [];
|
||||
lstbr = p4.sel.join(';');
|
||||
if($(from).hasClass('.baskAdder'))
|
||||
if($(from).hasClass('baskAdder'))
|
||||
lstbr = $(from).attr('id').split('_').slice(2,4).join('_');
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user