new sources for photo exporter develop v0.0.1
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 25 Nov 2015 16:22:18 +0000 (11:22 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 25 Nov 2015 16:22:18 +0000 (11:22 -0500)
index.php [new file with mode: 0644]
mediaLibrary.php [new file with mode: 0644]
photoGallery.php [new file with mode: 0644]

diff --git a/index.php b/index.php
new file mode 100644 (file)
index 0000000..995fc18
--- /dev/null
+++ b/index.php
@@ -0,0 +1,7 @@
+<html>
+<head><title>Photo Exporter</title></head>
+<body>
+<a href="photoGallery.php">Photo Gallery</a>
+<a href="mediaLibrary.php">Media Library</a>
+</body>
+</html>
diff --git a/mediaLibrary.php b/mediaLibrary.php
new file mode 100644 (file)
index 0000000..d1a0567
--- /dev/null
@@ -0,0 +1,128 @@
+<?php
+
+$oldMask = umask(0);
+mkdir('images', 0770);
+define('IMG_BASE_URL', 'http://is0.gaslightmedia.com/staffords/pgs1/');
+define('PHOTO_SCHEMA', 'photos');
+define('PHOTO_CATEGORY', false);
+
+function grabImage($url, $saveTo)
+{
+    $ch = curl_init($url);
+    curl_setopt($ch, CURLOPT_HEADER, 0);
+    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
+    $raw = curl_exec($ch);
+    curl_close($ch);
+    $fp = fopen($saveTo, 'x');
+    fwrite($fp, $raw);
+    fclose($fp);
+}
+function cleanFileName($fileName)
+{
+    return preg_replace('/[!@#$%^&()+={};:\'\"\/ ]/', '-', $fileName);
+}
+function wp_unique_filename( $dir, $filename ) {
+
+    // Separate the filename into a name and extension.
+    $info = pathinfo($filename);
+    $ext = !empty($info['extension']) ? '.' . $info['extension'] : '';
+    $name = basename($filename, $ext);
+
+    // Edge case: if file is named '.ext', treat as an empty name.
+    if ( $name === $ext )
+        $name = '';
+
+    /*
+     * Increment the file number until we have a unique file to save in $dir.
+     * Use callback if supplied.
+     */
+    $number = '';
+
+    // Change '.ext' to lower case.
+    if ( $ext && strtolower($ext) != $ext ) {
+        $ext2 = strtolower($ext);
+        $filename2 = preg_replace( '|' . preg_quote($ext) . '$|', $ext2, $filename );
+
+        // Check for both lower and upper case extension or image sub-sizes may be overwritten.
+        while ( file_exists($dir . "/$filename") || file_exists($dir . "/$filename2") ) {
+            $new_number = $number + 1;
+            $filename = str_replace( "$number$ext", "$new_number$ext", $filename );
+            $filename2 = str_replace( "$number$ext2", "$new_number$ext2", $filename2 );
+            $number = $new_number;
+        }
+        return $filename2;
+    }
+
+    while ( file_exists( $dir . "/$filename" ) ) {
+        if ( '' == "$number$ext" )
+            $filename = $filename . ++$number . $ext;
+        else
+            $filename = str_replace( "$number$ext", ++$number . $ext, $filename );
+    }
+
+    return $filename;
+}
+try {
+    $dsn = 'pgsql: host=ds4 dbname=staffords user=postgres';
+    $driverOptions = array(
+        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+    );
+    $dbh = new PDO($dsn, null, null, $driverOptions);
+    $dbh->setAttribute(
+        PDO::ATTR_ERRMODE,
+        PDO::ERRMODE_EXCEPTION
+    );
+    $WHERE = (PHOTO_CATEGORY) ? "WHERE id IN (". PHOTO_CATEGORY .")" : "";
+    $sql = "
+      SELECT *
+        FROM " . PHOTO_SCHEMA . ".photo_category
+      $WHERE
+    ORDER BY category";
+
+    $stmt = $dbh->query($sql);
+
+    //echo '<pre>'.print_r($stmt->fetchAll(), true).'</pre>';
+    //exit;
+
+    $photoSql = "
+    SELECT p.*
+      FROM " . PHOTO_SCHEMA . ".photo p,
+           " . PHOTO_SCHEMA . ".photo2category p2c
+     WHERE p2c.category = :catid
+       AND p2c.photo = p.id
+    ORDER BY p2c.pos";
+    echo '<pre>' . print_r($photoSql, true) . '</pre>';
+    $photoStmt = $dbh->prepare($photoSql);
+
+    $data = array();
+    while ($category = $stmt->fetch(PDO::FETCH_ASSOC)) {
+        $folderName = cleanFileName($category['category']);
+        var_dump($folderName);
+        mkdir("images/{$folderName}", 0770);
+        $photoStmt->bindParam(':catid', $category['id']);
+        $photoStmt->execute();
+        while ($photo = $photoStmt->fetch(PDO::FETCH_ASSOC)) {
+            echo '<pre>'.print_r($photo, true).'</pre>';
+            $category['photos'][] = $photo;
+            // get the file extension for this image
+            $fileInfo = pathinfo($photo['image']);
+            //echo '<pre>' . print_r($fileInfo, true) . '</pre>';
+            $fileName  = ($photo['title']) ? cleanFileName($photo['title']) . '.' . $fileInfo['extension'] : $photo['image'];
+            var_dump($fileName);
+            $saveAsFileName = wp_unique_filename( "images/{$folderName}", $fileName);
+            var_dump($saveAsFileName);
+            //$saveAsFileName = "./images/{$folderName}/{$fileName}";
+            grabImage(IMG_BASE_URL . $photo['image'], 'images/' .  $folderName . '/' . $saveAsFileName);
+            //$fileName = $fileName . '.' . $fileInfo['extension'];
+            echo "<pre>{$fileName}</pre>";
+            echo "<pre>" . $folderName . '/' . $saveAsFileName . "</pre>";
+            //exit;
+        }
+        $data[] = $category;
+    }
+    //echo '<pre>'.print_r($data, true).'</pre>';
+} catch(PDOException $e) {
+    echo '<pre>'.print_r($e, true).'</pre>';
+}
+umask($oldMask);
diff --git a/photoGallery.php b/photoGallery.php
new file mode 100644 (file)
index 0000000..794641c
--- /dev/null
@@ -0,0 +1,123 @@
+<?php
+
+$oldMask = umask(0);
+mkdir('images', 0770);
+define('IMG_BASE_URL', 'http://is0.gaslightmedia.com/staffords/pgs1/');
+define('PHOTO_SCHEMA', 'photos');
+define('PHOTO_CATEGORY', false);
+
+function grabImage($url, $saveTo)
+{
+    $ch = curl_init($url);
+    curl_setopt($ch, CURLOPT_HEADER, 0);
+    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
+    $raw = curl_exec($ch);
+    curl_close($ch);
+    $fp = fopen($saveTo, 'x');
+    fwrite($fp, $raw);
+    fclose($fp);
+}
+function cleanFileName($fileName)
+{
+    return preg_replace('/[!@#$%^&()+={};:\'\"\/ ]/', '-', $fileName);
+}
+function wp_unique_filename( $dir, $filename ) {
+
+    // Separate the filename into a name and extension.
+    $info = pathinfo($filename);
+    $ext = !empty($info['extension']) ? '.' . $info['extension'] : '';
+    $name = basename($filename, $ext);
+
+    // Edge case: if file is named '.ext', treat as an empty name.
+    if ( $name === $ext )
+        $name = '';
+
+    /*
+     * Increment the file number until we have a unique file to save in $dir.
+     * Use callback if supplied.
+     */
+    $number = '';
+
+    // Change '.ext' to lower case.
+    if ( $ext && strtolower($ext) != $ext ) {
+        $ext2 = strtolower($ext);
+        $filename2 = preg_replace( '|' . preg_quote($ext) . '$|', $ext2, $filename );
+
+        // Check for both lower and upper case extension or image sub-sizes may be overwritten.
+        while ( file_exists($dir . "/$filename") || file_exists($dir . "/$filename2") ) {
+            $new_number = $number + 1;
+            $filename = str_replace( "$number$ext", "$new_number$ext", $filename );
+            $filename2 = str_replace( "$number$ext2", "$new_number$ext2", $filename2 );
+            $number = $new_number;
+        }
+        return $filename2;
+    }
+
+    while ( file_exists( $dir . "/$filename" ) ) {
+        if ( '' == "$number$ext" )
+            $filename = $filename . ++$number . $ext;
+        else
+            $filename = str_replace( "$number$ext", ++$number . $ext, $filename );
+    }
+
+    return $filename;
+}
+try {
+    $dsn = 'pgsql: host=ds4 dbname=staffords user=postgres';
+    $driverOptions = array(
+        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+    );
+    $dbh = new PDO($dsn, null, null, $driverOptions);
+    $dbh->setAttribute(
+        PDO::ATTR_ERRMODE,
+        PDO::ERRMODE_EXCEPTION
+    );
+    $WHERE = (PHOTO_CATEGORY) ? "WHERE id IN (". PHOTO_CATEGORY .")" : "";
+    $sql = "
+      SELECT *
+        FROM " . PHOTO_SCHEMA . ".photo_category
+      $WHERE
+    ORDER BY category";
+
+    $stmt = $dbh->query($sql);
+
+    //echo '<pre>'.print_r($stmt->fetchAll(), true).'</pre>';
+    //exit;
+
+    $photoSql = "
+    SELECT *
+      FROM " . PHOTO_SCHEMA . ".photo
+     WHERE catid = :catid";
+    $photoStmt = $dbh->prepare($photoSql);
+
+    $data = array();
+    while ($category = $stmt->fetch(PDO::FETCH_ASSOC)) {
+        $folderName = cleanFileName($category['category']);
+        mkdir("images/{$folderName}", 0770);
+        $photoStmt->bindParam(':catid', $category['id']);
+        $photoStmt->execute();
+        while ($photo = $photoStmt->fetch(PDO::FETCH_ASSOC)) {
+            echo '<pre>'.print_r($photo, true).'</pre>';
+            $category['photos'][] = $photo;
+            // get the file extension for this image
+            $fileInfo = pathinfo($photo['image']);
+            //echo '<pre>' . print_r($fileInfo, true) . '</pre>';
+            $fileName  = ($photo['title']) ? cleanFileName($photo['title']) . '.' . $fileInfo['extension'] : $photo['image'];
+            var_dump($fileName);
+            $saveAsFileName = wp_unique_filename( "images/{$folderName}", $fileName);
+            var_dump($saveAsFileName);
+            //$saveAsFileName = "./images/{$folderName}/{$fileName}";
+            grabImage(IMG_BASE_URL . $photo['image'], 'images/' .  $folderName . '/' . $saveAsFileName);
+            //$fileName = $fileName . '.' . $fileInfo['extension'];
+            echo "<pre>{$fileName}</pre>";
+            echo "<pre>" . $folderName . '/' . $saveAsFileName . "</pre>";
+            //exit;
+        }
+        $data[] = $category;
+    }
+    //echo '<pre>'.print_r($data, true).'</pre>';
+} catch(PDOException $e) {
+    echo '<pre>'.print_r($e, true).'</pre>';
+}
+umask($oldMask);