.Pot sa-mi permit astfel de analiza, deoarece sunt programator.
Lucrez in domeniul IT, cunosc indeaproape softul, tehnologiile, utilizate p/u crearea de programe p/u contabilitate si nu numai.
Am vazut multe ciudatenii
Partea client sau interfata este scrisa in limbajul php.
Pun o intrebare autorilor lui Afes:
-De cand php este utilizat ca instrument p/u crearea programelor complexe de contabilitate, comert etc.
Mai jos urmeaza exemplu de creativitate de care dau dovada autorii programei afes, exemplificat prin tehnologiile
Exemplu de cod de program scris in limbajul php si a tagurilor html
(Codul descrie functionalitatea documetului decont de avans. )
<?
$this_table = 'decont_avans';
include('./php/permission_header.php');
include_once('./php/funcs.php');
$LS->includeCSS('./lib/dhtmlxTabbar/css/dhtmlXTabbar');
$LS->includeJS('./lib/dhtmlxTabbar/js/dhtmlXCommon');
$LS->includeJS('./lib/dhtmlxTabbar/js/dhtmlXTabbar');
$LS->includeJS('./lib/dhtmlxTabbar/js/dhtmlXTabbar_start');
$LS->includeCSS('css/LSgrid');
$LS->includeJS('js/LSgrid');
$LS->includeJS('js/func');
$LS->includeJS('js/LSselect');
$LS->includeJS('js/LSdate');
$LS->includeCSS('css/LSselect');
$LS->includeJS('js/LSrequest');
$LS->includeJS('js/LScurrency');
$LS->includeJS('js/LSquantity');
$LS->includeJS('js/LSfooter');
$LS->includeJS('js/LSdraghandler');
$LS->includeJS('js/LScontext');
$LS->includeJS('js/epoch_classes');
$LS->includeCSS('css/epoch_styles');
$_POST['cod'] = getNewCode('decont_avans');
if(!isset($_GET['tmp'])){
interogare('DELETE FROM `decont_avans_t` WHERE `id_decont_avans` IN (SELECT `id` FROM `decont_avans` WHERE `tmp` = 0 AND (`id_user`=\''.$_SESSION['user']['id'].'\' OR `id_user`= 0))');
interogare('DELETE FROM `decont_avans` WHERE `tmp` = 0 AND (`id_user`=\''.$_SESSION['user']['id'].'\' OR `id_user`= 0)');
}
//************************** Izvlecenie danih ***************************************
if(isset($_GET['row_id']) && detect_id($this_table,$_GET['row_id'])){
$result = interogare("SELECT * FROM `decont_avans` WHERE id=".$_GET['row_id']);
$row = mysql_fetch_assoc($result);
foreach($row as $k => $v) {
if ($k == 'cod' || $k == 'id_employes' || $k == 'acount' || $k == 'tip_otcet' || $k == 'income1' || $k == 'income2' || $k == 'income3'
|| $k == 'sum_income1' || $k == 'sum_income2' || $k == 'sum_income3')
$_POST[$k] = htmlspecialchars($v);
if($k == 'date' || $k == 'date_income1' || $k == 'date_income2' || $k == 'date_income3')
$_POST[$k] = expl($v);
}
interogare('UPDATE `decont_avans` SET `id_user` = \''.$_SESSION['user']['id'].'\' WHERE `id` = \''.$_GET['row_id'].'\'');
}else{
interogare('INSERT INTO `decont_avans` SET `tmp` = 0, `id_user`=\''.$_SESSION['user']['id'].'\'');
$_GET['row_id'] = mysql_insert_id($GLOBALS['mysql_link']);
$_POST['date'] = date('d.m.Y');
}
?>
<script>
var global_var = true;
var global_var2 = true;
function sendForm()
{
var arr = Array();
var form = document.getElementById('main_form');
var elsl = form.elements.length;
for(var i = 0; i < elsl; i++) {
var el = form.elements[i];
if (!el.name) continue;
switch(el.tagName) {
case 'INPUT':
switch(el.type) {
case 'text':
if (el.className == 'shortdate') {
arr[arr.length] = el.name+"="+
encodeURIComponent(el.value.replace(/^(\d{2})\.(\d{2})\.(\d{4})$/, '$3-$2-$1'));
break;
}
case 'hidden':
arr[arr.length] = el.name+"="+encodeURIComponent(el.value);
break;
case 'radio':
case 'checkbox':
if (el.checked) arr[arr.length] = el.name+"="+encodeURIComponent(el.value);
break;
}
break;
case 'TEXTAREA':
case 'SELECT':
arr[arr.length] = el.name+"="+encodeURIComponent(el.value);
break;
}
}
//alert('pri_casa_order_pdf&'+arr.join('&'));
//parent.LSopenTab('Kasa','pri_casa_order_pdf&'+arr.join('&'));
return arr.join('&');
}
function printPage()
{
var mas =new Array('a1','a2');
for(var i=0;i<2;i++)
{
if(document.getElementById(mas[i]).style.visibility == '')
{
switch (mas[i])
{
case 'a1': parent.LSopenTab('Kasa','avans_casa_pdf',sendForm());
break;
case 'a2': parent.LSopenTab('Kasa','avans_casa_pdf',sendForm());
break;
}
}
}
//alert(document.getElementById('a1').style.visibility)
}
</script>
<form method="POST" id="main_form">
<input type="hidden" name="row_id" id="row_id" value="<?php echo (isset($_GET['row_id']))?$_GET['row_id']:0?>">
<table cellspacing="0" cellpadding="0" width="100%" height="100%">
<tbody>
<tr>
<td style="vertical-align: middle;height:35px;border:#ffffff 1px solid" bgcolor="<?php echo UP_COLOR?>" align="left" class="caption"> <?php echo DOC_DECONT_AVANS?></td>
</tr>
<tr>
<td bgcolor="<?php echo DOWN_COLOR?>" height="20">
<input type="hidden" name="cnopka" value="" id="cnopka"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td> <a href="javascript:void(0);" onclick="check_form('ok');" style="padding-left:15px;"><img src="./imgs/LSgrid/save_close.gif" border="0" align="texttop"> <?php echo SAVE_CLOSE?></a>
<a href="javascript:void(0);" onclick="check_form('save'); " style="padding-left:15px;"><img src="./imgs/LSgrid/activatebutton.gif" align="texttop" border="0"> <?php echo ACTIVATE?></a>
<a href="javascript:void(0);" onclick="printPage();" style="padding-left:15px;"><img src="./imgs/LSgrid/print.gif" align="texttop" border="0"><?php echo PRINTX?></a>
<a href="#" onclick="parent.LSopenTab('Registre','posting_t','row_id=<?php echo isset($_GET['row_id'])?$_GET['row_id']:0?>&table=decont_avans&readonly_posting=1&readonly_grid=1')" style="padding-left:15px;"><img src="./imgs/LSgrid/posting.gif" align="texttop" border="0"><?php echo POSTING?></a>
</td><td align="center"><a href="javascript:void(0);" onclick="form_submit('exit'); " style="padding-left:15px;"> <?php echo CANCEL?></a></td></tr></table>
</td>
</tr>
<tr><td bgcolor="<?php echo TAB_TOP_COLOR?>" style="border-top:<?php echo BORDER_COL?> 1px solid">
<table width="100%" height="100%"><tr>
<td><div style="height:100%;" id="post_tov" class="dhtmlxTabBar" imgpath="./lib/dhtmlxTabbar/imgs/" skinColors="<?php echo MENU_COL?>,<?php echo TAB_TOP_COLOR?>">
<div id="a1" width="140" name="<?php echo GENERAL_DATE?>"><br /><br><table cellspacing="5" align="left">
<tbody>
<tr>
<td align="right" class="label" width="50"><label for="cod"><?php echo NUMBER?></label></td>
<td align="left" width="70"><input type="text" name="cod" size="10" id="cod" class="input input_must" value="<?php echo (isset($_POST['cod']))?$_POST['cod']:''?>"/></td>
<td align="right" class="label" width="50"><label for="date"><?php echo DATE;?></label></td>
<td align="left" width="300"><input style=" background-color:#FEFEDB;" type="text" methodfunction="calculate();" name="date" id="date" class="shortdate" value="<?php echo (isset($_POST['date']))?$_POST['date']:date('d.m.Y')?>" size="10" ></td>
</tr>
<tr><td colspan="4"><hr /></td></tr>
<tr>
<td align="right" class="label"><label for="av_sotr"><?php echo EMPLOYEE?></label></td>
<td colspan="3">
<input type="hidden" name="id_employes" value="<?php echo (isset($_POST['id_employes']))?$_POST['id_employes']:''?>" id="id_employes" />
<input for="id_employes" oneditclick="edit(this)" class="LSselect" datasource="employes" size="35" style=" background-color:#FEFEDB;" onchangeselect="calculate();"/></td>
</tr>
<tr>
<td colspan="2"><fieldset style="height:90px; width:130px"><legend class="label"><?php echo ACCOUNT?></legend><table wrap="none">
<tr><td><input type="radio" onclick="calculate();" name="acount" value="1" class="input" id="acount1" <?if(isset($_POST['acount']) && !empty($_POST['acount']) && $_POST['acount']=='1') echo 'checked'; elseif(!isset($_POST['acount'])) echo 'checked';?>/><label for="acount1" class="label">227</label></td></tr>
<tr><td><input type="radio" onclick="calculate();" name="acount" value="2" class="input" id="acount2" <?php echo (isset($_POST['acount']) && !empty($_POST['acount']) && $_POST['acount']=='2')?'checked':''?>/><label for="acount2" class="label">532</label></td></tr>
<tr><td class="label" style="padding-left: -20px;"><br><?php echo SOLD?><span id="rest"></span></td></tr></table></fieldset></td>
<td colspan="2"><fieldset style="height:90px; width:130px" ><legend class="label"><?php echo TYPE_REPORT?></legend><table>
<tr><td><input type="radio" name="tip_otcet" id="tip_otcet1" value="1" class="input" <?if(isset($_POST['tip_otcet']) && !empty($_POST['tip_otcet']) && $_POST['tip_otcet']=='1') echo 'checked'; elseif(!isset($_POST['tip_otcet'])) echo 'checked';?>/><label for="tip_otcet1" class="label"><?php echo LEI?></label></td></tr>
<tr><td><input type="radio" name="tip_otcet" id="tip_otcet2" value="2" class="input" <?php echo (isset($_POST['tip_otcet']) && !empty($_POST['tip_otcet']) && $_POST['tip_otcet']=='2')?'checked':''?>/><label for="tip_otcet2" class="label"><?php echo VALUTAR?></label></td></tr>
</table></fieldset></td></tr>
<tr><td colspan="4"><fieldset style="align:center; width:500px"><legend class="label"><?php echo INCOME_FROM_WHO?></legend><table align="center"><tr><td height="30">
<input type="text" name="income1" size="30" class="input" value="<?php echo (isset($_POST['income1']))?$_POST['income1']:''?>"/>
<input type="text" name="sum_income1" size="10" class="currency" style="border:<?php echo BORDER_COL?> 1px solid;" value="<?php echo (isset($_POST['sum_income1']))?$_POST['sum_income1']:''?>"/>
<input type="text" name="date_income1" id="date_income1" class="shortdate" value="<?php echo (isset($_POST['date_income1']))?$_POST['date_income1']:' . . '?>" size="10" ></td></tr>
<tr><td height="30"><input type="text" name="income2" size="30" class="input" value="<?php echo (isset($_POST['income2']))?$_POST['income2']:''?>"/>
<input type="text" name="sum_income2" size="10" class="currency" style="border:<?php echo BORDER_COL?> 1px solid;" value="<?php echo (isset($_POST['sum_income2']))?$_POST['sum_income2']:''?>"/>
<input type="text" name="date_income2" id="date_income2" class="shortdate" value="<?php echo (isset($_POST['date_income2']))?$_POST['date_income2']:' . . '?>" size="10" ></td></tr>
<tr><td height="30"><input type="text" name="income3" size="30" class="input" value="<?php echo (isset($_POST['income3']))?$_POST['income3']:''?>"/>
<input type="text" name="sum_income3" size="10" class="currency" style="border:<?php echo BORDER_COL?> 1px solid;" value="<?php echo (isset($_POST['sum_income2']))?$_POST['sum_income2']:''?>"/>
<input type="text" name="date_income3" id="date_income3" class="shortdate" value="<?php echo (isset($_POST['date_income3']))?$_POST['date_income3']:' . . '?>" size="10" ></td></tr>
</table>
</fieldset>
</td></tr>
</tbody>
</table></div>
<div id="a2" width="150" name="<?php echo OPERATIONS?>" style="position:absolute;visibility:hidden; ">
<table width="100%" height="100%">
<tr>
<td width="100%" height="400">
<div style="width:100%; height:100%; position:relative;">
<table class="LSgrid" id="grid1" width="100%" height="100%" heightcell="19" datasource="decont_avans_t&id_decont_avans=<?php echo $_GET['row_id']?>" showNumbering="true" fields="[
[
{
name: 'nr', title: '<?php echo NUMBER?>', width: '5%', align: 'left', rowspan: 2, tabindex: 1, type: 'text', cnt: 'codCon', params:{
}
},
{
name: 'date1', title: '<?php echo DATE1?>', width: '10%', align: 'left', show_zeros: 'false', rowspan: 1, tabindex: 2, type: 'date', cnt: 'codCon', params:{
id:'grid1_date1'
}
},
{
name: 'id_account', title: '<?php echo ACCOUNT?>', width: '5%', align: 'left', rowspan: 2, tabindex: 4, type: 'select', cnt: 'codCon', params:{
datasource: 'account', minimumletters: 3, LSaccount: 'true'
}
},
{
name: 'sub1', title: '<?php echo SUBCONT_1?>', width: '20%',align: 'left', rowspan: 1, tabindex: 5, type: 'select', cnt: 'codCon', params:{datasource: 'subconto&sub=1'}
},
{
name: 'info', title: '<?php echo FOR_WHAT;?>', align: 'left', rowspan: 2, tabindex: 7, type: 'text', cnt: 'codCon', params:{
}
},
{
name: 'quant', title: '<?php echo QUANTITY?>', width: '8%', align: 'right', rowspan: 1, tabindex: 8, type: 'quantity', cnt: 'codCon', params:{
}
},
{
name: 'sum', title: '<?php echo SUM?>', width: '8%', align: 'right', rowspan: 2, tabindex: 10, type: 'currency', cnt: 'codCon', params:{
}
},
{
name: 'id_pn', title: '<?php echo PN?>', width: '8%', align: 'center', rowspan: 1, tabindex: 11, type: 'select', cnt: 'codCon', params:{
--------------------------------------------- doar o parte din cod
---------------------------Cred ca programatorii inteleg bine la ce ma refer.