Add passenger child management features in new ticket form
This commit is contained in:
@ -112,11 +112,16 @@
|
||||
|
||||
array("type"=>"combo","name"=>"cbo_passengertype","label"=>"Passenger Type","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0",
|
||||
"tooltip"=>"Choice Passenger Type. Thank You","validate"=>"NotEmpty","maxLength"=>"11","className"=>"txtleft"),
|
||||
array("type"=>"combo","name"=>"cbo_idcardtype","label"=>"ID Card","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0",
|
||||
"tooltip"=>"Choice ID Card first. Thank You","validate"=>"NotEmpty","maxLength"=>"11","className"=>"txtleft"),
|
||||
array("type"=>"newColumn"),
|
||||
array("type"=>"input","name"=>"txt_cardnumber","label"=>"","required"=>"true","info"=>"true","inputWidth"=>"160","value"=>"",
|
||||
"tooltip"=>"Insert Picture first. Thank You","validate"=>"NotEmpty","maxLength"=>"100","className"=>"txtleft besidecboidcard",
|
||||
array("type"=>"input","name"=>"txt_passengertypedescription","label"=>"","required"=>"false","info"=>"true","inputWidth"=>"180","value"=>"",
|
||||
"tooltip"=>"Insert Description First. Thank You","maxLength"=>"100","className"=>"txtleft besidecboidcard",
|
||||
"note"=>array("text"=>"Insert Description For VIP")),
|
||||
|
||||
array("type"=>"combo","name"=>"cbo_idcardtype","label"=>"ID Card","required"=>"true","info"=>"true","inputWidth"=>"90","value"=>"0",
|
||||
"tooltip"=>"Choice ID Card first. Thank You","validate"=>"NotEmpty","maxLength"=>"11","className"=>"txtleft","offsetTop"=>20),
|
||||
array("type"=>"newColumn"),
|
||||
array("type"=>"input","name"=>"txt_cardnumber","label"=>"","required"=>"true","info"=>"true","inputWidth"=>"180","value"=>"",
|
||||
"tooltip"=>"Insert Card Number. Thank You","validate"=>"NotEmpty","maxLength"=>"100","className"=>"txtleft besidecboidcard",
|
||||
"note"=>array("text"=>"Insert ID card Number")),
|
||||
|
||||
// array("type"=>"container","name"=>"containerpicture","label"=>"Take Picture","className"=>"containerpicture","offsetTop"=>"20"),
|
||||
@ -297,13 +302,14 @@
|
||||
// === Cbo Route End Change
|
||||
$onchangecboidrouteend="if(myForm.getItemValue('cbo_idrouteend')!='')";
|
||||
$onchangecboidrouteend.="{";
|
||||
$onchangecboidrouteend.=" fn_getprice(0);";
|
||||
//$onchangecboidrouteend.=" alert('f');";
|
||||
$onchangecboidrouteend.=" var sp=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticket")."&task=".$this->enc("getprice")."&idroutestart='+myForm.getItemValue('cbo_idroutestart')+'&idrouteend='+myForm.getItemValue('cbo_idrouteend')).split('|');";
|
||||
$onchangecboidrouteend.=" if(trim(sp[0])=='failed'){fn_dhtmlxmessage('error',sp[1]);".$this->FN_DHTMLXWINDOWSHIDEPROGRESS().";return false;}";
|
||||
$onchangecboidrouteend.=" myForm.setItemValue('txt_price',sp[2]);";
|
||||
$onchangecboidrouteend.=" myForm.setItemValue('txt_totalprice',sp[2]);";
|
||||
$onchangecboidrouteend.=" myForm.setItemValue('txt_priceoverinkg',sp[3]);";
|
||||
$onchangecboidrouteend.=" myForm.setItemValue('txt_timeschedule',sp[4]);";
|
||||
// $onchangecboidrouteend.=" var sp=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticket")."&task=".$this->enc("getprice")."&idroutestart='+myForm.getItemValue('cbo_idroutestart')+'&idrouteend='+myForm.getItemValue('cbo_idrouteend')).split('|');";
|
||||
// $onchangecboidrouteend.=" if(trim(sp[0])=='failed'){fn_dhtmlxmessage('error',sp[1]);".$this->FN_DHTMLXWINDOWSHIDEPROGRESS().";return false;}";
|
||||
// $onchangecboidrouteend.=" myForm.setItemValue('txt_price',sp[2]);";
|
||||
// $onchangecboidrouteend.=" myForm.setItemValue('txt_totalprice',sp[2]);";
|
||||
// $onchangecboidrouteend.=" myForm.setItemValue('txt_priceoverinkg',sp[3]);";
|
||||
// $onchangecboidrouteend.=" myForm.setItemValue('txt_timeschedule',sp[4]);";
|
||||
$onchangecboidrouteend.="}";
|
||||
|
||||
// === Text baggage Change
|
||||
@ -418,7 +424,11 @@
|
||||
$onbuttonclickbtncancel.="myForm.setItemValue('cbo_bodmonth','');myForm.setItemValue('cbo_bodday','');";
|
||||
|
||||
|
||||
|
||||
$onchangepassengertype="var passengertype=myForm.getItemValue('cbo_passengertype').toString().toLowerCase();";
|
||||
$onchangepassengertype.="if(passengertype=='general'){";
|
||||
$onchangepassengertype.=" fn_getprice(0);";
|
||||
$onchangepassengertype.="}";
|
||||
$onchangepassengertype.="else{fn_getprice(1);}";
|
||||
$arrevent=array(
|
||||
array("eventname"=>"onbuttonclick","eventparam"=>"id,val",
|
||||
"switch"=>array(
|
||||
@ -437,8 +447,8 @@
|
||||
),
|
||||
array("eventname"=>"onchange","eventparam"=>"id,ev,val",
|
||||
"switch"=>array(
|
||||
"cbo_idrouteend"=>"$onchangecboidrouteend $onchangetxtbaggage",
|
||||
|
||||
"cbo_idrouteend"=>"$onchangecboidrouteend $onchangetxtbaggage",
|
||||
"cbo_passengertype"=>"$onchangepassengertype",
|
||||
)
|
||||
)
|
||||
|
||||
@ -532,6 +542,25 @@
|
||||
|
||||
echo " }
|
||||
|
||||
function fn_getprice(isfree){
|
||||
var sp=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticket")."&task=".$this->enc("getprice")."&idroutestart='+myForm.getItemValue('cbo_idroutestart')+'&idrouteend='+myForm.getItemValue('cbo_idrouteend')).split('|');
|
||||
if(trim(sp[0])=='failed'){fn_dhtmlxmessage('error',sp[1]);".$this->FN_DHTMLXWINDOWSHIDEPROGRESS().";return false;}
|
||||
if(!isfree){
|
||||
myForm.setItemValue('txt_price',sp[2]);
|
||||
}
|
||||
else{
|
||||
myForm.setItemValue('txt_price',0);
|
||||
}
|
||||
if(!isfree){
|
||||
myForm.setItemValue('txt_totalprice',sp[2]);
|
||||
}
|
||||
else{
|
||||
myForm.setItemValue('txt_totalprice',0);
|
||||
}
|
||||
myForm.setItemValue('txt_priceoverinkg',sp[3]);
|
||||
myForm.setItemValue('txt_timeschedule',sp[4]);
|
||||
}
|
||||
|
||||
function fn_showchildren(){
|
||||
// fn_dhtmlxmessage('error','Your module still underconstruction');return false;
|
||||
var tiketnumber=myForm.getItemValue('txt_tiketnumber');
|
||||
@ -927,18 +956,20 @@
|
||||
$names=$spdata[1];
|
||||
$birthofdate=$spdata[2];
|
||||
$ages=$spdata[3];
|
||||
$notes=$spdata[4];
|
||||
$gender=$spdata[4];
|
||||
$notes=$spdata[5];
|
||||
$qryins="insert into ".DB_APORTIL.".tbl_passenger_childs
|
||||
set idtiketpassenger='$id',tiketnumber='$tiketnumber',names='$names',birthofdate='$birthofdate',
|
||||
ages='$ages',notes='$notes',iby='".$_SESSION['nik']."',idt=now()";
|
||||
ages='$ages',gender='$gender',notes='$notes',iby='".$_SESSION['nik']."',idt=now()";
|
||||
if($this->fn_row_isexists("select id from ".DB_APORTIL.".tbl_passenger_childs where id='$idchilds' order by id asc limit 1")){
|
||||
$qryins="update ".DB_APORTIL.".tbl_passenger_childs
|
||||
set names='$names',birthofdate='$birthofdate',ages='$ages',notes='$notes',
|
||||
set names='$names',birthofdate='$birthofdate',ages='$ages',gender='$gender',notes='$notes',
|
||||
uby='".$_SESSION['nik']."',udt=now()
|
||||
where id='$idchilds'";
|
||||
}
|
||||
$this->executequery($qryins);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(!$isupdate){
|
||||
@ -989,8 +1020,9 @@
|
||||
$names=$row['names'];
|
||||
$birthofdate=$row['birthofdate'];
|
||||
$ages=$row['ages'];
|
||||
$gender=$row['gender'];
|
||||
$notes=$row['notes'];
|
||||
$data.=$id."|".$names."|".$birthofdate."|".$ages."|".$notes.";";
|
||||
$data.=$id."|".$names."|".$birthofdate."|".$ages."|".$gender."|".$notes.";";
|
||||
$i+=1;
|
||||
}
|
||||
if($data){
|
||||
|
||||
@ -33,13 +33,16 @@
|
||||
{
|
||||
echo $this->FN_CREATEHEADER();
|
||||
$tiketnumber=$_REQUEST['tiketnumber'];
|
||||
$childspassenger=$_REQUEST['childspassenger'];
|
||||
$idtiketpassenger=$this->fn_get_fieldvalue("id","select id from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='$tiketnumber'");
|
||||
echo "<style>
|
||||
.besidebtnsave {margin-left:104px;margin-top:-6px;position:absolute;}
|
||||
.besidebtnupdate {margin-left:198px;margin-top:-6px;position:absolute;}
|
||||
.besidebtndelete {margin-left:288px;margin-top:-6px;position:absolute;}
|
||||
</style>";
|
||||
echo "<script>
|
||||
var myForm,myFormsearch,dgtra;
|
||||
var myForm,myFormsearch,dgchild;
|
||||
var rowid=0;
|
||||
function initObject()
|
||||
{";
|
||||
$formdata=array(
|
||||
@ -47,21 +50,175 @@
|
||||
array("type"=>"block","width"=>"500","label"=>"",
|
||||
"list"=>array(
|
||||
array("type"=>"hidden","name"=>"txt_tiketnumber","value"=>$tiketnumber),
|
||||
array("type"=>"hidden","name"=>"txt_idtiketpassenger"),
|
||||
array("type"=>"label","name"=>"lblinfoselect","label"=>"Tiket Number <b>$tiketnumber</b>","className"=>"","labelWidth"=>"80","offsetTop"=>"-5","offsetLeft"=>"0"),
|
||||
array("type"=>"hidden","name"=>"txt_idtiketpassenger","value"=>$idtiketpassenger),
|
||||
array("type"=>"label","name"=>"lblinfoselect","label"=>"Tiket Number <b>$tiketnumber</b>","className"=>"","labelWidth"=>"280","offsetTop"=>"-5","offsetLeft"=>"0"),
|
||||
array("type"=>"newcolumn"),
|
||||
array("type"=>"button","name"=>"btnsetchild","value"=>"Set Child","className"=>"button_saveas","offsetLeft"=>"10","disabled"=>"1"),
|
||||
array("type"=>"button","name"=>"btnsetchild","value"=>"Set Child","className"=>"button_saveas","offsetLeft"=>"10","disabled"=>"0"),
|
||||
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->FN_DHTMLXFORM("myForm","divfrmchild",$formdata,true);
|
||||
|
||||
$arrevent=array(
|
||||
array("eventname"=>"onbuttonclick","eventparam"=>"id,val",
|
||||
"switch"=>array(
|
||||
"btnsetchild"=>"fn_setchild()"
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->FN_DHTMLXFORMEVENT("myForm",$arrevent);
|
||||
|
||||
echo " }
|
||||
$footerevent="<div style='height:15pt;padding-top:3pt;font-size:10pt'>";
|
||||
// $footerevent.="<a href='javascript:void(0)' onClick='fn_grid_newrow()'><span>Tambah Record</span></a> ";
|
||||
$footerevent.="<a href='javascript:void(0)' onClick='fn_grid_new()' style='font-size:16px'><span>Add</span></a> ";
|
||||
$footerevent.="<a href='javascript:void(0)' onClick='fn_grid_delrow()' style='font-size:16px'><span>Delete Record</span></a> ";
|
||||
$footerevent.="</div>";
|
||||
$grdinit=array("gridname"=>"dgchild","divtarget"=>"div_dgchild","divpaging"=>"div_dgchildpaging","paginglimit"=>5,
|
||||
"showloader"=>"true","footer"=>"$footerevent","footerspan"=>"8","footeralign"=>"left",
|
||||
"enableMultiline"=>"true","setdateformat"=>"%Y-%m-%d"
|
||||
);
|
||||
$gridproperties=array("grid"=>"right,ro,96,right,str,false,true",
|
||||
"id "=>"left,ro,210,left,str,false,true",
|
||||
"Names "=>"left,ed,210,left,str,false",
|
||||
"Birthofdate "=>"center,dhxCalendarA,220,center,str,false",
|
||||
"Ages "=>"center,ed,220,center,str,false",
|
||||
"Gender "=>"center,ed,220,center,str,false",
|
||||
"Notes "=>"left,ed,220,left,str,false",
|
||||
"idtiketpassenger"=>"left,ro,110,left,int,false,true",
|
||||
);
|
||||
$this->FN_DHTMLXGRIDVIEW($grdinit,$gridproperties,"bricks","","fn_grid_loaddata()");
|
||||
echo "dgchild.setStyle('font-size:14px','font-size:14px','');";
|
||||
echo "dgchild.setDateFormat('%Y-%m-%d', '%Y-%m-%d');";
|
||||
|
||||
$eventrowselect="rowid=(dgchild.cells(rId,1).getValue());";
|
||||
// $eventxle="rwcount=dgtrasoap.getRowsNum();";
|
||||
// $eventxle.="var isvitanam=0;";
|
||||
// $eventxle.="if(rwcount>0){isvitanam=1;}";
|
||||
// $eventxle.="window.parent.fn_setvalidationheader('isvitanam',isvitanam);";
|
||||
// $eventxle.="window.parent.fn_setvalidationheader('iscppt',isvitanam);";
|
||||
// $eventxle.="for(i=1;i<=rwcount;i++){";
|
||||
// $eventxle.=" var insertby=dgtrasoap.cells(i,11).getValue();";
|
||||
// $eventxle.=" if(trim(insertby)!==trim('".$_SESSION['nik']."')){";
|
||||
// $eventxle.=" dgtrasoap.setRowTextStyle(i, \"color:grey;\");";
|
||||
// $eventxle.=" }";
|
||||
// $eventxle.="}";
|
||||
$oncalendarshow="var dhxcalendar=myCal;";
|
||||
$oncalendarshow.="";
|
||||
$arrevent=array(
|
||||
array("eventname"=>"onRowSelect","eventparam"=>"rId",
|
||||
"statement"=>"$eventrowselect"
|
||||
),
|
||||
array("eventname"=>"onCalendarShow","eventparam"=>"myCal,row_id,col_ind",
|
||||
"statement"=>"$oncalendarshow"
|
||||
),
|
||||
// array("eventname"=>"onXLE","eventparam"=>"grid_obj,rcount",
|
||||
// "statement"=>"$eventxle"
|
||||
// )
|
||||
);
|
||||
$this->FN_DHTMLXGRIDVIEWEVENT("dgchild",$arrevent);
|
||||
|
||||
// if($childspassenger){
|
||||
// echo "fn_grid_default();";
|
||||
// }
|
||||
|
||||
echo " }
|
||||
|
||||
|
||||
function fn_grid_new(){
|
||||
var idx=rowid;
|
||||
var childspassenger='".$childspassenger."';
|
||||
var rowcount=dgchild.getRowsNum()+1;
|
||||
var idtiketpassenger=myForm.getItemValue('txt_idtiketpassenger');
|
||||
var gridid=dgchild.uid();";
|
||||
echo " dgchild.addRow(rowcount,[gridid,0,'','".date("Y-m-d")."','','','',idtiketpassenger]);
|
||||
|
||||
}
|
||||
|
||||
function fn_grid_delrow(){
|
||||
dhtmlx.confirm({
|
||||
title:'Confirmation',text:'Are you sure for delete this row?',type:'confirm',
|
||||
callback:function(result){
|
||||
if(result)
|
||||
{
|
||||
dgchild.deleteSelectedRows();
|
||||
if(rowid==0){
|
||||
dgchild.deleteSelectedRows();
|
||||
}
|
||||
else{
|
||||
var delchild=ajaxuridhtmlx('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticketc")."&task=".$this->enc("delchilds")."&id='+rowid).split('|');
|
||||
if(delchild[0]=='ok'){
|
||||
fn_dhtmlxmessage('','Data has been deleted. Thank you');
|
||||
// fn_grid_loaddata();
|
||||
}
|
||||
else{
|
||||
fn_dhtmlxmessage('error',delchild[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
function fn_grid_default(){
|
||||
var idx=rowid;
|
||||
var childspassenger='".$childspassenger."';
|
||||
var rowcount=dgchild.getRowsNum()+1;
|
||||
var idtiketpassenger=myForm.getItemValue('txt_idtiketpassenger');
|
||||
if(childspassenger){
|
||||
var sp=childspassenger.split(';');
|
||||
for(i=0;i<sp.length;i++)
|
||||
{
|
||||
var gridid=dgchild.uid();
|
||||
var spchild=sp[i].split('|');
|
||||
var idchild=spchild[1];
|
||||
var names=spchild[2];
|
||||
var birthofdate=spchild[3];
|
||||
var ages=spchild[4];
|
||||
var gender=spchild[5];
|
||||
var notes=spchild[6];
|
||||
var idtiketpassenger=spchild[7];
|
||||
|
||||
dgchild.addRow((i+1),[gridid,idchild,names,birthofdate,ages,gender,notes,idtiketpassenger]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function fn_setchild(){
|
||||
var rowcount=dgchild.getRowsNum();
|
||||
// alert(rowcount);
|
||||
if(rowcount<=0)
|
||||
{
|
||||
fn_dhtmlxmessage('error','Please add child first!');
|
||||
return false;
|
||||
}
|
||||
var valchilds='';
|
||||
for(i=1;i<=rowcount;i++)
|
||||
{
|
||||
// alert(valchilds);
|
||||
var idchilds=dgchild.cells(i,1).getValue();
|
||||
// alert('dd');
|
||||
var names=dgchild.cells(i,2).getValue();
|
||||
var birthofdate=dgchild.cells(i,3).getValue();
|
||||
var ages=dgchild.cells(i,4).getValue();
|
||||
var gender=dgchild.cells(i,5).getValue();
|
||||
var notes=dgchild.cells(i,6).getValue();
|
||||
var idtiketpassenger=dgchild.cells(i,7).getValue();
|
||||
|
||||
valchilds+=idchilds+'|'+names+'|'+birthofdate+'|'+ages+'|'+gender+'|'+notes+'|'+idtiketpassenger+';';
|
||||
|
||||
}
|
||||
valchilds=valchilds.substring(0,valchilds.length-1);
|
||||
window.parent.fn_closechildren(valchilds);
|
||||
}
|
||||
|
||||
function fn_grid_loaddata()
|
||||
{";
|
||||
|
||||
{
|
||||
var idtiketpassenger=myForm.getItemValue('txt_idtiketpassenger');
|
||||
url=fn_dhtmlxloadobject('".$this->enc("obj_tra")."','obj=".$this->enc("tra_newticketc")."&task=".$this->enc("grdrecord")."&idtiketpassenger='+idtiketpassenger);
|
||||
dgchild.clearAndLoad(url);";
|
||||
echo " }
|
||||
|
||||
</script>";
|
||||
@ -81,21 +238,83 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id=\"div_dbchild\" style=\"height:360px;width:99%;overflow:hidden\"></div>
|
||||
<div id=\"div_dgchild\" style=\"height:360px;width:99%;overflow:hidden\"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id=\"div_dbchildpaging\" style=\"width:740px;margin-top:1px\"></div>
|
||||
<div id=\"div_dgchildpaging\" style=\"width:740px;margin-top:1px\"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td valign=\"top\"><div id=\"loadergrid\" style=\"z-index:100;position:absolute;margin-top:-220px;margin-left:50%;display:visibility;\">".$this->CREATE_IMAGE("loadergrid.gif")."</div></td></tr>
|
||||
|
||||
<tr>
|
||||
<td valign=\"top\" align=\"left\">
|
||||
<table>
|
||||
<tr>
|
||||
<td style='color:red;font-weight:bold;'>Notes</td>
|
||||
<td>:</td>
|
||||
<td>- Double click row for edit</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>";
|
||||
|
||||
echo $this->FN_CREATEFOOTER();
|
||||
|
||||
}
|
||||
|
||||
public function fn_grdrecord()
|
||||
{
|
||||
$idtiketpassenger=$_REQUEST["idtiketpassenger"];
|
||||
header("Content-type: text/xml");
|
||||
echo('<?xml version="1.0" encoding="utf-8"?>');
|
||||
echo "<rows id='0'>";
|
||||
|
||||
$qry="select * from ".DB_APORTIL.".tbl_passenger_childs
|
||||
where idtiketpassenger='$idtiketpassenger' and isdeleted=0
|
||||
order by id asc limit ".TBL_PAGE_LIMIT;
|
||||
|
||||
$rs=$this->selectquery($qry);
|
||||
if($rs)
|
||||
{
|
||||
$i=1;
|
||||
while($row=$this->data_row_array($rs))
|
||||
{
|
||||
echo ("<row id='".$i."'>");
|
||||
print("<cell><![CDATA[".$i."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["id"]."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["names"]."</span>"."]]></cell>");
|
||||
print("<cell><![CDATA[".date("Y-m-d H:i:s",strtotime($row["birthofdate"]))."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["ages"]."</span>"."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["gender"]."</span>"."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["notes"]."</span>"."]]></cell>");
|
||||
print("<cell><![CDATA[".$row["idtiketpassenger"]."</span>"."]]></cell>");
|
||||
echo ("</row>");
|
||||
$i+=1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file<br>";
|
||||
echo "error at ".__LINE__." line in ".__FILE__." file<br>";
|
||||
}
|
||||
echo "</rows>";
|
||||
|
||||
}
|
||||
|
||||
public function fn_delchilds(){
|
||||
$id=$_REQUEST['id'];
|
||||
$qry="update ".DB_APORTIL.".tbl_passenger_childs set isdeleted=1,remarkdeleted='Cancel by user ',dby='".$_SESSION['nik']."',ddt=now()
|
||||
where id='$id'";
|
||||
if($this->executequery($qry)){
|
||||
echo "ok|";
|
||||
}
|
||||
else{
|
||||
echo "failed|Failed remove child";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user