Kustomisasi Kartu Anggota SLiMS 5

Write anything here about Membership module

Moderators: wynerst, buitenzorg812, purwoko, sutriadi, ido, Dicarve, ridorido

User avatar
jushadi
Posts: 35
Joined: 27 Sep 2011, 16:29
Location: Makassar
Contact:

Kustomisasi Kartu Anggota SLiMS 5

Post by jushadi » 29 Apr 2012, 09:21

wah capek tadi saya buat tutorial step by step dengan Bluefish dan Bluegriffon (editor yang saya pakai trims buat mas Muhtar Bin Syams akhirnya saya coba juga Bluefish, Kompozer juga mantap) pas timeout dan terlogout yang saya ketik hilang :cry: , lupa disimpan dulu :oops:
jadi supaya cepatnya saja ini kode lengkap yang sudah saya modifikasi

catatan:
ini adalah kode pada file "member_card_generator.php" yang terletak di folder ./admin/modules/membership/ untuk SLiMS 5 (Meranti)
semua file gambar sesuai di script css disimpan di folder "files"
logo yang digunakan bernama logo.png, jika namanya lain silakan cari di skrip "logo.png" di kode terlampir dan sesuaikan
yang belum dilakukan:
nama variabel di script css belum ada (masih nilai statik) jadi setting file "printed_settings.inc.php" untuk member_card belum digunakan
buat variabel baru sesuai kebutuhan (belum utak-atik script PHP-nya) silakan coba sesuaikan sendiri

Code: Select all

<?php
/**
 * Copyright (C) 2007,2008  Arie Nugraha (dicarve@yahoo.com)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

/* Member card print */

// key to authenticate
define('INDEX_AUTH', '1');

// main system configuration
require '../../../sysconfig.inc.php';
// IP based access limitation
require LIB_DIR.'ip_based_access.inc.php';
do_checkIP('smc');
do_checkIP('smc-membership');
// start the session
require SENAYAN_BASE_DIR.'admin/default/session.inc.php';
require SENAYAN_BASE_DIR.'admin/default/session_check.inc.php';
require SIMBIO_BASE_DIR.'simbio_GUI/table/simbio_table.inc.php';
require SIMBIO_BASE_DIR.'simbio_GUI/form_maker/simbio_form_table_AJAX.inc.php';
require SIMBIO_BASE_DIR.'simbio_GUI/paging/simbio_paging.inc.php';
require SIMBIO_BASE_DIR.'simbio_DB/datagrid/simbio_dbgrid.inc.php';
require SIMBIO_BASE_DIR.'simbio_DB/simbio_dbop.inc.php';

// privileges checking
$can_read = utility::havePrivilege('membership', 'r');

if (!$can_read) {
    die('<div class="errorBox">You dont have enough privileges to view this section</div>');
}

// local settings
$max_print = 10;

// clean print queue
if (isset($_GET['action']) AND $_GET['action'] == 'clear') {
    // update print queue count object
    echo '<script type="text/javascript">parent.$(\'#queueCount\').html(\'0\');</script>';
    utility::jsAlert(__('Print queue cleared!'));
    unset($_SESSION['card']);
    exit();
}

if (isset($_POST['itemID']) AND !empty($_POST['itemID']) AND isset($_POST['itemAction'])) {
    if (!$can_read) {
        die();
    }
    if (!is_array($_POST['itemID'])) {
        // make an array
        $_POST['itemID'] = array($_POST['itemID']);
    }
    // loop array
    if (isset($_SESSION['card'])) {
        $print_count = count($_SESSION['card']);
    } else {
        $print_count = 0;
    }
    // card size
    $size = 2;
    // create AJAX request
    echo '<script type="text/javascript" src="'.JS_WEB_ROOT_DIR.'jquery.js"></script>';
    echo '<script type="text/javascript">';
    // loop array
    foreach ($_POST['itemID'] as $itemID) {
        if ($print_count == $max_print) {
            $limit_reach = true;
            break;
        }
        if (isset($_SESSION['card'][$itemID])) {
            continue;
        }
        if (!empty($itemID)) {
            $card_text = trim($itemID);
            echo '$.ajax({url: \''.SENAYAN_WEB_ROOT_DIR.'lib/phpbarcode/barcode.php?code='.$card_text.'&encoding='.$sysconf['barcode_encoding'].'&scale='.$size.'&mode=png\', type: \'GET\', error: function() { alert(\'Error creating member card!\'); } });'."\n";
            // add to sessions
            $_SESSION['card'][$itemID] = $itemID;
            $print_count++;
        }
    }
    echo '</script>';
    if (isset($limit_reach)) {
        $msg = str_replace('{max_print}', $max_print, __('Selected items NOT ADDED to print queue. Only {max_print} can be printed at once')); //mfc
        utility::jsAlert($msg);
    } else {
        // update print queue count object
        echo '<script type="text/javascript">parent.$(\'#queueCount\').html(\''.$print_count.'\');</script>';
        utility::jsAlert(__('Selected items added to print queue'));
    }
    exit();
}

// card pdf download
if (isset($_GET['action']) AND $_GET['action'] == 'print') {
    // check if label session array is available
    if (!isset($_SESSION['card'])) {
        utility::jsAlert(__('There is no data to print!'));
        die();
    }
    if (count($_SESSION['card']) < 1) {
        utility::jsAlert(__('There is no data to print!'));
        die();
    }
    // concat all ID together
    $member_ids = '';
    foreach ($_SESSION['card'] as $id) {
        $member_ids .= '\''.$id.'\',';
    }
    // strip the last comma
    $member_ids = substr_replace($member_ids, '', -1);
    // send query to database
    $member_q = $dbs->query('SELECT m.member_name, m.member_id, m.member_image, mt.member_type_name FROM member AS m
        LEFT JOIN mst_member_type AS mt ON m.member_type_id=mt.member_type_id
        WHERE m.member_id IN('.$member_ids.')');
    $member_datas = array();
    while ($member_d = $member_q->fetch_assoc()) {
        if ($member_d['member_id']) {
            $member_datas[] = $member_d;
        }
    }

    // include printed settings configuration file
    include SENAYAN_BASE_DIR.'admin'.DIRECTORY_SEPARATOR.'admin_template'.DIRECTORY_SEPARATOR.'printed_settings.inc.php';
    // check for custom template settings
    $custom_settings = SENAYAN_BASE_DIR.'admin'.DIRECTORY_SEPARATOR.$sysconf['admin_template']['dir'].DIRECTORY_SEPARATOR.$sysconf['template']['theme'].DIRECTORY_SEPARATOR.'printed_settings.inc.php';
    if (file_exists($custom_settings)) {
        include $custom_settings;
    }
    // chunk cards array
    $chunked_card_arrays = array_chunk($member_datas, $card_items_per_row);
    // create html ouput
    $html_str = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n";
    $html_str .= '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Member card Label Print Result</title>'."\n";
    $html_str .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
    $html_str .= '<meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, post-check=0, pre-check=0" /><meta http-equiv="Expires" content="Sat, 26 Jul 1997 05:00:00 GMT" />';
    $html_str .= '<style type="text/css">'."\n";
    $html_str .= 'body{padding:0;margin:0.5cm;font-size:9pt;font-family:"Times New Roman",Times,serif;color:#06C;}'."\n";
    $html_str .= '.labelStyle{width:8.3cm;height:5.1cm;text-align:center;margin-bottom:0.2cm;border:1px solid #666666;padding:5px;overflow:hidden;background-image:url(card.png);background-position:bottom; background-size:cover;}'."\n";
    $html_str .= '.labelBackStyle{width:8.3cm;height:5.1cm;text-align:center;margin-bottom:0.2cm;border:1px solid #666666;padding:5px;overflow: hidden; background-image:url(card2.png);background-position:bottom; background-size:cover;}'."\n";
    $html_str .= '.labelHeaderStyle{	background-color:none;	font-weight:bold;padding:0px;	margin-bottom:5px;	padding-bottom:1px;	padding-left:10px;	font-family: Arial, Helvetica, sans-serif;}'."\n";
    $html_str .= '.labelBackHeaderStyle{	background-color:none;	font-weight:bold;padding:0px;margin-bottom:5px;	padding-bottom:5px;	padding-left:5px;	border-bottom:#06F solid 1px;font-family: Arial, Helvetica, sans-serif;}'."\n";
    $html_str .= '#logo{border:none;float:left;width:1.2cm;height:1.2cm;overflow:hidden; padding-top:0px;}'."\n";
    $html_str .= '#logo img {width: 100%;}'."\n";
    $html_str .= '#ttd {border:none;float:right;overflow:hidden;width:2.6cm;height:1.5cm;font-family: Arial,Helvetica, sans-serif;font-size: 7px;color: #000; background-image:url(logo.png); background-size:cover;}'."\n";
    $html_str .= '#exp {border:none;	float:left;	overflow:hidden;	width:2.8cm;	height:1.5cm;	font-family: Arial, Helvetica, sans-serif;	font-size: 7px;	color: #000;}'."\n";
    $html_str .= '#photo {border: #09F 1px solid;float: left;width: 1.5cm;height: 1.8cm;overflow: hidden;}'."\n";
    $html_str .= '#photo img {width: 100%;}'."\n";
    $html_str .= '#bio {float: left;	padding-left: 5px;	padding-right:5px;	text-align: left;	overflow: hidden;	width: 8.3cm;	color: #000;	font-family: Arial, Helvetica, sans-serif;font-size: 9px;}'."\n";
    $html_str .= '#namabio{float:left;width:2.6cm;text-align:left;}'."\n";
    $html_str .= '#titik2{float:left;width:0.2cm;text-align:center;}'."\n";
    $html_str .= '#databio{float:left;width:5.3cm;text-align:left;}'."\n";
    $html_str .= '#lastdatabio{float:left;width:5.3cm;text-align: justify; padding-bottom:15px;}'."\n";
    $html_str .= '#aturan{	text-align:justify;	vertical-align: top;	padding-left:5px;	padding-bottom:5px;	font-family: Arial, Helvetica, sans-serif;	font-size: 9px;	color: #000;	padding-right: 5px;}'."\n";
    $html_str .= '#barcode {border:none;float:left;overflow:hidden;width:8cm;height:1.9cm;}'."\n";
    $html_str .= '#exp1 {border:none;float:left;overflow:hidden;width:2.7cm;height:0.8cm;}'."\n";
    $html_str .= '#exp2 {border:none;float:left;overflow:hidden;width:2.7cm;height:0.2cm;}'."\n";
    $html_str .= '#exp3 {border:none;float:left;overflow:hidden;width:2.7cm;height:0.2cm;}'."\n";
    $html_str .= '</style>'."\n";
    $html_str .= '</head>'."\n";
    $html_str .= '<body>'."\n";
    $html_str .= '<a href="#" onclick="window.print()">Print Again</a><br /><br />'."\n";
    $html_str .= '<table style="margin: 0; padding: 0;" cellspacing="0" cellpadding="0">'."\n";
    // loop the chunked arrays to row
    foreach ($chunked_card_arrays as $card_rows) {
        $html_str .= '<tr>'."\n";
        foreach ($card_rows as $card) {
            $html_str .= '<td valign="top">';
            $html_str .= '<div class="labelStyle">';
            if (trim($card_header_text) != '') { $html_str .= '<div class="labelHeaderStyle"><div id="logo"><img border="0px" src="logo.png" /></div>'.$card_header_text.'</div>'; }
            
            $html_str .= '<div id="bio">';
            $html_str .= '<table cellspacing="0" cellpadding="0" style="margin: 0; padding: 0;">';
            $html_str .= '<tr>';
            $html_str .= '<td>';
            $html_str .= '<div id="namabio">'.__('Member ID').'</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="titik2">:</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="databio"><strong>'.$card['member_id'].'</strong></div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td>';
            $html_str .= '<div id="namabio">'.__('Member Name').'</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="titik2">:</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="databio"><strong>'.$card['member_name'].'</strong></div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td>';
            $html_str .= '<div id="namabio">NIM</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="titik2">:</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="databio">12A010101 </div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td>';
            $html_str .= '<div id="namabio">Prodi / Kekhususan</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="titik2">:</div>';
            $html_str .= '</td>';
            $html_str .= '<td>';
            $html_str .= '<div id="databio">Fisika / Fisika Terapan</div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td>';
            $html_str .= '<div id="namabio">Alamat / No. Telp.</div>';
            $html_str .= '</td>';
            $html_str .= '<td valign="top" rowspan="2">';
            $html_str .= '<div id="titik2">:</div>';
            $html_str .= '</td>';
            $html_str .= '<td valign="top" rowspan="2">';
            $html_str .= '<div id="lastdatabio">Jalan Kote 12 Lusin pakai telur Sambal IV dan Pakai Daging / 085255454489</div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td rowspan="2">';
            $html_str .= '<div id="photo">'; 
            $html_str .= '<img src="'.SENAYAN_WEB_ROOT_DIR.IMAGES_DIR.'/persons/'.$card['member_image'].'" border="0" />';
            $html_str .= '</div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '<tr>';
            $html_str .= '<td colspan="2">';
            $html_str .= '<div id="exp">';
            $html_str .= '<div id="exp1"></div>';
            $html_str .= '<div id="exp2">Masa berlaku:</div>';
            $html_str .= '<div id="exp3">17-02-2009 s/d 12-02-2010</div>';
            $html_str .= '</div>';
            $html_str .= '<div id="ttd">';
            $html_str .= '<div>Direktur</div>';
            $html_str .= '<div><img border="0" style="width: 70%; margin-top: 0px;"src="003IPS-EKONOMI.png" /></div>';
            $html_str .= '<div>Prof. Dr. Jasruddin, M.Si.<br />NIP. 19641222 199103 1 002</div>';
            $html_str .= '</div>';
            $html_str .= '</td>';
            $html_str .= '</tr>';
            $html_str .= '</table>';
            $html_str .= '</div>';
            $html_str .= '</div>';
            $html_str .= '</td>';
            $html_str .= '<td valign="top">';
            $html_str .= '<div class="labelBackStyle">';
            $html_str .= '<div class="labelBackHeaderStyle"> PERPUSTAKAAN PASCASARJANA UNM<br />
                opac : dlibpps.unm.ac.id<br />
                e-mail : pustakawan@unm.ac.id</div>';
            $html_str .= '<div id="aturan"> Pemilik Kartu ini berhak menggunakan fasilitas
                Perpustakaan PPs UNM sesuai aturan yang berlaku. Kartu ini hanya
                berlaku bagi pemiliknya selama yang bersangkutan masih tetap
                sebagai mahasiswa aktif PPs UNM pada tahun ajaran yang sedang
                berlaku. <br />
                Bila menemukan kartu ini mohon mengembalikan ke Perpustakaan
                Program Pascasarjana UNM Kampus Gunung Sari Baru. </div>';
              $html_str .= '<div id="barcode"> <img src="'.SENAYAN_WEB_ROOT_DIR.IMAGES_DIR.'/barcodes/'.str_replace(array(' '), '_', $card['member_id']).'.png" style="width: '.$card_barcode_scale.'%; margin-top: 10px;" border="0" /> </div>';
            $html_str .= '</div>';
          $html_str .= '</td>';
        }
        $html_str .= '<tr>'."\n";
    }
    $html_str .= '</table>'."\n";
    $html_str .= '<script type="text/javascript">self.print();</script>'."\n";
    $html_str .= '</body></html>'."\n";
    // unset the session
    unset($_SESSION['card']);
    // write to file
    $print_file_name = 'member_card_gen_print_result_'.strtolower(str_replace(' ', '_', $_SESSION['uname'])).'.html';
    $file_write = @file_put_contents(FILES_UPLOAD_DIR.$print_file_name, $html_str);
    if ($file_write) {
        // update print queue count object
        echo '<script type="text/javascript">parent.$(\'#queueCount\').html(\'0\');</script>';
        // open result in window
        echo '<script type="text/javascript">top.openHTMLpop(\''.SENAYAN_WEB_ROOT_DIR.FILES_DIR.'/'.$print_file_name.'\', 800, 500, \''.__('Member Card Printing').'\')</script>';
    } else { utility::jsAlert('ERROR! Cards failed to generate, possibly because '.SENAYAN_BASE_DIR.FILES_DIR.' directory is not writable'); }
    exit();
}

?>
<fieldset class="menuBox">
<div class="menuBoxInner printIcon">
	<div class="per_title">
    	<h2><?php echo __('Member Card Printing'); ?></h2>
    </div>
	<div class="sub_section">
		<div class="action_button">
		<a target="blindSubmit" href="<?php echo MODULES_WEB_ROOT_DIR; ?>membership/member_card_generator.php?action=clear" class="notAJAX headerText2" style="color: #f00;"><?php echo __('Clear Print Queue'); ?></a>
		<a target="blindSubmit" href="<?php echo MODULES_WEB_ROOT_DIR; ?>membership/member_card_generator.php?action=print" class="notAJAX headerText2"><?php echo __('Print Member Cards for Selected Data'); ?></a>
		</div>
	    <form name="search" action="<?php echo MODULES_WEB_ROOT_DIR; ?>membership/member_card_generator.php" id="search" method="get" style="display: inline;"><?php echo __('Search'); ?>:
	    <input type="text" name="keywords" size="30" />
	    <input type="submit" id="doSearch" value="<?php echo __('Search'); ?>" class="button" />
	    </form>
    </div>
    <div class="infoBox">
    <?php
    echo __('Maximum').' <font style="color: #f00">'.$max_print.'</font> '.__('records can be printed at once. Currently there is').' '; //mfc
    if (isset($_SESSION['card'])) {
        echo '<font id="queueCount" style="color: #f00">'.count($_SESSION['card']).'</font>';
    } else { echo '<font id="queueCount" style="color: #f00">0</font>'; }
    echo ' '.__('in queue waiting to be printed.'); //mfc
    ?>
    </div>
</div>
</fieldset>
<?php
/* search form end */
/* ITEM LIST */
// table spec
$table_spec = 'member AS m
    LEFT JOIN mst_member_type AS mt ON m.member_type_id=mt.member_type_id';
// create datagrid
$datagrid = new simbio_datagrid();
$datagrid->setSQLColumn('m.member_id',
    'm.member_id AS \''.__('Member ID').'\'',
    'm.member_name AS \''.__('Member Name').'\'',
    'mt.member_type_name AS \''.__('Membership Type').'\'');
$datagrid->setSQLorder('m.last_update DESC');
// is there any search
if (isset($_GET['keywords']) AND $_GET['keywords']) {
    $keyword = $dbs->escape_string(trim($_GET['keywords']));
    $words = explode(' ', $keyword);
    if (count($words) > 1) {
        $concat_sql = ' (';
        foreach ($words as $word) {
            $concat_sql .= " (m.member_id LIKE '%$word%' OR m.member_name LIKE '%$word%'";
        }
        // remove the last AND
        $concat_sql = substr_replace($concat_sql, '', -3);
        $concat_sql .= ') ';
        $datagrid->setSQLCriteria($concat_sql);
    } else {
        $datagrid->setSQLCriteria("m.member_id LIKE '%$keyword%' OR m.member_name LIKE '%$keyword%'");
    }
}
// set table and table header attributes
$datagrid->table_attr = 'align="center" id="dataList" cellpadding="5" cellspacing="0"';
$datagrid->table_header_attr = 'class="dataListHeader" style="font-weight: bold;"';
// edit and checkbox property
$datagrid->edit_property = false;
$datagrid->chbox_property = array('itemID', __('Add'));
$datagrid->chbox_action_button = __('Add To Print Queue');
$datagrid->chbox_confirm_msg = __('Add to print queue?');
$datagrid->column_width = array('10%', '70%', '15%');
// set checkbox action URL
$datagrid->chbox_form_URL = $_SERVER['PHP_SELF'];
// put the result into variables
$datagrid_result = $datagrid->createDataGrid($dbs, $table_spec, 20, $can_read);
if (isset($_GET['keywords']) AND $_GET['keywords']) {
    echo '<div class="infoBox">'.__('Found').' '.$datagrid->num_rows.' '.__('from your search with keyword').': "'.$_GET['keywords'].'"</div>'; //mfc
}
echo $datagrid_result;
/* main content end */

selamat berkreasi, saya juga masih terus oprek nih ;)
Last edited by jushadi on 30 Apr 2012, 13:57, edited 2 times in total.
Read!

