diff --git a/admin/modules/bibliography/index.php b/admin/modules/bibliography/index.php index bc6a52b..747f65a 100755 --- a/admin/modules/bibliography/index.php +++ b/admin/modules/bibliography/index.php @@ -202,6 +202,7 @@ /* UPDATE RECORD MODE */ // remove input date unset($data['input_date']); + unset($data['uid']); // filter update record ID $updateRecordID = (integer)$_POST['updateRecordID']; // update data diff --git a/admin/modules/bibliography/item.php b/admin/modules/bibliography/item.php index cedf32b..70a802f 100755 --- a/admin/modules/bibliography/item.php +++ b/admin/modules/bibliography/item.php @@ -96,6 +96,7 @@ $data['price'] = preg_replace('@[.,\-a-z ]@i', '', strip_tags($_POST['price'])); $data['input_date'] = date('Y-m-d H:i:s'); $data['last_update'] = date('Y-m-d H:i:s'); + $data['uid'] = $_SESSION['uid']; // create sql op object $sql_op = new simbio_dbop($dbs); @@ -103,6 +104,7 @@ /* UPDATE RECORD MODE */ // remove input date unset($data['input_date']); + unset($data['uid']); // filter update record ID $updateRecordID = (integer)$_POST['updateRecordID']; // update the data diff --git a/install/senayan.sql b/install/senayan.sql index 3669146..da7c055 100755 --- a/install/senayan.sql +++ b/install/senayan.sql @@ -296,9 +296,11 @@ CREATE TABLE IF NOT EXISTS `item` ( `invoice_date` date default NULL, `input_date` datetime NOT NULL, `last_update` datetime default NULL, + `uid` int(11) default NULL, PRIMARY KEY (`item_id`), UNIQUE KEY `item_code` (`item_code`), KEY `item_references_idx` (`coll_type_id`,`location_id`,`item_status_id`), + KEY `uid` (`uid`), KEY `biblio_id_idx` (`biblio_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; diff --git a/install/senayan.sql.php b/install/senayan.sql.php index 381d012..a6b3011 100755 --- a/install/senayan.sql.php +++ b/install/senayan.sql.php @@ -186,9 +186,11 @@ `invoice_date` date default NULL, `input_date` datetime NOT NULL, `last_update` datetime default NULL, + `uid` int(11) default NULL, PRIMARY KEY (`item_id`), UNIQUE KEY `item_code` (`item_code`), KEY `item_references_idx` (`coll_type_id`,`location_id`,`item_status_id`), + KEY `uid` (`uid`), KEY `biblio_id_idx` (`biblio_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;"; diff --git a/lib/contents/fstream.inc.php b/lib/contents/fstream.inc.php index 2b6ad7a..9afd0eb 100755 --- a/lib/contents/fstream.inc.php +++ b/lib/contents/fstream.inc.php @@ -36,85 +36,86 @@ $sql_q = 'SELECT att.*, f.* FROM biblio_attachment AS att LEFT JOIN files AS f ON att.file_id=f.file_id WHERE att.file_id='.$fileID.' AND att.biblio_id='.$biblioID.' AND att.access_type=\'public\''; -/* -die('SELECT att.*, f.* FROM biblio_attachment AS att - LEFT JOIN files AS f ON att.file_id=f.file_id - WHERE att.file_id='.$fileID.' AND att.biblio_id='.$biblioID.' AND att.access_type=\'public\''); -*/ + $file_q = $dbs->query($sql_q); $file_d = $file_q->fetch_assoc(); if ($file_q->num_rows > 0) { - $file_loc = REPOBS.'/'.$file_d['file_dir'].'/'.$file_d['file_name']; - if (file_exists($file_loc)) { - // check access limit - if ($file_d['access_limit']) { - if (utility::isMemberLogin()) { - $allowed_mem_types = @unserialize($file_d['access_limit']); - if (!in_array($_SESSION['m_member_type_id'], $allowed_mem_types)) { - # Access to file restricted - # Member logged in but doesnt have privilege to download - header("location:index.php"); - exit(); - } - } else { - header("location:index.php"); - exit(); - } + $file_loc = REPOBS.'/'.$file_d['file_dir'].'/'.$file_d['file_name']; + if (file_exists($file_loc)) { + // check access limit + if ($file_d['access_limit']) { + if (utility::isMemberLogin()) { + $allowed_mem_types = @unserialize($file_d['access_limit']); + if (!in_array($_SESSION['m_member_type_id'], $allowed_mem_types)) { + # Access to file restricted + # Member logged in but doesnt have privilege to download + header("location:index.php"); + exit(); + } + } else { + header("location:index.php"); + exit(); } + } - if ($file_d['mime_type'] == 'application/pdf') { - $swf = basename($file_loc); - $swf = sha1($swf); - $swf = $swf.'.swf'; - if (!file_exists('files/swfs/'.$swf.'')) { - if (stripos(PHP_OS, 'Darwin') !== false) { - @exec('lib/swftools/bin/darwin/pdf2swf -o files/swfs/'.$swf.' "'.$file_loc.'"'); - } else if (stripos(PHP_OS, 'Linux') !== false) { - if (PHP_INT_SIZE === 8) { // 64-bit - @exec('lib/swftools/bin/linux/pdf2swf64 -o files/swfs/'.$swf.' "'.$file_loc.'"'); - } else { - @exec('lib/swftools/bin/linux/pdf2swf -o files/swfs/'.$swf.' "'.$file_loc.'"'); - } - } else { - @exec('lib\swftools\bin\windows\pdf2swf.exe -o files/swfs/'.$swf.' "'.$file_loc.'"'); - } - } - if ($sysconf['pdf']['viewer'] == 'zviewer') { - header('Location: ./js/zviewer/index.php?swf='.$swf.'&fid='.$fileID.'&bid='.$biblioID); - } else if ($sysconf['pdf']['viewer'] == 'pdfjs') { - header('Location: ./js/pdfjs/web/viewer.html?file=../../../repository/'.$file_d['file_dir'].'/'.$file_d['file_name']); - } - exit(); - } else if (preg_match('@(image)/.+@i', $file_d['mime_type'])) { - if ($sysconf['watermark']['enable']) { - $imgurl = 'lib/watermark/phpThumb.php?src=../../repository/'.$file_d['file_dir'].'/'.basename($file_loc); - if ($sysconf['watermark']['type'] == 'text') { - $imgurl .= '&fltr[]=wmt|'; - $imgurl .= $sysconf['watermark']['text'].'|'; - $imgurl .= $sysconf['watermark']['sizeoftext'].'|'; - $imgurl .= $sysconf['watermark']['alignment'].'|'; - $imgurl .= $sysconf['watermark']['color'].'||'; - $imgurl .= $sysconf['watermark']['opacity']; - } elseif ($sysconf['watermark']['type'] == 'image') { - $imgurl .= '&fltr[]=wmi|'; - $imgurl .= $sysconf['watermark']['image'].'|'; - $imgurl .= $sysconf['watermark']['alignment'].'|'; - $imgurl .= $sysconf['watermark']['opacity']; - } - echo '