# HG changeset patch # User Matti Hamalainen # Date 1585212891 -7200 # Node ID 7bccb4204e6ea08adb7f998fe54f6e7b3b5fd7a0 # Parent 338bc2941976ca3523a94e3f6247aab2466af757 Cleanup indent and use if instead of switch/case. diff -r 338bc2941976 -r 7bccb4204e6e mgtool.php --- a/mgtool.php Mon Sep 30 15:09:11 2019 +0300 +++ b/mgtool.php Thu Mar 26 10:54:51 2020 +0200 @@ -733,91 +733,83 @@ } } - switch ($galBackend) + if ($galBackend == "sql" && $flagSQL) { - case "sql": - if (!$flagSQL) - break; + mgDBBeginTransaction(); + + if (($path_id = mgFetchSQLColumn(mgPrepareSQL("SELECT id FROM paths WHERE path=%s", $gallery["path"]))) === FALSE && + ($path_id = mgExecSQLInsert(mgPrepareSQL("INSERT INTO paths (path) VALUES (%s)", $gallery["path"]))) === FALSE) + mgFatal("SQL path select failed.\n"); + + foreach ($output as $entry => &$edata) + if ($edata["type"] == 0) + { + $ekeys = ["path_id", "filename"]; + $evals = [$path_id, mgDBGetSQLParam($db, "s", $entry)]; + $esets = []; + + foreach ($galExifConversions as $econv) + if ($econv[GEC_IS_UNIQUE]) + { + $ekey = $econv[GEC_NAME]; - mgDBBeginTransaction(); + // Skip unset and special case(s) + if (!isset($esets[$ekey]) && isset($edata[$ekey])) + { + $esets[$ekey] = TRUE; - if (($path_id = mgFetchSQLColumn(mgPrepareSQL("SELECT id FROM paths WHERE path=%s", $gallery["path"]))) === FALSE && - ($path_id = mgExecSQLInsert(mgPrepareSQL("INSERT INTO paths (path) VALUES (%s)", $gallery["path"]))) === FALSE) + switch ($econv[GEC_TYPE]) + { + case MG_DATE: $etype = "D"; break; + case MG_INT: $etype = "d"; break; + default: $etype = "s"; break; + } + + $ekeys[] = $ekey; + $evals[] = mgDBGetSQLParam($db, $etype, $edata[$ekey]); + } + } + + $sql = "INSERT INTO images (".implode(",", $ekeys).") VALUES (".implode(",", $evals).")"; + if (($image_id = mgExecSQLInsert($sql)) === FALSE) mgFatal("Failed.\n"); - - - foreach ($output as $entry => &$edata) - if ($edata["type"] == 0) + // Special handling for non-unique fields + foreach ($galExifConversions as $econv) { - $ekeys = ["path_id", "filename"]; - $evals = [$path_id, mgDBGetSQLParam($db, "s", $entry)]; - $esets = []; - - foreach ($galExifConversions as $econv) - if ($econv[GEC_IS_UNIQUE]) + $ekey = $econv[GEC_NAME]; + if (!$econv[GEC_IS_UNIQUE] && + array_key_exists($econv[GEC_NAME], $edata)) { - $ekey = $econv[GEC_NAME]; - - // Skip unset and special case(s) - if (!isset($esets[$ekey]) && isset($edata[$ekey])) + if (is_array($edata[$ekey])) { - $esets[$ekey] = TRUE; - - switch ($econv[GEC_TYPE]) + foreach ($edata[$ekey] as $kw) { - case MG_DATE: $etype = "D"; break; - case MG_INT: $etype = "d"; break; - default: $etype = "s"; break; - } - - $ekeys[] = $ekey; - $evals[] = mgDBGetSQLParam($db, $etype, $edata[$ekey]); - } - } - - $sql = "INSERT INTO images (".implode(",", $ekeys).") VALUES (".implode(",", $evals).")"; - if (($image_id = mgExecSQLInsert($sql)) === FALSE) - mgFatal("Failed.\n"); - - // Special handling for non-unique fields - foreach ($galExifConversions as $econv) - { - $ekey = $econv[GEC_NAME]; - if (!$econv[GEC_IS_UNIQUE] && - array_key_exists($econv[GEC_NAME], $edata)) - { - if (is_array($edata[$ekey])) - { - foreach ($edata[$ekey] as $kw) - { - $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $kw); - if (($id = mgExecSQLInsert($sql)) === FALSE) - mgFatal("Failure!\n"); - - $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id); - if (($id = mgExecSQL($sql)) === FALSE) - mgFatal("Failure!\n"); - } - } - else - { - $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $edata[$ekey]); + $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $kw); if (($id = mgExecSQLInsert($sql)) === FALSE) mgFatal("Failure!\n"); - $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id); + $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id); if (($id = mgExecSQL($sql)) === FALSE) mgFatal("Failure!\n"); } + } + else + { + $sql = mgPrepareSQL("INSERT INTO metadata (field,data,status) VALUES (%s,%s,0) ON CONFLICT(data) DO UPDATE SET status=1", $ekey, $edata[$ekey]); + if (($id = mgExecSQLInsert($sql)) === FALSE) + mgFatal("Failure!\n"); + $sql = mgPrepareSQL("INSERT INTO images_meta (image_id,meta_id) VALUES (%d,%d)", $image_id, $id); + if (($id = mgExecSQL($sql)) === FALSE) + mgFatal("Failure!\n"); } + } } + } - mgDBCommitTransaction(); - break; - + mgDBCommitTransaction(); } $str =