User avatar
KutaroMiriogi
Posts: 7
Joined: 27 Sep 2011, 12:16
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by KutaroMiriogi » 30 Apr 2012, 08:58

Mantabs!!! :idea: :idea: :idea:
Makasih sharingnya. bisa menjadi sebuah jawaban atas keinginan yang selama ini kita tunggu mengenai kustomisasi member card SLiMS.
Image

hardan
Posts: 19
Joined: 20 Jan 2012, 13:19
Location: Pekanbaru - Riau
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by hardan » 30 Apr 2012, 09:52

Maksud nya bagaimana ya itu .. ? :?:
petunjuk nya kurang jelas mas

User avatar
jushadi
Posts: 35
Joined: 27 Sep 2011, 16:29
Location: Makassar
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by jushadi » 30 Apr 2012, 11:25

Mohon maaf kurang jelas,
Last edited by jushadi on 06 Jul 2012, 16:59, edited 1 time in total.
Read!

danang
Posts: 1
Joined: 30 Apr 2012, 07:48

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by danang » 01 May 2012, 10:07

sudah saya coba praktekkan, muncul pesan error sbb :
walaupun saya berhasil mencetak kartu anggota

Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\meranti\admin\modules\membership\member_card_generator.php:1) in D:\AppServ\www\meranti\sysconfig.inc.php on line 146

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\meranti\admin\modules\membership\member_card_generator.php:1) in D:\AppServ\www\meranti\admin\default\session.inc.php on line 40

