5.1 Kesimpulan
1. Dengan adanya sistem publikasi jurnal per terbitan berbasis web pada
Universitas U’budiyah Indonesia, maka dapat memudahkan dosen maupun
mahasiswa untuk mencari jurnal elektronik sebagai suatu sumber atau referensi secara praktis.
2. Selain menghasilkan output dokumen berupa artikel jurnal yang dapat langsung diunduh oleh pengguna dalam ekstensi PDF, sistem ini juga memberi hasil keluaran berupa URL artikel jurnal sehingga memungkinkan dosen untuk menyisipkan URL penelitiannya di SIMLITABMAS Kinerja. 3. Penggunaan meta tag pada halaman artikel jurnal dapat membuat sistem
mudah dikenali oleh indeks Google Scholar yang juga berimplikasi pada hasil pemeringkatan Webometrics.
5.2 Saran
1. Pada halaman profil hendaknya terdapat fasilitas untuk mengunggah gambar avatar sebagai foto profil pengguna.
2. Perlu diterapkan mekanisme OAI-PMH sebagai web service agar koleksi jurnal pada sistem dapat di-harvest secara otomatis oleh aplikasi harvester
berstandar OAI-PMH seperti Garuda (Garda Rujukan DIKTI) dan lain-lain. 3. Penulisan script PHP untuk membangun sistem hendaknya mengikuti aturan
MVC (Model Controller View) agar mudah dalam melakukan maintenance ataupun pengembangan sistem karena sudah ada pola tertentu dalam sebuah kerangka kerja (framework).
4. Hendaknya pada setiap halaman pengguna terdapat penghitung waktu mundur (countdown timer) untuk membatasi waktu session yang digunakan saat pengguna masih dalam keadaan login, sehingga ketika waktu pada countdown timer tersebut telah habis maka pengguna otomatis logout dari sistem. Hal ini dapat menghindari terjadinya penyalahgunaan data oleh orang lain apabila pengguna lupa logout dari sistem.
61
DAFTAR PUSTAKA
Andri, Kristanto. 2003. Perancangan Sistem Informasi dan Aplikasi. Yogyakarta: Gava Media.
Inclusion Guidelines for Webmasters. http://scholar.google.com/intl/id/scholar/inc lusion.html#indexing. Diakses tanggal 27 Maret 2014.
Macam dan Jenis Jurnal. http://www.ditpertais.net/regulasi/jurnal/jur4.asp. Diakses tanggal 17 Maret 2014.
Mengenal Webometrics. http://fik.upnvj.ac.id/index.php?option=com_content &view=article&id=276. Diakses tanggal 18 Maret 2014.
Nugroho, B. 2005. Database Relasional dengan MySQL. ANDI Publisher: Yogyakarta.
Panduan Menulis Jurnal Ilmiah. http://edukasi.kompas.com/read/2012/02/09/1035 3179/Panduan.Menulis.Jurnal.ilmiah. Diakses tanggal 20 Maret 2014. Pelatihan E-Journal Berbasis Open Journal System (OJS).
http://www.um.ac.id/v2/news/2013/10/959. Diakses tanggal 18 Maret 2014.
Pembuatan Aplikasi Konversi Metadata Menggunakan Standar Open Archive
untuk Koleksi Artikel Elektronik Pusat Penelitian Universitas Kristen Petra. http://repo.pens.ac.id/226. Diakses tanggal 1 Mei 2015.
Peneliti Boleh Narsis di Google Scholar. http://ilmukomputer.org/2013/12/18/-pen eliti-boleh-narsis-di-google-scholar. Diakses tanggal 18 Maret 2014.
Rifai, M.A. 1995. Pegangan Gaya Penulisan, Penyuntingan dan Penerbitan Karya Ilmiah Indonesia. Yogyakarta: Gadjah Mada University Press. Rekayasa Perangkat Lunak Database Jurnal Ilmiah Berbasis Web.
http://www.unisbank.ac.id/ojs/index.php/fti1/article/viewFile/73/68. Diakses tanggal 1 Mei 2015.
Sublime Text 3. http://www.makemac.com/sublime-text-3-beta. Diakses tanggal
20 Maret 2014.
Sutarman. 2003. Membangun Aplikasi Web dengan PHP dan MySQL. Graha Ilmu: Yogyakarta.
Syafii, M. 2005. Panduan Membuat Aplikasi Database dengan PHP 5. ANDI Publisher: Yogyakarta.
Tentang Google Cendekia. http://scholar.google.co.id/intl/id/scholar/about.html. Diakses tanggal 18 Maret 2014.
62
63 Lampiran 1. Foto Wawancara
Wawancara dengan Direktorat Penelitian dan Pengabdian Masyarakat UUI, Banda Aceh
Workshop Akreditasi Jurnal Elektronik di Hotel Grand Angkasa, Medan
Diskusi Webometrics pada Pelatihan Penyelenggaraan Pengelolaan
64 Lampiran 2. Kode Program
Halaman Depan Sistem (index.php) <?php
if(!isset($_SESSION)) { session_start(); }
$_SESSION['AUTHORIZED_PAGE'] = 0;
include 'lib/conn.php';
include "lib/header.php";
include "lib/header_top_block.php";
include "lib/sidebar.php";
$query = "SELECT deskripsi_home FROM pengaturan";
$sql = mysql_query($query) or die("MySQL ERROR: ".mysql_error());
$hasil = mysql_fetch_array ($sql);
$deskripsi_home = $hasil['deskripsi_home'];
echo '<div style="margin-top:46px;">'.$deskripsi_home.'</div>';
$query_j = "SELECT * FROM jurnal";
$sql_j = mysql_query($query_j) or die("MySQL ERROR: ".mysql_error());
while($hasil_j = mysql_fetch_array ($sql_j)) {
$id_jurnal = $hasil_j['id_jurnal'];
$nama_jurnal = $hasil_j['nama_jurnal'];
$path = $hasil_j['path'];
$cover_jurnal = $hasil_j['cover_jurnal'];
$deskripsi = $hasil_j['deskripsi'];
echo '<div class="journal-list">';
echo '<a href="'.$base_url.'index/'.$path.'"><img
src="'.$base_url.'file/cov/'.$cover_jurnal.'" alt="Cover" class="cover- journal"></a>';
echo '<h3 class="journal-name"><a
href="'.$base_url.'index/'.$path.'">'.$nama_jurnal.'</a></h3>';
echo $deskripsi;
echo '<p> <a href="'.$base_url.'index/'.$path.'">Lihat Terbitan Terkini</a> </p>';
echo '</div>'; }
include "lib/footer.php";
?>
Halaman Kirim Naskah (penulis/artikel_add.php) <?php
include 'header_penulis.php';
include 'header_penulis_top_block.php';
include '../lib/sidebar.php';
?>
<a href="<?=$base_url?>penulis" style="margin-
top:13px;position:absolute;"><img title="Kembali" alt="Kembali"
src="<?=$base_url?>images/prev-green.png" /></a>
<?php
if(!isset($_SESSION)) { session_start(); }
$ID_PENULIS = $_SESSION['ID_PENULIS'];
?>
<center>
<h2>Kirim Naskah Untuk Direview</h2>
<br/>
<?php
65
$notifOpenPattern1 = '<center><div style="font-size:13px;font- weight:bold;text-align:center;width:50%;padding:20px
100px;background:#F8FFB5;color:green;border:1px solid green;">';
$notifOpenPattern2 = '</div></center><br/><br/>';
$cobaLagi = '<br/><br/> <a href="'.$base_url.'penulis/artikel- add">Coba lagi</a>';
# Terlebih dahulu, pastikan file ada diupload
foreach($_FILES as $sKey => $aFiles) {
for($h = 0, $hNumFiles = count($aFiles['tmp_name']); $h <
$hNumFiles; $h++) {
if($aFiles['name'][$h]==NULL) {
echo $notifOpenPattern1.'File tidak valid, pastikan anda juga mengunggah file naskah'.$cobaLagi.$notifOpenPattern2;
die();
}
$sFileName = $aFiles['name'][$h];
$ambilExt = (strtolower(substr(strrchr($sFileName,
'.'), 1))); // Get the file extension
if($ambilExt=='doc' || $ambilExt=='docx') { }
else { // Jika bukan doc atau docx maka tolak
echo $notifOpenPattern1.'Naskah tidak terkirim karena ekstensi file bukan <strong style="color:red;">doc atau
docx</strong>'.$cobaLagi.$notifOpenPattern2; die(); }
if($aFiles['size'][$h] > 2097152) { // Mengecek ukuran jika > 2 MB maka tolak
echo $notifOpenPattern1.'Naskah tidak terkirim karena ukuran file lebih dari <strong style="color:red;">2
MB</strong>'.$cobaLagi.$notifOpenPattern2; die(); }
} }
$id_jurnal = sanitize($_POST['jurnal'], 0);
if(empty($id_jurnal)) {echo $notifOpenPattern1.'Jurnal harus dipilih!'.$cobaLagi.$notifOpenPattern2; die();}
$query_e = "SELECT * FROM edisi WHERE id_jurnal=$id_jurnal ORDER BY id_edisi DESC LIMIT 0,1";
$sql_e = mysql_query($query_e) or die("MySQL ERROR: ".mysql_error());
$hasil_e = mysql_fetch_array($sql_e);
$id_edisi = $hasil_e['id_edisi']; // untuk sementara, hanya untuk penyimpanan edisi default dan nama file yang diupload
$judul = strtoupper(sanitize($_POST['judul'], 0));
if(empty($judul)) {echo $notifOpenPattern1.'Judul harus diisi!'.$cobaLagi.$notifOpenPattern2; die();}
$abstrak = sanitize($_POST['abstrak'], 1);
if(empty($abstrak)) {echo $notifOpenPattern1.'Abstrak harus diisi!'.$cobaLagi.$notifOpenPattern2; die();}
//cek apakah di abstrak ada tag <p> dan </p>, jika tidak maka tambahkan <p> di awal dan </p> di akhir
if(!preg_match("/<p>(.*)<\/p>/",$abstrak,$matches)) { $abstrak =
nl2p($abstrak); }
$kata_kunci = sanitize($_POST['kata_kunci'], 0);
$kata_kunci = str_replace(",",", ", $kata_kunci);
$resource_type = "Non Peer-reviewed Article"; // masih "belum" melalui proses review
$bahasa = sanitize($_POST['bahasa'], 0);
if(empty($bahasa)) {echo $notifOpenPattern1.'Bahasa harus dipilih!'.$cobaLagi.$notifOpenPattern2; die();}
66 if(empty($penulis)) {echo $notifOpenPattern1.'Penulis harus
diisi!'.$cobaLagi.$notifOpenPattern2; die();}
$pisah_penulis = explode(",", $penulis);
$data_penulis = array_filter($pisah_penulis);
// insert artikel
$query_simpan_art = "INSERT INTO artikel (id_artikel, id_edisi, tgl_submit, tgl_edit, judul, abstrak, kata_kunci, resource_type, page_num, bahasa, verified, dibaca, urutan_artikel) VALUES ('', '$id_edisi', NOW(), NOW(), '$judul', '$abstrak', '$kata_kunci', '$resource_type', '', '$bahasa', '0', '', '')";
$sql_simpan_art = mysql_query($query_simpan_art) or die("MySQL ERROR: ".mysql_error());
$id_art_baru_simpan = mysql_insert_id(); // ambil id_artikel yang baru disimpan
$urutan=1;
$i=1;
foreach ($data_penulis as $row_penulis) {
$query_simpan_penulis_art = "INSERT INTO tulis (id_artikel, id_penulis, urutan_penulis) VALUES ('$id_art_baru_simpan',
'$row_penulis', '$urutan')";
$sql_simpan_penulis_art = mysql_query($query_simpan_penulis_art)
or die("MySQL ERROR: ".mysql_error());
$urutan++; }
foreach($_FILES as $sKey => $aFiles) {
for($i = 0, $iNumFiles = count($aFiles['tmp_name']); $i <
$iNumFiles; $i++) {
if($aFiles['name'][$i]!=NULL) {
$sFileName = $aFiles['name'][$i];
$ambilExt =
(strtolower(substr(strrchr($sFileName, '.'), 1))); // Get the file extension
$iErrCode = $aFiles['error'][$i];
$sTmpFile = $aFiles['tmp_name'][$i];
$sTypeFile = $aFiles['type'][$i];
$buatName = $id_art_baru_simpan.'-
'.$id_edisi.'-'.$id_jurnal.'-'.time().'-BIW'; // Create new file name
$sNewFileName = $buatName.'.'.$ambilExt;
$dirTujuan = '../file/rev/'; // karena perlu direvisi
$sNewFileDest = $dirTujuan.''.$sNewFileName;
// It's complete new file name
if(isset($_SESSION['ID_ADMIN'])) { // tentukan id user yang mengupload file
$penulis_utama =
array_values($data_penulis)[0];
$uploader = $penulis_utama; }
elseif(isset($_SESSION['ID_PENULIS'])) {
$uploader = $_SESSION['ID_PENULIS']; }
elseif(isset($_SESSION['ID_REVIEWER'])) {
$uploader = $_SESSION['ID_REVIEWER']; }
if($iErrCode == UPLOAD_ERR_OK) {
$status = "Dalam Daftar Seleksi Naskah";
$query_simpan_file = "INSERT INTO file_artikel (id_file, id_artikel, uploader, file_name, file_type, tgl_upload, status, reviewed, komentar, diunduh, direkom_reviewer, rekomendasi) VALUES ('', '$id_art_baru_simpan', '$uploader',
67
$sql_simpan_file =
mysql_query($query_simpan_file) or die("MySQL ERROR: ".mysql_error());
// pindahkan file ke folder target
move_uploaded_file($sTmpFile,
$sNewFileDest);
// rekam history `log_artikel`
$user_direkam = $_SESSION['ID_PENULIS'];
$ip_addr = get_client_ip_env();
$file_dir = "file/rev/";
$query_rekam_log_art = "INSERT INTO log_artikel (id_artikel, id_user, peran, aktivitas, tgl, ip_addr, status, file_dir, file_name, catatan) VALUES ('$id_art_baru_simpan',
'$user_direkam', 'Penulis', 'mengirim naskah', NOW(), '$ip_addr', '$status', '$file_dir', '$sNewFileName', '')";
$sql_rekam_log_art =
mysql_query($query_rekam_log_art) or die("MySQL ERROR: ".mysql_error()); echo $notifOpenPattern1.'Terima kasih! Naskah berhasil dikirim. <br/>Saat ini status naskah Anda adalah <span style="color:#000;">Dalam Daftar Seleksi Naskah</span>. Selanjutnya, kami akan segera menetapkan reviewer untuk mereview naskah Anda jika naskah Anda layak untuk direview.
<br/><br/> Silahkan tunggu beberapa hari sampai status naskah ini <span style="color:#000;">Dalam Proses
Review</span>. Status naskah dapat dilihat di halaman <a
href="'.$base_url.'penulis">Dashboard</a>'.$notifOpenPattern2; die(); }
else {
echo $notifOpenPattern1.'<p style="color:red; font-weight:bold; text-align:center">Error while downloading the file "'.$sNewFileName.'"<br/> Error code:
"'.$iErrCode.'"<br/> Error message: "'.$this-
>_aErrFile[$iErrCode].'"</p>'.$cobaLagi.$notifOpenPattern2; die(); }
} // END "if" ngecek apa ada file yang diupload
}
} // END "foreach" upload file
}
# Perform the query to fetch all PENULIS to token input
$query = "SELECT id, nama_dpn, nama_blkg, email from user ORDER BY nama_dpn ASC";
$arr = array();
$rs = mysql_query($query);
# Collect the results
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj; }
# JSON-encode the response
$response = json_encode($arr, JSON_NUMERIC_CHECK);
?>
<script type="text/javascript">
$(document).ready(function() {
$("#penulis_prepop").tokenInput(<?php
# Perform the query
$query_prepop = "SELECT nama_dpn, nama_blkg, email FROM user WHERE id=$ID_PENULIS";
$sql_prepop = mysql_query($query_prepop);
$hasil_prepop = mysql_fetch_array($sql_prepop);
$nama_dpn_prepop = $hasil_prepop['nama_dpn'];
$nama_blkg_prepop = $hasil_prepop['nama_blkg'];
68
# Return the response
echo $response;
echo ', {'; echo "\n";
# Return the response prepop
echo ' prePopulate:
[{"id":'.$ID_PENULIS.',"nama_dpn":"'.$nama_dpn_prepop.'","nama_blkg":"'.$ nama_blkg_prepop.'","email":"'.$email_prepop.'","readonly":true}],'; echo
"\n";
?>
theme: "facebook",
propertyToSearch: "nama_dpn",
hintText: "Ketik nama depan penulis",
resultsFormatter: function(item){ return "<li>" + "<div
style='display: inline-block; padding-left: 10px;'><div class='nama'>" + item.nama_dpn + " " + item.nama_blkg + "</div><div class='email'>" + item.email + "</div></div></li>" },
tokenFormatter: function(item) { return "<li><p style='font- size:11px;'>" + item.nama_dpn + " " + item.nama_blkg + "</p></li>" },
preventDuplicates: true
}); });
</script>
<form action="" method="post" enctype="multipart/form-data">
<table width="80%" cellspacing="0">
<tr>
<td class="bio_td" style="padding-
top:19px;"><strong>Jurnal</strong></td>
<td class="bio_td" colspan="7" style="padding-
top:14px;width:215px;">
<select name="jurnal" id="jurnal" style="width:310px;margin-
left:2px;" required>
<?php
$query_jurnal = "SELECT id_jurnal, nama_jurnal FROM jurnal ORDER BY id_jurnal";
$sql_jurnal = mysql_query($query_jurnal) or die("MySQL ERROR: ".mysql_error());
echo '<option value="">--- Pilih jurnal ---</option>'; echo "\n";
while($hasil_jurnal = mysql_fetch_array($sql_jurnal)) {
echo '<option value="'.$hasil_jurnal['id_jurnal'].'"> '.$hasil_jurnal['nama_jurnal'].' </option>'; echo "\n"; } ?> </select> </td> </tr> <tr>
<td class="bio_td" style="padding-
top:17px;"><strong>Judul</strong></td>
<td class="bio_td" colspan="7"> <input type="text" name="judul"
size="85" required /></td> </tr>
<tr>
<td class="bio_td" style="vertical-align:top;padding-
top:17px;"><strong>Abstrak</strong></td>
<td class="bio_td" colspan="7"> <textarea class="abstrak"
name="abstrak" cols="85" required></textarea> </td> </tr>
<tr>
<td class="bio_td" style="padding-top:8px;"><strong>Kata
69
<td class="bio_td" colspan="7"> <input type="text"
name="kata_kunci" size="85" /></td> </tr>
<tr>
<td class="bio_td" style="padding-
top:19px;"><strong>Bahasa</strong></td>
<td class="bio_td" style="padding-top:14px;width:215px;">
<select name="bahasa" id="bahasa" style="width:165px;margin-
left:2px;" required>
<?php
$bahasa = array ("id", "en");
$bendera = array ("id", "gb");
echo '<option value="">--- Pilih bahasa ---</option>'; echo "\n";
for ($i=0;$i<=1;$i++) {
echo '<option value="'.$bahasa[$i].'" data-
image="'.$base_url.'images/blank.gif" data-imagecss="flag
'.$bendera[$i].'"> Bahasa '; if($bahasa[$i]=="id") {echo 'Indonesia'; }
else {echo 'Inggris';} echo '</option>'; echo "\n"; }
?>
</select> </td>
<td class="bio_td" style="padding-top:19px;padding-
right:22px;"><strong>File</strong></td>
<td class="bio_td" colspan="3" style="padding-left:0;"> <input
type="file" name="files[]" id="file" accept="application/msword, application/pdf, application/vnd.openxmlformats-
officedocument.wordprocessingml.document"
style="width:240px;float:right;" required /> </td> </tr>
<tr>
<td class="bio_td" style="padding-
top:17px;"><strong>Penulis</strong></td>
<td class="bio_td" colspan="7"> <input type="text" name="penulis"
id="penulis_prepop" required /> </td> </tr>
</table>
<input class="button" type="submit" value=" Kirim " name="Simpan"
id="Simpan" /></td> </form> <script> $(document).ready(function() { $("#jurnal").msDropdown(); $("#bahasa").msDropdown(); $('#Simpan').click(function() {
(new UploadBar).upload(); });
$('#Simpan').bind("click",function() {
var imgVal = $('[type=file]').val();
if(imgVal=='') {
alert("Silahkan unggah filenya juga");
return false; } }); $('#file').filestyle({ buttonBefore : true, buttonName : 'btn-success',
buttonText : ' Unggah File ', icon : false,
70 }); $('.abstrak').jqte({ format: false, fsize: false, color: false, ol: false, ul: false, outdent: false, indent: false, left: false, center: false, right: false, strike: false, rule: false, remove: false }); }) </script> <?php include '../lib/footer.php'; ?>
Halaman Review Naskah (reviewer/rekomendasi.php) <?php
include 'header_reviewer.php';
include 'header_reviewer_top_block.php';
include '../lib/sidebar.php';
?>
<a href="<?=$base_url?>reviewer" style="margin-
top:13px;position:absolute;"><img title="Kembali" alt="Kembali"
src="<?=$base_url?>images/prev-green.png" /></a>
<?php
if(!isset($_SESSION)) { session_start(); }
$ID_REVIEWER = $_SESSION['ID_REVIEWER'];
$notifOpenPattern1 = '<center><div style="font-size:13px;font- weight:bold;text-align:center;width:50%;padding:20px
100px;background:#F8FFB5;color:green;border:1px solid green;">';
$notifOpenPattern2 = '</div></center><br/><br/>';
if(!isset($_GET['i']) || $_GET['i']==NULL || !is_numeric($_GET['i'])) {
// jika tidak ada nilai variabel; atau ada nilai tapi bukan numerik;
echo '<br/>';
echo $notifOpenPattern1.'Naskah tidak valid <br/><br/> <a
href="javascript:history.back()">Kembali</a>'.$notifOpenPattern2; die(); }
else { // jika ada [i] maka
$id_nas = $_GET['i'];
$query_nas = "SELECT A.id_jurnal, B.id_edisi, C.judul, D.id_file, D.file_name, D.status FROM jurnal A, edisi B, artikel C, file_artikel D WHERE A.id_jurnal=B.id_jurnal AND B.id_edisi=C.id_edisi AND
C.id_artikel=D.id_artikel AND D.id_artikel=$id_nas";
$sql_nas = mysql_query($query_nas) or die("MySQL ERROR: ".mysql_error());
$hasil_nas = mysql_fetch_array($sql_nas);
$judul = $hasil_nas['judul'];
$id_file = $hasil_nas['id_file'];
$file_name = $hasil_nas['file_name'];
$status = $hasil_nas['status'];
$ext = (strtolower(substr(strrchr($file_name, '.'), 1))); // Get the file extension
71
}
$cobaLagi = '<br/><br/> <a
href="'.$base_url.'reviewer/rekomendasi/'.$id_nas.'">Coba lagi</a>';
?>
<center><h2>Rekomendasi</h2></center>
<?php
if(isset($_POST['Simpan'])) {
$rekomendasi = sanitize($_POST['rekomendasi'], 0);
if($rekomendasi=='Naskah Disetujui untuk Terbit') {
$status='Dalam Proses Layout';
$aktivitas='meninjau kelayakan naskah dan setuju untuk diterbitkan';
}
elseif($rekomendasi=='Revisi Diperlukan') {
$status='Dalam Proses Review';
$aktivitas='meninjau kelayakan naskah dan memberi rekomendasi: '.$rekomendasi;
}
elseif($rekomendasi=='Kirim Kembali untuk Direview') {
$status='Dalam Proses Review';
$aktivitas='meninjau kelayakan naskah dan memberi rekomendasi: '.$rekomendasi;
}
elseif($rekomendasi=='Kirim Ulang ke Tempat Lain') {
$status='Ditolak';
$aktivitas='meninjau kelayakan naskah dan meminta penulis agar mengirim ulang ke tempat lain';
}
elseif($rekomendasi=='Tolak Naskah') {
$status='Ditolak';
$aktivitas='meninjau kelayakan naskah dan menolak untuk diterbitkan';
}
elseif($rekomendasi=='Lihat Komentar') {
$status='Ditolak';
$aktivitas='meninjau kelayakan naskah, menolak untuk diterbitkan dan meminta penulis untuk membaca komentar reviewer';
}
else {
echo $notifOpenPattern1.'Rekomendasi tidak valid!'.$cobaLagi.$notifOpenPattern2; die();
}
$komentar = sanitize($_POST['komentar'], 1);
//cek apakah di abstrak ada tag <p> dan </p>, jika tidak maka tambahkan <p> di awal dan </p> di akhir
if(!preg_match("/<p>(.*)<\/p>/",$komentar,$matches)) {
$komentar = nl2p($komentar); }
# Terlebih dahulu, cek file ada diupload atau tidak
foreach($_FILES as $sKey => $aFiles) {
for($i = 0, $iNumFiles = count($aFiles['tmp_name']); $i <
$iNumFiles; $i++) {
if($aFiles['name'][$i]==NULL) {
// update rekom
$query_update_rekom = "UPDATE file_artikel SET tgl_upload=NOW(), status='$status', reviewed=1, komentar='$komentar', direkom_reviewer=1, rekomendasi='$rekomendasi' WHERE id_file=$id_file";
$sql_update_rekom =
mysql_query($query_update_rekom) or die("MySQL ERROR: ".mysql_error());
72
$resource_type = "Peer-reviewed Article";
$query_update_rt = "UPDATE artikel SET resource_type='$resource_type' WHERE id_artikel=$id_nas";
$sql_update_rt = mysql_query($query_update_rt)
or die("MySQL ERROR: ".mysql_error());
// rekam history `log_artikel`
$user_direkam = $_SESSION['ID_REVIEWER'];
$ip_addr = get_client_ip_env();
$query_rekam_log_art = "INSERT INTO
log_artikel (id_artikel, id_user, peran, aktivitas, tgl, ip_addr, status, file_dir, file_name, catatan) VALUES ('$id_nas', '$user_direkam',
'Reviewer', '$aktivitas', NOW(), '$ip_addr', '$status', '', '', '$komentar')";
$sql_rekam_log_art =
mysql_query($query_rekam_log_art) or die("MySQL ERROR: ".mysql_error());
echo $notifOpenPattern1.'Rekomendasi berhasil dikirim ke penulis <br/><br/><br/> <a
href="'.$base_url.'reviewer">Kembali ke Dashboard</a>'.$notifOpenPattern2; die();
}
else {
$sFileName = $aFiles['name'][$i];
$ambilExt =
(strtolower(substr(strrchr($sFileName, '.'), 1))); // Get the file extension
if($ambilExt=='doc' || $ambilExt=='docx') { }
else { // Jika bukan doc atau docx maka tolak
echo $notifOpenPattern1.'Naskah tidak terkirim karena ekstensi file bukan <strong style="color:red;">doc atau docx</strong>'.$cobaLagi.$notifOpenPattern2; die();
}
if($aFiles['size'][$i] > 2097152) { // Mengecek ukuran jika > 2 MB maka tolak
echo $notifOpenPattern.'Naskah tidak terkirim karena ukuran file lebih dari <strong style="color:red;">2 MB</strong>'.$cobaLagi.$notifOpenPattern2; die();
}
$iErrCode = $aFiles['error'][$i];
$sTmpFile = $aFiles['tmp_name'][$i];
$sTypeFile = $aFiles['type'][$i];
$buatName = $id_nas.'-'.time().'-REV'; // Create new file name
$sNewFileName = $buatName.'.'.$ambilExt;
$dirTujuan = '../file/rev/'; // kalau revisi => '../file/rev/'
$sNewFileDest = $dirTujuan.''.$sNewFileName;
// It's complete new file name
$sOldFileDest = $dirTujuan.''.$file_name; // It's complete new file name
if(isset($_SESSION['ID_ADMIN'])) { // tentukan id user yang mengupload file
$penulis_utama =
array_values($data_penulis)[0];
$uploader = $penulis_utama; }
elseif(isset($_SESSION['ID_PENULIS'])) {
$uploader = $_SESSION['ID_PENULIS']; }
elseif(isset($_SESSION['ID_REVIEWER'])) {
$uploader = $_SESSION['ID_REVIEWER']; }
73
{
// update rekom
$query_update_rekom = "UPDATE file_artikel SET uploader='$uploader', file_name='$sNewFileName', file_type='$sTypeFile', tgl_upload=NOW(), status='$status', reviewed=1, komentar='$komentar', direkom_reviewer=1, rekomendasi='$rekomendasi' WHERE id_file=$id_file";
$sql_update_rekom =
mysql_query($query_update_rekom) or die("MySQL ERROR: ".mysql_error());
// update resource_type
$resource_type = "Peer-Reviewed Article";
$query_update_rt = "UPDATE artikel SET resource_type='$resource_type' WHERE id_artikel=$id_nas";
$sql_update_rt =
mysql_query($query_update_rt) or die("MySQL ERROR: ".mysql_error());
// pindahkan file ke folder target
move_uploaded_file($sTmpFile,
$sNewFileDest);
// rekam history `log_artikel`
$user_direkam =
$_SESSION['ID_REVIEWER'];
$ip_addr = get_client_ip_env();
$file_dir = sanitize("file/rev/", 0);
$query_rekam_log_art = "INSERT INTO log_artikel (id_artikel, id_user, peran, aktivitas, tgl, ip_addr, status, file_dir, file_name, catatan) VALUES ('$id_nas', '$user_direkam',