37 if(is_array($attachments)) {
38 foreach ($attachments as $attachment) {
47 if(is_array($materialDonations)) {
48 foreach($materialDonations as $materialDonation) {
57 if(is_array($financialDonations)) {
58 foreach ($financialDonations as $financialDonation) {
67 if(is_array($producedParts)) {
68 foreach($producedParts as $producedPart) {
77 if(is_array($events)) {
78 foreach ($events as $event) {
88 $stmt = $mysqli->prepare(
'UPDATE '.$db[
'sponsor_car'].
' SET
91 WHERE sponsor_car_id = ?');
92 $stmt->bind_param(
"ii", $loggedInUser->userId, $sponsorCarId);
97 $stmt = $mysqli->prepare(
"DELETE FROM " . $db[
'sponsor_car'] .
"
98 WHERE sponsor_car_id = ?");
99 $stmt->bind_param(
"i", $sponsorCarId);
100 $result = $stmt->execute();
121 for ($i = 1; $i <= 4; $i++) {
124 for ($j = $i; $j > 0; $j--) {
136 if(is_array($productionFacilities)) {
137 foreach ($productionFacilities as $productionFacility) {
139 for ($j = 4; $j > 0; $j--) {
149 if(is_array($contactPersons)) {
150 foreach ($contactPersons as $contactPerson) {
152 for ($j = 4; $j > 0; $j--) {
162 if(is_array($sponsorCars)) {
163 foreach ($sponsorCars as $sponsorCar) {
165 for ($j = 4; $j > 0; $j--) {
177 $stmt = $mysqli->prepare(
'UPDATE '.$db[
'sponsor'].
' SET
180 WHERE sponsor_id = ?');
181 $stmt->bind_param(
"ii", $loggedInUser->userId, $sponsorId);
186 $stmt = $mysqli->prepare(
"DELETE FROM " . $db[
'sponsor'] .
"
187 WHERE sponsor_id = ?");
188 $stmt->bind_param(
"i", $sponsorId);
189 $result = $stmt->execute();
214 if(is_array($cars)) {
221 $qry =
"DELETE FROM ".$dbBackup[
'contact_person'].
" WHERE bup_sponsor_id = ?";
222 $stmt = $mysqli->prepare($qry);
223 $stmt->bind_param(
'i',$sponsorId);
224 $result = $stmt->execute();
226 if($result===FALSE) {
231 $qry =
"DELETE FROM ".$dbBackup[
'sp_production_facility'].
" WHERE bup_sponsor_id = ?";
232 $stmt = $mysqli->prepare($qry);
233 $stmt->bind_param(
'i',$sponsorId);
234 $result = $stmt->execute();
236 if($result===FALSE) {
241 $qry =
"SELECT `bup_sponsor_logo`
242 FROM ".$dbBackup[
'sponsor'].
"
243 WHERE bup_sponsor_id = ?";
244 $stmt = $mysqli->prepare($qry);
245 $stmt->bind_param(
'i',$sponsorId);
247 $stmt->bind_result($sponsorLogo);
249 while($stmt->fetch()) {
250 if (file_exists(
ABS_PATH.$sponsorLogo) && !empty($sponsorLogo)) {
254 $pathParts = pathinfo($sponsorLogo);
255 $files = glob(
ABS_PATH.$pathParts[
'dirname'].
'/_scaled/'.$pathParts[
'filename'].
'*.'.$pathParts[
'extension']);
256 foreach($files as $file){
257 if (file_exists($file)) {
267 $qry =
"DELETE FROM ".$dbBackup[
'sponsor'].
" WHERE bup_sponsor_id = ?";
268 $stmt = $mysqli->prepare($qry);
269 $stmt->bind_param(
'i',$sponsorId);
270 $result = $stmt->execute();
272 if($result===FALSE) {
277 return $totalRemoved;
299 if(is_array($cars)) {
301 foreach ($cars as $car) {
302 $stmt = $mysqli->prepare(
'
304 FROM '.$dbBackup[
'sc_attachment'].
'
305 WHERE bup_sponsor_car_id = ?');
306 $stmt->bind_param(
'i', $car[
'id']);
309 $stmt->bind_result($path);
310 while ($stmt->fetch()) {
311 $attachmentsToDelete[] = array(
'path' => $path);
314 if (is_array($attachmentsToDelete)) {
315 foreach ($attachmentsToDelete as $attachment) {
317 if (file_exists(
ABS_PATH.$attachment[
'path']) && !empty($attachment[
'path'])) {
318 unlink(
ABS_PATH.$attachment[
'path']);
326 foreach ($cars as $car) {
327 if(is_numeric($car[
'id'])) {
328 $deleteClause .=
'bup_sponsor_car_id = '.$car[
'id'].
' OR ';
332 $deleteClause = substr($deleteClause, 0, strlen($deleteClause)-4);
336 $tables = array(
'sc_attachment',
'sc_event',
'sc_financial_donation',
'sc_material_donation',
'sc_produced_part',
'sponsor_car');
337 foreach ($tables as $table) {
338 $qry =
"DELETE FROM ".MYSQL_PREFIX_BACKUP.$table.
" WHERE ".$deleteClause;
339 $stmt = $mysqli->prepare($qry);
340 $result = $stmt->execute();
342 if($result===FALSE) {
345 $totalRemoved += $result;
348 return $totalRemoved;
350 }
else if(isset($carId)) {
351 if(is_numeric($carId)) {
353 $stmt = $mysqli->prepare(
'
355 FROM '.$dbBackup[
'sc_attachment'].
'
356 WHERE bup_sponsor_car_id = ?');
357 $stmt->bind_param(
'i', $carId);
360 $stmt->bind_result($path);
361 while ($stmt->fetch()) {
362 $attachmentsToDelete[] = array(
'path' => $path);
365 if (is_array($attachmentsToDelete)) {
366 foreach ($attachmentsToDelete as $attachment) {
368 if (file_exists(
ABS_PATH.$attachment[
'path'])) {
369 unlink(
ABS_PATH.$attachment[
'path']);
376 $tables = array(
'sc_attachment',
'sc_event',
'sc_financial_donation',
'sc_material_donation',
'sc_produced_part',
'sponsor_car');
377 foreach ($tables as $table) {
378 $qry =
"DELETE FROM ".MYSQL_PREFIX_BACKUP.$table.
" WHERE bup_sponsor_car_id = ?";
379 $stmt = $mysqli->prepare($qry);
380 $stmt->bind_param(
'i',$carId);
381 $result = $stmt->execute();
383 if($result===FALSE) {
386 $totalRemoved += $result;
389 return $totalRemoved;
408 if (isset($sponsorId)) {
409 $qry =
'SELECT DISTINCT bup_sponsor_car_id, bup_car_name
410 FROM '.$dbBackup[
'sponsor_car'].
' AS sc LEFT JOIN '.$dbBackup[
'car'].
' AS c ON sc.bup_car_id = c.bup_car_id
411 WHERE bup_sponsor_id = ?';
412 $stmt = $mysqli->prepare($qry);
413 $stmt->bind_param(
'i', $sponsorId);
416 $stmt->bind_result($id,$name);
419 while ($stmt->fetch()) {
420 $deletedSponsorCars [] = array(
'id' => $id,
'name'=>$name);
423 if($fetchTimestamp) {
424 if(is_array($deletedSponsorCars)) {
425 foreach ($deletedSponsorCars as &$deletedSponsorCar) {
426 $qry =
"SELECT `bup_last_change_at`,`bup_last_change_by`
427 FROM ".$dbBackup[
'sponsor_car'].
"
428 WHERE `bup_sponsor_car_id` = ?
429 ORDER BY `bup_last_change_at` DESC LIMIT 1";
430 $stmt = $mysqli->prepare($qry);
431 $stmt->bind_param(
'i',$deletedSponsorCar[
'id']);
433 $stmt->bind_result($timestamp,$userId);
434 $stmt->store_result();
436 $deletedSponsorCar[
'timestamp'] = $timestamp;
437 $deletedSponsorCar[
'user'] = array(
'id'=>$userId,
'name'=>
fetchUsername($userId));
443 return isset($deletedSponsorCars) ? $deletedSponsorCars :
false;
460 if (is_numeric($sponsorId)) {
461 $qry =
'SELECT DISTINCT sc.bup_sponsor_car_id, c.bup_car_id, c.bup_car_name
462 FROM '.$dbBackup[
'sponsor_car'].
' AS sc LEFT JOIN '.$dbBackup[
'car'].
' AS c ON sc.bup_car_id = c.bup_car_id
463 WHERE bup_sponsor_id = ? AND c.bup_car_name = (
464 SELECT c2.bup_car_name
465 FROM '.$dbBackup[
'car'].
' AS c2
466 WHERE c2.bup_car_id = c.bup_car_id
467 ORDER BY c2.bup_last_change_at DESC LIMIT 1)
468 ORDER BY c.bup_car_name';
469 $stmt = $mysqli->prepare($qry);
470 $stmt->bind_param(
'i', $sponsorId);
473 $stmt->bind_result($id,$carId,$name);
475 while ($stmt->fetch()) {
476 $deletedSponsorCars [] = array(
'id' => $id,
'name'=>$name);
480 if($fetchTimestamp) {
481 if(is_array($deletedSponsorCars)) {
482 foreach ($deletedSponsorCars as &$deletedSponsorCar) {
483 $qry =
"SELECT `bup_last_change_at`,`bup_last_change_by`
484 FROM ".$dbBackup[
'sponsor_car'].
"
485 WHERE `bup_sponsor_car_id` = ?
486 ORDER BY `bup_last_change_at` DESC LIMIT 1";
487 $stmt = $mysqli->prepare($qry);
488 $stmt->bind_param(
'i',$deletedSponsorCar[
'id']);
490 $stmt->bind_result($timestamp,$userId);
491 $stmt->store_result();
493 $deletedSponsorCar[
'timestamp'] = $timestamp;
494 $deletedSponsorCar[
'user'] = array(
'id'=>$userId,
'name'=>
fetchUsername($userId));
500 return isset($deletedSponsorCars) ? $deletedSponsorCars :
false;
515 $qry =
"SELECT t6.`bup_sponsor_id`, t6.`bup_sponsor_name`, t6.`bup_sponsor_logo` FROM(
517 FROM ".$dbBackup[
'sponsor'].
" AS t4
518 WHERE t4.bup_sponsor_id IN (
519 SELECT DISTINCT t5.bup_sponsor_id
520 FROM ".$dbBackup[
'sponsor'].
" AS t5
521 WHERE t5.bup_sponsor_name like '*deleted*')
522 AND t4.bup_sponsor_name NOT LIKE '*deleted*'
525 GROUP BY t6.bup_sponsor_id";
526 $stmt = $mysqli->prepare($qry);
528 $stmt->bind_result($id,$name, $logoPath);
529 while($stmt->fetch()) {
530 $deletedSponsors[] = array(
'id' => $id,
'name' => $name,
'sponsorLogo' => $logoPath);
534 if(isset($deletedSponsors)) {
535 if(is_array($deletedSponsors)) {
536 foreach ($deletedSponsors as &$deletedSponsor) {
537 $qry =
"SELECT `bup_last_change_at`,`bup_last_change_by`
538 FROM ".$dbBackup[
'sponsor'].
"
539 WHERE `bup_sponsor_id` = ?
540 ORDER BY `bup_last_change_at` DESC LIMIT 1";
541 $stmt = $mysqli->prepare($qry);
542 $stmt->bind_param(
'i',$deletedSponsor[
'id']);
544 $stmt->bind_result($timestamp,$userId);
545 $stmt->store_result();
547 $deletedSponsor[
'timestamp'] = $timestamp;
548 $deletedSponsor[
'user'] = array(
'id' => $userId,
'name' =>
fetchUsername($userId));
550 $stmt->free_result();
554 return ($deletedSponsors);
569 if (is_numeric($sponsorId)) {
571 $stmt = $mysqli->prepare(
"SELECT bup_sponsor_name
572 FROM " . $dbBackup[
'sponsor'] .
"
573 WHERE bup_sponsor_id = ? AND bup_sponsor_name = '*deleted*'
575 $stmt->bind_param(
"i", $sponsorId);
577 $stmt->store_result();
578 $num_returns = $stmt->num_rows;
581 if ($num_returns > 0) {
598 $qry =
"SELECT t1.`sponsor_id`, t1.`sponsor_name`, t1.`sponsor_logo`
599 FROM ".$db[
'sponsor'].
" AS t1
600 WHERE t1.`sponsor_id` IN (
601 SELECT DISTINCT t2.`bup_sponsor_id`
602 FROM ".$dbBackup[
'sponsor_car'].
" AS t2
603 WHERE t2.`bup_hints` like \"*deleted*\")
604 AND t1.`sponsor_id` != 0
605 GROUP BY t1.`sponsor_id`
606 ORDER BY t1.`sponsor_name` ASC";
607 $stmt = $mysqli->prepare($qry);
609 $stmt->bind_result($id,$name, $logoPath);
610 while($stmt->fetch()) {
611 $sponsorsWithDeletedCars[] = array(
'id' => $id,
'name' => $name,
'sponsorLogo' => $logoPath);
615 if(isset($sponsorsWithDeletedCars)) {
616 return ($sponsorsWithDeletedCars);