bagaimana mengatasinya?

hardan
Posts: 19
Joined: 20 Jan 2012, 13:19
Location: Pekanbaru - Riau
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by hardan » 01 May 2012, 11:42

Saya sudah mencoba, alhamdulillah berhasil sempurna. Cuman ada beberapa hal yang harus di perbaiki neh pak :
1. NIM nya masih manual
2. Program Studi masih manual
3. Alamat masih manual
4. Masa berlaku masih manual
5. Bagaimana Memasukkan tanda tangan, logo slims dan foto member
6. Pada gambar nya terpotong, bagaimana caranya mengukur ukuran kartu pustaka agar pas

Ini saya lampirkan image hasil nya
Attachments
a.png
a.png (39.74 KiB) Viewed 15307 times

User avatar
jushadi
Posts: 35
Joined: 27 Sep 2011, 16:29
Location: Makassar
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by jushadi » 01 May 2012, 13:12

Maaf kurang jelas
Last edited by jushadi on 06 Jul 2012, 17:00, edited 1 time in total.
Read!

User avatar
jushadi
Posts: 35
Joined: 27 Sep 2011, 16:29
Location: Makassar
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by jushadi » 01 May 2012, 13:14

Maaf kurang jelas
Last edited by jushadi on 06 Jul 2012, 17:00, edited 1 time in total.
Read!

User avatar
santosoprb
Posts: 3
Joined: 02 May 2012, 21:57
Location: Malang
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by santosoprb » 07 May 2012, 23:22

hardan wrote:Saya sudah mencoba, alhamdulillah berhasil sempurna. Cuman ada beberapa hal yang harus di perbaiki neh pak :
1. NIM nya masih manual
2. Program Studi masih manual
3. Alamat masih manual
4. Masa berlaku masih manual
5. Bagaimana Memasukkan tanda tangan, logo slims dan foto member
6. Pada gambar nya terpotong, bagaimana caranya mengukur ukuran kartu pustaka agar pas

Ini saya lampirkan image hasil nya
Bagi ilmunya dong Gan, gimana cara buat kartu seperti yang Agan tunjukkan itu

User avatar
jushadi
Posts: 35
Joined: 27 Sep 2011, 16:29
Location: Makassar
Contact:

Re: Kustomisasi Kartu Anggota SLiMS 5

Post by jushadi » 11 May 2012, 06:15

Maaf kurang jelas
Last edited by jushadi on 06 Jul 2012, 17:06, edited 1 time in total.
Read!

Post Reply