--- /dev/null
+<?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);
--- /dev/null
+<?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);