From d4d32e944aeb5a75861f32645d3f1a7cc51b95aa Mon Sep 17 00:00:00 2001 From: hendrowicaksono Date: Wed, 15 Jun 2016 09:42:34 +0700 Subject: [PATCH 1/2] Update uid in biblio and adding uid support in item table. --- admin/modules/bibliography/index.php | 1 + admin/modules/bibliography/item.php | 2 ++ install/senayan.sql | 2 ++ install/senayan.sql.php | 2 ++ upgrade/upgrade_slims7_cendana_x.sql | 2 ++ 5 files changed, 9 insertions(+) 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/upgrade/upgrade_slims7_cendana_x.sql b/upgrade/upgrade_slims7_cendana_x.sql index 20318c4..62954d2 100644 --- a/upgrade/upgrade_slims7_cendana_x.sql +++ b/upgrade/upgrade_slims7_cendana_x.sql @@ -1,2 +1,4 @@ ALTER TABLE `biblio` ADD `uid` INT( 11 ) NULL DEFAULT NULL , +ADD INDEX ( `uid` ) ; +ALTER TABLE `item` ADD `uid` INT( 11 ) NULL DEFAULT NULL , ADD INDEX ( `uid` ) ; \ No newline at end of file From 2127263c48ea658511d7356cbeda90e906062024 Mon Sep 17 00:00:00 2001 From: hendrowicaksono Date: Wed, 15 Jun 2016 16:50:40 +0700 Subject: [PATCH 2/2] Update file download for office docs. --- lib/contents/fstream.inc.php | 139 ++++++++++++++++++----------------- 1 file changed, 70 insertions(+), 69 deletions(-) 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 ''.$file_d['file_title'].''; - echo ""; - echo ''; - 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 { - header('Content-Disposition: inline; filename="'.basename($file_loc).'"'); - header('Content-Type: '.$file_d['mime_type']); - readfile($file_loc); - exit(); + @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 ''.$file_d['file_title'].''; + echo ""; + echo ''; + exit(); + } else { + header('Content-Disposition: inline; filename="'.basename($file_loc).'"'); + header('Content-Type: '.$file_d['mime_type']); + readfile($file_loc); + exit(); } + } else { + header('Content-Disposition: Attachment; filename="'.basename($file_loc).'"'); + header('Content-Type: '.$file_d['mime_type']); + readfile($file_loc); + exit(); } - exit(); + } + exit(); } else { die('
File Not Found!
'); }