#!/usr/bin/perl # ######################################################### # برنامج مدرسة نت # # Ver 1.. # # www.maarefnet.org # # maarefnet@hotmail.com # # 1422-1423 # ######################################################### # برمجة / خالد بن عابد الحازمي # # By khh # # Khalid Hazmi # # Email : khh@khh.cc # ######################################################### use CGI; use CGI::Carp; $query = new CGI; do "config.pl"; if (!$query->param()) { &getsch; &getterm; &getclass; if ($UsePass==0) { &startform; } else { &startformp; } } else { $username=$query->param('username'); $userno=$query->param('userno'); $userpass=$query->param('userpass'); $alsaf=$query->param('clas'); $term=$query->param('term'); &getsch; &getclass; &getclassname; &getsubjects; if ($term==101) { &Pupils; exit; } &getterm; $najah=0; $found=0; $fff=$DataPath."a1".$alsaf.".dat"; open (SCH, $fff); while () { ($no,$pass,$name,$sh,$natigah,$totalsum,$totalsumd2,$ftagdeer,$f20_ss,$f20_sf,$solok,$mwazaba,$solok_f2,$mwazaba_f2,$dor2,$f15_sum,$f15_mt,$f15_md,$f15_ss,$f15_sf,$f15_alls,$f15_allf,$f10_sum,$f10_mt,$f10_md,$f10_ss,$f10_sf,$f10_alls,$f10_allf,$f25_sum,$f25_mt,$f25_md,$f25_ss,$f25_sf,$f25_alls,$f25_allf,@c)= split/_/; chomp($no); chomp($pass); if ($UsePass==0) { if ($no eq $userpass) { $found=1; &resultform; exit; } } else { if (($no eq $userno) && ($pass eq $userpass)) { $found=1; &resultform; exit; } } } close(SCH); # &startform; &endform; } sub startform { &header; print <<"OUT"; نتيجة طالب - $schname
$schname

اختر الصف

نتيجة

رقم الحاسب للطالب

OUT &footer; } sub startformp { &header; print <<"OUT"; نتيجة طالب - $schname
$schname

 اختر الصف

نتيجة

رقم الحاسب للطالب

كلمة المرور

OUT &footer; } #-------------------------------------------------------------- sub resultform { $saf=$safname ." ". $sh; if (($term == 20) || ($term == 30)) { if (($totalsum==0) && ($totalsumd2==0)) {$natigah=3;} if (($totalsum==0) && ($totalsumd2 > 0)) {$natigah=1;} &getnatigah; } else {$natigah ="=";} &header; print <<"OUT"; نتائج الطلاب لمدرسة

بسم الله الرحمن الرحيم

المكرم ولي أمر الطالب، السلام عليكم وحمة الله وبركاته وبعد
يسرنا أن نعرض لكم هذا التقرير الذي يوضح مستوى إبنكم متمنين لكم دوام التوفيق،،

$name الاسم
$natigah النتيجة $saf الصف
OUT if ($natigah eq "مكمل") { print <<"OUT";
الرجاء مراجة المدرسة لإستلام مواد الإكمال وجدول إختبارت الدور الثاني وشكرا،،
إدارة المدرسة.
OUT exit; } print <<"OUT"; -
OUT if (($term==30) && ($dor2==0)) {$term=20;} if ($term==10) {&HTerm10;} if ($term==15) {&HTerm15;} if ($term==20) {&HTerm20;} if ($term==25) {&HTerm25;} if ($term==30) {&HTerm30;} $x=-1; $tmaxend=0; $mwadd=0; $mwadt=0; foreach $c (@c) { $x=$x+1; $x1=$x+1; ($mrk1,$amal1,$ekt1,$mrk2,$amal2,$ekt2,$amald2,$ektd2)= split(/»/,$c); $mg1=$mrk1+$amal1+$ekt1; $mg2=$mrk2+$amal2+$ekt2; $mg=$mg1+$mg2; $mgd2=$amald2+$ektd2; ($lesson,$testnow,$maddahala,$maxend,$minend,$mosharaka,$ektebarsh,$ektebarf,$sort)= split(/_/,$subjects[$x]); if ( (($maddahala==1) || ($maddahala==2)) && ($sort != 99 ) ) { if (($term==15) || ($term==25)) { if ($testnow==2) {$tmaxend+=$ektebarf;} else {$tmaxend+=$ektebarsh;} } if ($term==10) { if ($testnow==2) {$tmaxend+=$ektebarf;} else {$tmaxend+=$mosharaka+$ektebarsh+$ektebarf;} } if ($term==20) {$tmaxend+=$maxend;} } if ($testnow==2) { $mg1=$ekt1;$mg2=$ekt2;$mg=$mg1+$mg2;} if ($term==15) {if ($testnow==2) {$t=&gettagdeer10($amal1,$minend);} else {$t=&gettagdeer15($amal1);}} if ($term==25) {if ($testnow==2) {$t=&gettagdeer10($amal2,$minend);} else {$t=&gettagdeer15($amal2);}} if ($mosharaka==0) {$mrk1="=";$mrk2="=";} if ($ektebarsh==0) {$amal1="=";$amal2="=";} if ($testnow==2) {$amal1="تقويم مستمر";$amal2="تقويم مستمر";} if (!((($testnow==1) && ($mosharaka==0)) || ($sort==99))) { if ($term==15) {&NTerm15;} if ($term==25) {&NTerm25;} } if ($term==10) {$t=&gettagdeer10($mg1,$minend); &NTerm10;} if ($term==20) {$mg=RoundU($mg); $t=&gettagdeer20($mg); &NTerm20;} if ($term==30) {$t=&gettagdeer20($mgd2,$minend); &NTerm30;} if ($term==20) {if ($mg<$minend) {$mwadd=+1;} if ($mg>=90) {$mwadt=+1;}} } if ($term==15){$mwadd=$f15_md;$mwadt=$f15_mt;$tss=$f15_ss;$tsf=$f15_sf;$talls=$f15_alls;$tallf=$f15_allf; $totalsum=$f15_sum;} if ($term==10){$mwadd=$f10_md;$mwadt=$f10_mt;$tss=$f10_ss;$tsf=$f10_sf;$talls=$f10_alls;$tallf=$f10_allf; $totalsum=$f10_sum ;# + $solok+$mwazaba; $tmaxend=$tmaxend+100;} if ($term==25){$mwadd=$f25_md;$mwadt=$f25_mt;$tss=$f25_ss;$tsf=$f25_sf;$talls=$f25_alls;$tallf=$f25_allf; $totalsum=$f25_sum;} if ($term==20){$tss=$f20_ss;$tsf=$f20_sf;$talls=$f25_alls;$tallf=$f25_allf; $solok=$solok+$solok_f2;$mwazaba=$mwazaba+$mwazaba_f2; $tmaxend=$tmaxend+200;} #if ($term==10) {$totalsum=$totalsum+$solok+$mwazaba;} $alnesbah=sprintf("%.2f", ($totalsum/$tmaxend)*100); if ($term==20){$ftagdeer=&gettagdeer($ftagdeer);} $ftagdeer=&gettagdeer20($alnesbah); print <<"OUT";

OUT if (($term==10) || ($term==20)) {&Solok;} &FTerm; &footer; } # ------------------------------------------------------------------------------------------- sub Pupils { &getsch; &getclassME; &header; print <<"OUT"; الطللاب الناجحين

بسم الله الرحمن الرحيم

