Skip to content
Snippets Groups Projects
Commit 8c5b864f authored by Florian Azizian's avatar Florian Azizian
Browse files

FIX #7988 add controle in js backdate

parent 9c010ab2
No related branches found
No related tags found
No related merge requests found
......@@ -59,8 +59,7 @@ class request extends dbquery
public function PDOselect($select, $where, $parameters = null, $other, $database_type, $limit="default", $left_join=false, $first_join_table="", $second_join_table="", $join_key="", $add_security = true, $catch_error = false, $distinct_argument = false)
{
$db = new Database();
if($limit == 0 || $limit == "default")
{
if ($limit == 0 || $limit == "default") {
$limit = $_SESSION['config']['databasesearchlimit'];
}
......@@ -69,18 +68,16 @@ class request extends dbquery
$table = '';
$table_string = '';
$field_string = '';
foreach (array_keys($select) as $value)
{
foreach (array_keys($select) as $value) {
$table = $value;
$table_string .= $table.",";
foreach ($select[$value] as $subvalue)
{
foreach ($select[$value] as $subvalue) {
$field = $subvalue;
$field_string .= $table.".".$field.",";
//fix order by alt_identifier
if($field == 'alt_identifier'){
if ($field == 'alt_identifier') {
$field_string .= "order_alphanum(alt_identifier),";
}
}
......@@ -91,26 +88,20 @@ class request extends dbquery
$field_string = substr($field_string, 0, -1);
//Extracts data from the second argument : the where clause
if (trim($where) <> "")
{
if (trim($where) <> "") {
$where_string = $where;
//$where_string = " where ".$where;
}
else
{
} else {
$where_string = "";
}
$join = '';
if($left_join)
{
$join = '';
if ($left_join) {
//Reste table string
$table_string = "";
//Add more table in join syntax
foreach (array_keys($select) as $value)
{
if ($value <> $first_join_table && $value <> $second_join_table)
{
foreach (array_keys($select) as $value) {
if ($value <> $first_join_table && $value <> $second_join_table) {
$table_string = $value.",";
}
}
......@@ -120,21 +111,14 @@ class request extends dbquery
$join .= $second_join_table." on ".$second_join_table.".".$join_key." = ".$first_join_table.".".$join_key;
}
if($add_security)
{
foreach(array_keys($_SESSION['user']['security']) as $coll)
{
if(isset($_SESSION['user']['security'][$coll]['DOC']['table']))
{
if(preg_match('/'.$_SESSION['user']['security'][$coll]['DOC']['table'].'/',$table_string) || preg_match('/'.$_SESSION['user']['security'][$coll]['DOC']['view'].'/',$table_string) )
{
if(empty($where_string))
{
if ($add_security) {
foreach (array_keys($_SESSION['user']['security']) as $coll) {
if (isset($_SESSION['user']['security'][$coll]['DOC']['table'])) {
if (preg_match('/'.$_SESSION['user']['security'][$coll]['DOC']['table'].'/', $table_string) || preg_match('/'.$_SESSION['user']['security'][$coll]['DOC']['view'].'/', $table_string)) {
if (empty($where_string)) {
$where_string = "( ".$_SESSION['user']['security'][$coll]['DOC']['where']." ) ";
//$where_string = " where ( ".$_SESSION['user']['security'][$coll]['DOC']['where']." ) ";
}
else
{
} else {
$where_string = ''.$where_string." and ( ".$_SESSION['user']['security'][$coll]['DOC']['where']." ) ";
}
break;
......@@ -145,8 +129,7 @@ class request extends dbquery
//Time to create the SQL Query
$query = "";
$dist = '';
if($distinct_argument == true)
{
if ($distinct_argument == true) {
$dist = " distinct ";
}
......@@ -159,18 +142,14 @@ class request extends dbquery
$res_query = $db->query($query, $parameters, $catch_error);
if($catch_error && !$res_query)
{
if ($catch_error && !$res_query) {
return false;
}
$result=array();
while($line = $res_query->fetch(PDO::FETCH_ASSOC))
{
while ($line = $res_query->fetch(PDO::FETCH_ASSOC)) {
$temp= array();
foreach (array_keys($line) as $resval)
{
if (!is_int($resval))
{
foreach (array_keys($line) as $resval) {
if (!is_int($resval)) {
array_push(
$temp,
array(
......@@ -180,10 +159,9 @@ class request extends dbquery
);
}
}
array_push($result,$temp);
array_push($result, $temp);
}
if(count($result) == 0 && $catch_error)
{
if (count($result) == 0 && $catch_error) {
return true;
}
return $result;
......@@ -204,7 +182,7 @@ class request extends dbquery
$value_string = "( ";
$parameters = array();
for ($i=0;$i<count($data);$i++) {
if(
if (
trim(strtoupper($data[$i]['value'])) == "SYSDATE"
|| trim(strtoupper($data[$i]['value'])) == "CURRENT_TIMESTAMP"
) {
......@@ -247,13 +225,13 @@ class request extends dbquery
$parameters = array();
for ($i=0; $i < count($data);$i++) {
if ($data[$i]['type'] == "string" || $data[$i]['type'] == "date") {
if ($databasetype == "POSTGRESQL" && $data[$i]['type'] == "date"
if ($databasetype == "POSTGRESQL" && $data[$i]['type'] == "date"
&& ($data[$i]['value'] == '' || $data[$i]['value'] == ' ')) {
$update_string .= $data[$i]['column']."=NULL,";
} else {
if (trim(strtoupper($data[$i]['value'])) == "SYSDATE") {
$update_string .= $data[$i]['column']."=sysdate,";
} elseif(trim(strtoupper($data[$i]['value'])) == "CURRENT_TIMESTAMP") {
} elseif (trim(strtoupper($data[$i]['value'])) == "CURRENT_TIMESTAMP") {
$update_string .= $data[$i]['column']."=CURRENT_TIMESTAMP,";
} else {
$update_string .= $data[$i]['column']."=?,";
......@@ -262,10 +240,10 @@ class request extends dbquery
}
} else {
if ($data[$i]['value'] == 'NULL') {
$update_string .= $data[$i]['column']."=NULL,";
$update_string .= $data[$i]['column']."=NULL,";
} else {
$update_string .= $data[$i]['column']."=?,";
$parameters[] = $data[$i]['value'];
$parameters[] = $data[$i]['value'];
}
}
}
......@@ -304,14 +282,12 @@ class request extends dbquery
*************************************************************************/
public function extract_date($date_field, $arg = '')
{
switch ($_SESSION['config']['databasetype'])
{
switch ($_SESSION['config']['databasetype']) {
case "SQLSERVER":
return '';
case "MYSQL":
switch($arg)
{
switch ($arg) {
case 'year' : return ' date_format('.$date_field.', %Y)';
case 'month' : return ' date_format('.$date_field.', %m)';
case 'day' : return ' date_format('.$date_field.', %d)';
......@@ -322,8 +298,7 @@ class request extends dbquery
}
case "POSTGRESQL":
switch($arg)
{
switch ($arg) {
case 'year' : return " date_part( 'year', ".$date_field.")";
case 'month' : return " date_part( 'month', ".$date_field.")";
case 'day' : return " date_part( 'day', ".$date_field.")";
......@@ -334,8 +309,7 @@ class request extends dbquery
}
case "ORACLE":
switch($arg)
{
switch ($arg) {
case 'year' : return " to_char(".$date_field.", 'YYYY')";
case 'month' : return " to_char(".$date_field.", 'MM')";
case 'day' : return " to_char(".$date_field.", 'DD')";
......
......@@ -37,7 +37,7 @@
* @ingroup core
*/
class resource extends request
{
{
/**
* Resource identifier
......@@ -129,11 +129,11 @@
* @param $data array Data array
* @param $databasetype string Type of the db (MYSQL, SQLSERVER, ...)
*/
function load_into_db($table_res, $path, $filename, $docserver_path, $docserver_id, $data, $databasetype, $calledByWs=false)
public function load_into_db($table_res, $path, $filename, $docserver_path, $docserver_id, $data, $databasetype, $calledByWs=false)
{
$filetmp = $docserver_path;
$tmp = $path;
$tmp = str_replace('#',DIRECTORY_SEPARATOR,$tmp);
$tmp = str_replace('#', DIRECTORY_SEPARATOR, $tmp);
$filetmp .= $tmp;
$filetmp .= $filename;
$db = new Database();
......@@ -151,26 +151,20 @@
array_push($data, array('column' => "path", 'value' => $path, 'type' => "string"));
array_push($data, array('column' => "filename", 'value' => $filename, 'type' => "string"));
array_push($data, array('column' => 'creation_date', 'value' => $db->current_datetime(), 'type' => "function"));
if(!$this->check_basic_fields($data))
{
if (!$this->check_basic_fields($data)) {
$_SESSION['error'] = $this->error;
functions::xecho($this->error);
return false;
}
else
{
if(!$this->insert($table_res, $data, $_SESSION['config']['databasetype']))
{
} else {
if (!$this->insert($table_res, $data, $_SESSION['config']['databasetype'])) {
if (!$calledByWs) {
$this->error = _INDEXING_INSERT_ERROR."<br/>".$this->show();
}
return false;
}
else
{
} else {
$db2 = new Database();
$stmt = $db2->query(
"select res_id from " . $table_res
"select res_id from " . $table_res
. " where docserver_id = ? and path = ? and filename= ? order by res_id desc ",
array(
$docserver_id,
......@@ -179,8 +173,7 @@
)
);
$res = $stmt->fetchObject();
if($table_res == 'res_letterbox'){
if ($table_res == 'res_letterbox') {
require_once("core".DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_history.php");
$hist = new history();
$hist->add(
......@@ -226,77 +219,49 @@
$find_fingerprint = false;
$find_filesize = false;
$find_status = false;
for($i=0; $i < count($data);$i++)
{
if($data[$i]['column'] == 'format')
{
for ($i=0; $i < count($data);$i++) {
if ($data[$i]['column'] == 'format') {
$find_format = true;
// must be tested in the file_index.php file (module = indexing_searching)
}
elseif($data[$i]['column'] == 'typist' )
{
} elseif ($data[$i]['column'] == 'typist') {
$find_typist = true;
}
elseif($data[$i]['column'] == 'creation_date')
{
} elseif ($data[$i]['column'] == 'creation_date') {
$find_creation_date = true;
if($data[$i]['value'] <> $db->current_datetime())
{
if ($data[$i]['value'] <> $db->current_datetime()) {
$error .= _CREATION_DATE_ERROR.'<br/>';
}
}
elseif($data[$i]['column'] == 'docserver_id')
{
} elseif ($data[$i]['column'] == 'docserver_id') {
$find_docserver_id = true;
$db = new Database();
if(!$db->query("select docserver_id from ".$_SESSION['tablename']['docservers']." where docserver_id = ?", array($data[$i]['value'])))
{
if (!$db->query("select docserver_id from ".$_SESSION['tablename']['docservers']." where docserver_id = ?", array($data[$i]['value']))) {
$error .= _DOCSERVER_ID_ERROR.'<br/>';
}
}
elseif($data[$i]['column'] == 'path' )
{
} elseif ($data[$i]['column'] == 'path') {
$find_path = true;
if( empty($data[$i]['value']))
{
if (empty($data[$i]['value'])) {
$error .= _PATH_ERROR.'<br/>';
}
}
elseif($data[$i]['column'] == 'filename' )
{
} elseif ($data[$i]['column'] == 'filename') {
$find_filename = true;
//if(!preg_match("/^[0-9]+.([a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]?|maarch)$/", $data[$i]['value']))
if(!preg_match("/^[\w-.]+.([a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9]?|maarch)$/", $data[$i]['value']))
{
if (!preg_match("/^[\w-.]+.([a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9]?|maarch)$/", $data[$i]['value'])) {
$error .= _FILENAME_ERROR . ' ' . $data[$i]['value'] . '<br/>';
}
}
elseif($data[$i]['column'] == "offset_doc")
{
} elseif ($data[$i]['column'] == "offset_doc") {
$find_offset = true;
}
elseif($data[$i]['column'] == 'logical_adr')
{
} elseif ($data[$i]['column'] == 'logical_adr') {
$find_logical_adr = true;
}
elseif($data[$i]['column'] == 'fingerprint' )
{
} elseif ($data[$i]['column'] == 'fingerprint') {
$find_fingerprint = true;
if(!preg_match("/^[0-9A-Fa-f]+$/", $data[$i]['value']))
{
if (!preg_match("/^[0-9A-Fa-f]+$/", $data[$i]['value'])) {
$error .= _FINGERPRINT_ERROR.'<br/>';
}
}
elseif($data[$i]['column'] == 'filesize' )
{
} elseif ($data[$i]['column'] == 'filesize') {
$find_filesize = true;
if( $data[$i]['value'] <= 0)
{
if ($data[$i]['value'] <= 0) {
$error .= _FILESIZE_ERROR.'<br/>';
}
}
elseif($data[$i]['column'] == 'status' )
{
} elseif ($data[$i]['column'] == 'status') {
$find_status = true;
/*if( !preg_match("/^[A-Z][A-Z][A-Z][A-Z]*$/", $data[$i]['value']))
{
......@@ -305,58 +270,44 @@
}
}
if($find_format == false)
{
if ($find_format == false) {
$error .= _MISSING_FORMAT.'<br/>';
}
if($find_typist == false)
{
if ($find_typist == false) {
$error .= _MISSING_TYPIST.'<br/>';
}
if($find_creation_date == false)
{
if ($find_creation_date == false) {
$error .= _MISSING_CREATION_DATE.'<br/>';
}
if($find_docserver_id == false)
{
if ($find_docserver_id == false) {
$error .= _MISSING_DOCSERVER_ID.'<br/>';
}
if($find_path == false)
{
if ($find_path == false) {
$error .= _MISSING_PATH.'<br/>';
}
if($find_filename == false)
{
if ($find_filename == false) {
$error .= _MISSING_FILENAME.'<br/>';
}
if($find_offset == false)
{
if ($find_offset == false) {
$error .= _MISSING_OFFSET.'<br/>';
}
if($find_logical_adr == false)
{
if ($find_logical_adr == false) {
$error .= _MISSING_LOGICAL_ADR.'<br/>';
}
if($find_fingerprint == false)
{
if ($find_fingerprint == false) {
$error .= _MISSING_FINGERPRINT.'<br/>';
}
if($find_filesize == false)
{
if ($find_filesize == false) {
$error .= _MISSING_FILESIZE.'<br/>';
}
if($find_status == false)
{
if ($find_status == false) {
$error .= _MISSING_STATUS.'<br/>';
}
$this->error = $error;
if(!empty($error))
{
if (!empty($error)) {
return false;
}
else
{
} else {
return true;
}
}
......@@ -369,22 +320,22 @@
* @param $whereClause security clause
* @return array of adr fields if is ok
*/
public function getResourceAdr($view, $resId, $whereClause, $adrTable) {
public function getResourceAdr($view, $resId, $whereClause, $adrTable)
{
$control = array();
if(!isset($view) || empty($resId) || empty($whereClause)) {
if (!isset($view) || empty($resId) || empty($whereClause)) {
$control = array("status" => "ko", "error" => _PB_WITH_ARGUMENTS);
return $control;
}
$docserverAdr = array();
$db = new Database();
$query = "select res_id, docserver_id, path, filename, format, fingerprint, offset_doc, is_multi_docservers from " . $view
$query = "select res_id, docserver_id, path, filename, format, fingerprint, offset_doc, is_multi_docservers from " . $view
. " where res_id = ? ". $whereClause;
$stmt = $db->query($query, array($resId));
if ($stmt->rowCount() > 0) {
$line = $stmt->fetchObject();
$format = $line->format;
if($line->is_multi_docservers == "Y") {
if ($line->is_multi_docservers == "Y") {
if (
$adrTable == 'adr_letterbox' ||
$adrTable == 'adr_attachments' ||
......@@ -394,11 +345,11 @@
if ($adrTable == 'adr_x') {
$adrTable = 'adr_letterbox';
}
$query = "select res_id, docserver_id, path, filename, offset_doc, fingerprint, adr_priority from "
$query = "select res_id, docserver_id, path, filename, offset_doc, fingerprint, adr_priority from "
. $adrTable . " where res_id = ? order by adr_priority";
$stmt = $db->query($query, array($resId));
if ($stmt->rowCount() > 0) {
while($line = $stmt->fetchObject()) {
while ($line = $stmt->fetchObject()) {
array_push($docserverAdr, array("docserver_id" => $line->docserver_id, "path" => $line->path, "filename" => $line->filename, "format" => $format, "fingerprint" => $line->fingerprint, "offset_doc" => $line->offset_doc, "adr_priority" => $line->adr_priority));
}
} else {
......@@ -419,4 +370,4 @@
return $control;
}
}
}
}
......@@ -809,7 +809,6 @@ function showContactInfo(target,contactTarget,addressTarget) {
}
function checkEffectiveDateStatus(effectiveDateStatus) {
console.log($j('#'+effectiveDateStatus.id).val());
if ($j('#'+effectiveDateStatus.id).val() == 'NO_RTURN') {
$j('#'+effectiveDateStatus.id).parent().find('[name=back_date\\[\\]]').val('');
$j('#'+effectiveDateStatus.id).parent().find('[name=back_date\\[\\]]').prop('disabled',true);
......
......@@ -177,6 +177,9 @@ function showAppletLauncher(target, resId, objectTable, objectType, mode) {
var chrono = $j('#'+target.id).parent().parent().find('[name=chrono\\[\\]]').val();
var title = cleanTitle($j('#'+target.id).parent().parent().find('[name=title\\[\\]]').val());
var back_date = $j('#'+target.id).parent().parent().find('[name=back_date\\[\\]]').val();
if (typeof back_date === "undefined") {
back_date = '';
}
var backDateStatus = $j('#'+target.id).parent().parent().find('[name=backDateStatus\\[\\]]').val();
var path = 'index.php?display=true&module=content_management&page=applet_modal_launcher&uniqueId='+attachNum+'&objectType='+objectType+'&objectId='+templateOffice+'&attachType='+attachment_types+'&objectTable=' + objectTable + '&contactId='+contactidAttach+'&addressId='+addressidAttach+'&chronoAttachment='+chrono+'&titleAttachment='+title+'&backDateStatus='+backDateStatus+'&back_date='+back_date+'&resMaster=' + resId
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment