comparison mgtool.php @ 300:7bccb4204e6e

Cleanup indent and use if instead of switch/case.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 26 Mar 2020 10:54:51 +0200
parents 338bc2941976
children b72da68991ed
comparison
equal deleted inserted replaced
299:338bc2941976 300:7bccb4204e6e
731 break; 731 break;
732 } 732 }
733 } 733 }
734 } 734 }
735 735
736 switch ($galBackend) 736 if ($galBackend == "sql" && $flagSQL)
737 { 737 {
738 case "sql": 738 mgDBBeginTransaction();
739 if (!$flagSQL) 739
740 break; 740 if (($path_id = mgFetchSQLColumn(mgPrepareSQL("SELECT id FROM paths WHERE path=%s", $gallery["path"]))) === FALSE &&
741 741 ($path_id = mgExecSQLInsert(mgPrepareSQL("INSERT INTO paths (path) VALUES (%s)", $gallery["path"]))) === FALSE)
742 mgDBBeginTransaction(); 742 mgFatal("SQL path select failed.\n");
743 743
744 if (($path_id = mgFetchSQLColumn(mgPrepareSQL("SELECT id FROM paths WHERE path=%s", $gallery["path"]))) === FALSE && 744 foreach ($output as $entry => &$edata)
745 ($path_id = mgExecSQLInsert(mgPrepareSQL("INSERT INTO paths (path) VALUES (%s)", $gallery["path"]))) === FALSE) 745 if ($edata["type"] == 0)
746 {
747 $ekeys = ["path_id", "filename"];
748 $evals = [$path_id, mgDBGetSQLParam($db, "s", $entry)];
749 $esets = [];
750
751 foreach ($galExifConversions as $econv)
752 if ($econv[GEC_IS_UNIQUE])
753 {
754 $ekey = $econv[GEC_NAME];
755
756 // Skip unset and special case(s)
757 if (!isset($esets[$ekey]) && isset($edata[$ekey]))
758 {
759 $esets[$ekey] = TRUE;
760
761 switch ($econv[GEC_TYPE])
762 {
763 case MG_DATE: $etype = "D"; break;
764 case MG_INT: $etype = "d"; break;
765 default: $etype = "s"; break;
766 }
767
768 $ekeys[] = $ekey;
769 $evals[] = mgDBGetSQLParam($db, $etype, $edata[$ekey]);
770 }
771 }
772
773 $sql = "INSERT INTO images (".implode(",", $ekeys).") VALUES (".implode(",", $evals).")";
774 if (($image_id = mgExecSQLInsert($sql)) === FALSE)
746 mgFatal("Failed.\n"); 775 mgFatal("Failed.\n");
747 776
748 777 // Special handling for non-unique fields
749 778 foreach ($galExifConversions as $econv)
750 foreach ($output as $entry => &$edata) 779 {
751 if ($edata["type"] == 0) 780 $ekey = $econv[GEC_NAME];
752 { 781 if (!$econv[GEC_IS_UNIQUE] &&
753 $ekeys = ["path_id", "filename"]; 782 array_key_exists($econv[GEC_NAME], $edata))
754 $evals = [$path_id, mgDBGetSQLParam($db, "s", $entry)];
755 $esets = [];
756
757 foreach ($galExifConversions as $econv)
758 if ($econv[GEC_IS_UNIQUE])
759 { 783 {
760 $ekey = $econv[GEC_NAME]; 784 if (is_array($edata[$ekey]))
761
762 // Skip unset and special case(s)
763 if (!isset($esets[$ekey]) && isset($edata[$ekey]))
764 { 785 {
765 $esets[$ekey] = TRUE; 786 foreach ($edata[$ekey] as $kw)
766
767 switch ($econv[GEC_TYPE])
768 { 787 {
769 case MG_DATE: $etype = "D"; break; 788 $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $kw);
770 case MG_INT: $etype = "d"; break;
771 default: $etype = "s"; break;
772 }
773
774 $ekeys[] = $ekey;
775 $evals[] = mgDBGetSQLParam($db, $etype, $edata[$ekey]);
776 }
777 }
778
779 $sql = "INSERT INTO images (".implode(",", $ekeys).") VALUES (".implode(",", $evals).")";
780 if (($image_id = mgExecSQLInsert($sql)) === FALSE)
781 mgFatal("Failed.\n");
782
783 // Special handling for non-unique fields
784 foreach ($galExifConversions as $econv)
785 {
786 $ekey = $econv[GEC_NAME];
787 if (!$econv[GEC_IS_UNIQUE] &&
788 array_key_exists($econv[GEC_NAME], $edata))
789 {
790 if (is_array($edata[$ekey]))
791 {
792 foreach ($edata[$ekey] as $kw)
793 {
794 $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $kw);
795 if (($id = mgExecSQLInsert($sql)) === FALSE)
796 mgFatal("Failure!\n");
797
798 $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id);
799 if (($id = mgExecSQL($sql)) === FALSE)
800 mgFatal("Failure!\n");
801 }
802 }
803 else
804 {
805 $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $edata[$ekey]);
806 if (($id = mgExecSQLInsert($sql)) === FALSE) 789 if (($id = mgExecSQLInsert($sql)) === FALSE)
807 mgFatal("Failure!\n"); 790 mgFatal("Failure!\n");
808 791
809 $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id); 792 $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id);
810 if (($id = mgExecSQL($sql)) === FALSE) 793 if (($id = mgExecSQL($sql)) === FALSE)
811 mgFatal("Failure!\n"); 794 mgFatal("Failure!\n");
812 } 795 }
813
814 } 796 }
797 else
798 {
799 $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $edata[$ekey]);
800 if (($id = mgExecSQLInsert($sql)) === FALSE)
801 mgFatal("Failure!\n");
802
803 $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id);
804 if (($id = mgExecSQL($sql)) === FALSE)
805 mgFatal("Failure!\n");
806 }
807
815 } 808 }
816 } 809 }
817 810 }
818 mgDBCommitTransaction(); 811
819 break; 812 mgDBCommitTransaction();
820
821 } 813 }
822 814
823 $str = 815 $str =
824 "<?php\n". 816 "<?php\n".
825 "\$galData = ".var_export($gallery, TRUE).";\n". 817 "\$galData = ".var_export($gallery, TRUE).";\n".