$schname في $safname اسماء الناجحين في الصف
-
OUT $fff=$DataPath."a1".$alsaf.".dat"; $x=0; $con=0; open (SCH, $fff); while () { ($no,$pass,$name,$sh,$natigah,$totalsum,$totalsumd2,$ftagdeer,$f20_ss,$f20_sf)= split/_/; if ($natigah==$con) { $x+=1; $ftagdeer=&gettagdeer($ftagdeer); # $sh=&getfasl; $alnesbah=sprintf("%.2f", ($totalsum/$ME)*100); &DTerm101; } } print <<"OUT";
م اسم الطالب الفصل الترتيب المجموع النسبة التقدير
الصف الفصل

OUT &footer; } # ------------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------- sub DTerm101 { print <<"OUT"; $x $name $sh $f20_ss $f20_sf $totalsum $alnesbah% $ftagdeer OUT } sub HTerm15 { print <<"OUT"; م المادة اختبار منتصف الفصل التقدير OUT } sub NTerm15 { print <<"OUT"; $x1 $lesson $amal1 $t OUT } sub HTerm25 { print <<"OUT"; م المادة اختبار منتصف الفصل التقدير OUT } sub NTerm25 { print <<"OUT"; $x1 $lesson $amal2 $t OUT } #--------------------- sub HTerm10 { print <<"OUT"; م المادة متصف الفصل المشاركة النهائي المجموع الكلي التقدير OUT } sub NTerm10 { print <<"OUT"; $x1 $lesson $amal1 $mrk1 $ekt1 $mg1 $t OUT } #--------------------- sub HTerm20 { print <<"OUT"; م المادة مجموع الفصل الأول الفصل الثاني المجموع الكلي التقدير المنتصف المشاركة النهائي OUT } sub NTerm20 { print <<"OUT"; $x1 $lesson $mg1 $amal2 $mrk2 $ekt2 $mg $t OUT } #--------------------- sub HTerm30 { print <<"OUT"; التقدير المجموع الكلي الدور الثاني المادة م الاختبار الأعمال OUT } sub NTerm30 { print <<"OUT"; $t $mgd2 $ektd2 $amald2 $lesson $x1 OUT } sub Solok { print <<"OUT";
السلوك $solok المواظبة $mwazaba

OUT } sub FTerm { print <<"OUT";
درجات الطالب $totalsum المجموع النهائي $tmaxend النسبة % $alnesbah التقدير $ftagdeer مواد التفوق $mwadt
الترتيب على الصف $tss من $talls الترتيب على الفصل $tsf من $tallf مواد الضعف $mwadd
OUT &goback; } sub getclass { $fff=$DataPath."a.dat"; open (LIST, $fff); @cla=; close(LIST); } sub getclassname { foreach $cln (@cla) { ($serial,$safname,$fosolcount,$madacount)= split(/_/,$cln); if ($serial==$alsaf) {return;} } } sub getsubjects { $fff=$DataPath."a0".$alsaf.".dat"; open (LIST, $fff); @subjects=; close(LIST); } sub getclassME { $ME=0; foreach $subject (@subjects) { ($lesson,$testnow,$maddahala,$maxend)= split(/_/,$subject); $ME+=$maxend; } return($ME); } sub getterm { $fff=$DataPath."b.dat"; open (LIST, $fff); @terms=; close(LIST); } sub getaff { $fff=$DataPath."d.dat"; open (LIST, $fff); @aff=; close(LIST); } sub getsch { $fff=$DataPath."c.dat"; open (LIST, $fff); ($schno,$schname,$schyear,$schorg,$schstate,$schtaleem,$schlevel,$schcity,$schhood,$schstreet,$schtel,$schfax,$schplan,$schtype,$schemail,$scholdname) = split(/_/,); close(LIST); } sub gettagdeer { my $ta = shift(@_); return ("ممتاز") if ($ta==1); return ("جيدجداً") if ($ta==2); return ("جيد") if ($ta==3); return ("مقبول") if ($ta==4); return ("راسب"); } sub gettagdeer15 { my $ta = shift(@_); if ($ta eq "تقويم مستمر") {return ("=");} return ("ممتاز") if ($ta>13); return ("جيدجداً") if ($ta>11); return ("جيد") if ($ta>=9); return ("مقبول") if ($ta>7); return ("ضعيف"); } sub gettagdeer10 { my $ta = shift(@_); my $en = shift(@_); return ("ممتاز") if ($ta>=45); return ("جيدجداً") if ($ta>=37.5); return ("جيد") if ($ta>=30); return ("مقبول") if ($ta>=($en/2)); return ("ضعيف"); } sub gettagdeer20 { my $ta = shift(@_); my $en = shift(@_); return ("ممتاز") if ($ta>=90); return ("جيدجداً") if ($ta>=75); return ("جيد") if ($ta>=60); return ("مقبول") if ($ta>=($en)); return ("ضعيف"); } sub getnatigah { $natigah="ناجح في الدور الأول" if ($natigah==0); $natigah="ناجح في الدور الثاني" if ($natigah==1); $natigah="مكمل" if ($natigah==2); $natigah="مكمل" if ($natigah==3); return ($natigah); } sub RoundU { my $num = shift(@_); if (($num - int($num)) > 0) { return (int($num)+1); } else { return $num; } } #------------------------------------------------------------------------- sub goback { print <<"OUT"; رجوع OUT } sub endform { &header; print <<"OUT";
بيانات الطالب غير صحيحة الرجاء الاتصال بالمدرسة لمعرفة البيانات الصحيحة
OUT &footer; } sub header { print <<"OUT"; Content-type: text/html\n\n
OUT } sub footer { print <<"OUT";
$schname

(مدرسة نت $Ver) - برمجة: شبكة معارف
OUT }