WordPress.org

Plugin Directory

Changeset 227761


Ignore:
Timestamp:
04/12/10 00:59:05 (8 years ago)
Author:
johncoswell
Message:

updates for wp 2.9 and wp 3.0, new maintainer needed

Location:
comicpress-manager
Files:
2 added
3 deleted
14 edited
11 copied

Legend:

Unmodified
Added
Removed
  • comicpress-manager/tags/1.4.9.2/actions/comicpress_build-storyline-schema.php

    r98425 r227761  
    2828 
    2929    foreach ($_POST as $field => $value) { 
     30      $value = stripslashes($value); 
    3031      $parts = explode("/", $field); 
    3132      if (($parts[0] == "0") && (count($parts) > 1)) { 
    3233        $category_id = end($parts); 
    33         $category = get_category($category_id, ARRAY_A); 
     34        $category = get_category($category_id); 
    3435        if (!empty($category)) { 
     36            $category = (array)$category; 
    3537          if ($category['cat_name'] != $value) { 
    3638            $cpm_config->messages[] = sprintf(__('Category <strong>%1$s</strong> renamed to <strong>%2$s</strong>.', 'comicpress-manager'), $category['cat_name'], $value); 
  • comicpress-manager/tags/1.4.9.2/actions/comicpress_update-cpm-config.php

    r150160 r227761  
    1818          $ok = true; 
    1919          if (function_exists($validate_function_name)) { 
    20             $ok = call_user_func($validate_function_name, $_POST[$option_info['id']]); 
     20            $ok = call_user_func($validate_function_name, stripslashes($_POST[$option_info['id']])); 
    2121          } 
    22           if ($ok) {  
    23             $target_update_options[$target_key] = $_POST[$option_info['id']]; 
     22          if ($ok) { 
     23            $target_update_options[$target_key] = stripslashes($_POST[$option_info['id']]); 
    2424          } else { 
    2525            $target_update_options[$target_key] = $option_info['default']; 
  • comicpress-manager/tags/1.4.9.2/comicpress-manager.php

    r163464 r227761  
    44Plugin URI: http://www.coswellproductions.com/wordpress/wordpress-plugins/ 
    55Description: Manage the comics within a <a href="http://www.comicpress.org/">ComicPress</a> theme installation. 
    6 Version: 1.4.9.1 
     6Version: 1.4.9.2 
    77Author: John Bintz 
    88Author URI: http://www.coswellproductions.com/wordpress/ 
     
    3434 
    3535// only load the plugin code of we're in the administration part of WordPress. 
    36 if (WP_ADMIN === true) {   
     36if (is_admin()) { 
    3737  require_once('comicpress_manager_admin.php'); 
    3838} 
    39  
    40 ?> 
  • comicpress-manager/tags/1.4.9.2/comicpress_manager_admin.php

    r163334 r227761  
    505505 
    506506  $invalid_ids = array($cpm_config->properties['blogcat']); 
    507    
     507 
    508508  extract(cpm_get_all_comic_categories()); 
    509509  foreach ($category_tree as $node) { 
     
    661661  ); 
    662662 
     663  if (!is_plugin_active('what-did-they-say/what-did-they-say.php')) { 
     664    $form_titles_and_fields[] = '<em>' . __('Want even better control over your transcripts? Try <a href="http://wordpress.org/extend/plugins/what-did-they-say/" target="wdts">What Did They Say?!?</a>', 'comicpress-manager') . '</em>'; 
     665  } 
     666 
    663667  $form_titles_and_fields[] = array( 
    664668    __("Upload Date Format:", 'comicpress-manager'), 
    665     '<input type="text" name="upload-date-format" />' . 
     669    '<input type="text" id="upload-date-format" name="upload-date-format" />' . 
    666670    __(" <em>(if the files you are uploading have a different date format, specify it here. ex: <strong>Ymd</strong> for a file named <strong>20080101-my-new-years-day.jpg</strong>)</em>", 'comicpress-manager') 
    667671  ); 
     
    10491053 */ 
    10501054function generate_view_edit_post_links($post_info) { 
    1051   $view_post_link = sprintf("<a href=\"{$post_info['guid']}\">%s</a>", __("View post", 'comicpress-manager')); 
    1052   $edit_post_link = sprintf("<a href=\"post.php?action=edit&amp;post={$post_info['ID']}\">%s</a>", __("Edit post", 'comicpress-manager')); 
     1055  $view_post_link = sprintf('<a href="%s">%s</a>', $post_info['guid'], __("View post", 'comicpress-manager')); 
     1056  $edit_post_link = sprintf('<a href="post.php?action=edit&amp;post=%s">%s</a>', $post_info['ID'], __("Edit post", 'comicpress-manager')); 
    10531057 
    10541058  return $view_post_link . ' | ' . $edit_post_link; 
     
    11071111          return null; 
    11081112        case CPM_SCALE_IMAGEMAGICK: 
     1113            $original_size = getimagesize($input); 
     1114 
    11091115          $unique_colors = exec("identify -format '%k' '${input}'"); 
    11101116          if (empty($unique_colors)) { $unique_colors = 256; } 
     
    11161122                            : $cpm_config->properties['archive_comic_width']; 
    11171123 
    1118             $command = array("convert", 
    1119                              "\"${input}\"", 
    1120                              "-filter Lanczos", 
    1121                              "-resize " . $width_to_use . "x"); 
    1122  
    1123             $im_target = $target; 
    1124  
    1125             switch(strtolower($target_format)) { 
    1126               case "jpg": 
    1127               case "jpeg": 
    1128                 $command[] = "-quality " . cpm_option("cpm-thumbnail-quality"); 
    1129                 break; 
    1130               case "gif": 
    1131                 $command[] = "-colors ${unique_colors}"; 
    1132                 break; 
    1133               case "png": 
    1134                 if ($unique_colors <= 256) { 
    1135                   $im_target = "png8:${im_target}"; 
    1136                   $command[] = "-colors ${unique_colors}"; 
    1137                 } 
    1138                 $command[] = "-quality 100"; 
    1139                 break; 
    1140               default: 
    1141             } 
    1142  
    1143             $command[] = "\"${im_target}\""; 
    1144  
    1145             $convert_to_thumb = escapeshellcmd(implode(" ", $command)); 
    1146  
    1147             exec($convert_to_thumb); 
    1148  
    1149             if (!file_exists($target)) { 
    1150               $ok = false; 
    1151             } else { 
    1152               @chmod($target, CPM_FILE_UPLOAD_CHMOD); 
    1153               $files_created_in_operation[] = $target; 
    1154             } 
     1124            if ($width_to_use < $original_size[0]) { 
     1125                            $command = array("convert", 
     1126                                                             "\"${input}\"", 
     1127                                                             "-filter Lanczos", 
     1128                                                             "-resize " . $width_to_use . "x"); 
     1129 
     1130                            $im_target = $target; 
     1131 
     1132                            switch(strtolower($target_format)) { 
     1133                                case "jpg": 
     1134                                case "jpeg": 
     1135                                    $command[] = "-quality " . cpm_option("cpm-thumbnail-quality"); 
     1136                                    break; 
     1137                                case "gif": 
     1138                                    $command[] = "-colors ${unique_colors}"; 
     1139                                    break; 
     1140                                case "png": 
     1141                                    if ($unique_colors <= 256) { 
     1142                                        $im_target = "png8:${im_target}"; 
     1143                                        $command[] = "-colors ${unique_colors}"; 
     1144                                    } 
     1145                                    $command[] = "-quality 100"; 
     1146                                    break; 
     1147                                default: 
     1148                            } 
     1149 
     1150                            $command[] = "\"${im_target}\""; 
     1151 
     1152                            $convert_to_thumb = escapeshellcmd(implode(" ", $command)); 
     1153 
     1154                            exec($convert_to_thumb); 
     1155 
     1156                            if (!file_exists($target)) { 
     1157                                $ok = false; 
     1158                            } else { 
     1159                                @chmod($target, CPM_FILE_UPLOAD_CHMOD); 
     1160                                $files_created_in_operation[] = $target; 
     1161                            } 
     1162                        } else { 
     1163                            copy($input, $target); 
     1164                        } 
    11551165          } 
    11561166 
     
    11941204                              : $cpm_config->properties['archive_comic_width']; 
    11951205 
    1196               $archive_comic_height = (int)(($width_to_use * $height) / $width); 
    1197  
    1198               $pathinfo = pathinfo($input); 
    1199  
    1200               $thumb_image = imagecreatetruecolor($width_to_use, $archive_comic_height); 
    1201               imagealphablending($thumb_image, true); 
    1202               switch(strtolower($pathinfo['extension'])) { 
    1203                 case "jpg": 
    1204                 case "jpeg": 
    1205                   $comic_image = imagecreatefromjpeg($input); 
    1206                   break; 
    1207                 case "gif": 
    1208                   $is_gif = true; 
    1209  
    1210                   $temp_comic_image = imagecreatefromgif($input); 
    1211  
    1212                   list($width, $height) = getimagesize($input); 
    1213                   $comic_image = imagecreatetruecolor($width, $height); 
    1214  
    1215                   imagecopy($comic_image, $temp_comic_image, 0, 0, 0, 0, $width, $height); 
    1216                   imagedestroy($temp_comic_image); 
    1217                   break; 
    1218                 case "png": 
    1219                   $comic_image = imagecreatefrompng($input); 
    1220                   break; 
    1221                 default: 
    1222                   return false; 
    1223               } 
    1224               imagealphablending($comic_image, true); 
    1225  
    1226               if ($is_palette = !imageistruecolor($comic_image)) { 
    1227                 $number_of_colors = imagecolorstotal($comic_image); 
    1228               } 
    1229  
    1230               imagecopyresampled($thumb_image, $comic_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, $width, $height); 
    1231  
    1232               $ok = true; 
    1233  
    1234               @touch($target); 
    1235               if (file_exists($target)) { 
    1236                 @unlink($target); 
    1237                 switch(strtolower($target_format)) { 
    1238                   case "jpg": 
    1239                   case "jpeg": 
    1240                     if (imagetypes() & IMG_JPG) { 
    1241                       @imagejpeg($thumb_image, $target, cpm_option("cpm-thumbnail-quality")); 
    1242                     } else { 
    1243                       return false; 
    1244                     } 
    1245                     break; 
    1246                   case "gif": 
    1247                     if (imagetypes() & IMG_GIF) { 
    1248                       if (function_exists('imagecolormatch')) { 
    1249                         $temp_comic_image = imagecreate($width_to_use, $archive_comic_height); 
    1250                         imagecopymerge($temp_comic_image, $thumb_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, 100); 
    1251                         imagecolormatch($thumb_image, $temp_comic_image); 
    1252  
    1253                         @imagegif($temp_comic_image, $target); 
    1254                         imagedestroy($temp_comic_image); 
    1255                       } else { 
    1256                         @imagegif($thumb_image, $target); 
    1257                       } 
    1258                     } else { 
    1259                       return false; 
    1260                     } 
    1261                     break; 
    1262                   case "png": 
    1263                     if (imagetypes() & IMG_PNG) { 
    1264                       if ($is_palette) { 
    1265                         imagetruecolortopalette($thumb_image, true, $number_of_colors); 
    1266                       } 
    1267                       @imagepng($thumb_image, $target, 9); 
    1268                     } else { 
    1269                       return false; 
    1270                     } 
    1271                     break; 
    1272                   default: 
    1273                     return false; 
    1274                 } 
     1206                            if ($width_to_use < $width) { 
     1207                                $archive_comic_height = (int)(($width_to_use * $height) / $width); 
     1208 
     1209                                $pathinfo = pathinfo($input); 
     1210 
     1211                                $thumb_image = imagecreatetruecolor($width_to_use, $archive_comic_height); 
     1212                                imagealphablending($thumb_image, true); 
     1213                                switch(strtolower($pathinfo['extension'])) { 
     1214                                    case "jpg": 
     1215                                    case "jpeg": 
     1216                                        $comic_image = imagecreatefromjpeg($input); 
     1217                                        break; 
     1218                                    case "gif": 
     1219                                        $is_gif = true; 
     1220 
     1221                                        $temp_comic_image = imagecreatefromgif($input); 
     1222 
     1223                                        list($width, $height) = getimagesize($input); 
     1224                                        $comic_image = imagecreatetruecolor($width, $height); 
     1225 
     1226                                        imagecopy($comic_image, $temp_comic_image, 0, 0, 0, 0, $width, $height); 
     1227                                        imagedestroy($temp_comic_image); 
     1228                                        break; 
     1229                                    case "png": 
     1230                                        $comic_image = imagecreatefrompng($input); 
     1231                                        break; 
     1232                                    default: 
     1233                                        return false; 
     1234                                } 
     1235                                imagealphablending($comic_image, true); 
     1236 
     1237                                if ($is_palette = !imageistruecolor($comic_image)) { 
     1238                                    $number_of_colors = imagecolorstotal($comic_image); 
     1239                                } 
     1240 
     1241                                imagecopyresampled($thumb_image, $comic_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, $width, $height); 
     1242 
     1243                                $ok = true; 
     1244 
     1245                                @touch($target); 
     1246                                if (file_exists($target)) { 
     1247                                    @unlink($target); 
     1248                                    switch(strtolower($target_format)) { 
     1249                                        case "jpg": 
     1250                                        case "jpeg": 
     1251                                            if (imagetypes() & IMG_JPG) { 
     1252                                                @imagejpeg($thumb_image, $target, cpm_option("cpm-thumbnail-quality")); 
     1253                                            } else { 
     1254                                                return false; 
     1255                                            } 
     1256                                            break; 
     1257                                        case "gif": 
     1258                                            if (imagetypes() & IMG_GIF) { 
     1259                                                if (function_exists('imagecolormatch')) { 
     1260                                                    $temp_comic_image = imagecreate($width_to_use, $archive_comic_height); 
     1261                                                    imagecopymerge($temp_comic_image, $thumb_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, 100); 
     1262                                                    imagecolormatch($thumb_image, $temp_comic_image); 
     1263 
     1264                                                    @imagegif($temp_comic_image, $target); 
     1265                                                    imagedestroy($temp_comic_image); 
     1266                                                } else { 
     1267                                                    @imagegif($thumb_image, $target); 
     1268                                                } 
     1269                                            } else { 
     1270                                                return false; 
     1271                                            } 
     1272                                            break; 
     1273                                        case "png": 
     1274                                            if (imagetypes() & IMG_PNG) { 
     1275                                                if ($is_palette) { 
     1276                                                    imagetruecolortopalette($thumb_image, true, $number_of_colors); 
     1277                                                } 
     1278                                                @imagepng($thumb_image, $target, 9); 
     1279                                            } else { 
     1280                                                return false; 
     1281                                            } 
     1282                                            break; 
     1283                                        default: 
     1284                                            return false; 
     1285                                    } 
     1286                                } 
     1287              } else { 
     1288                copy($input, $target); 
    12751289              } 
    12761290 
     
    14131427    $target_root .= '/' . $subdir; 
    14141428  } 
    1415    
     1429 
    14161430  $write_thumbnails = isset($_POST['thumbnails']) && ($_POST['upload-destination'] == "comic"); 
    14171431  $new_post = isset($_POST['new_post']) && ($_POST['upload-destination'] == "comic"); 
     
    17451759    $cpm_config->messages[] = __("<strong>Thumbnails were written for the following files:</strong> ", 'comicpress-manager') . implode(", ", $thumbnails_written); 
    17461760  } 
    1747    
     1761 
    17481762  if (count($thumbnails_not_written) > 0) { 
    17491763    $cpm_config->messages[] = __("<strong>Thumbnails were not written for the following files.</strong>  Check the permissions on the rss &amp; archive folders, and make sure the files you're processing are valid image files: ", 'comicpress-manager') . implode(", ", $thumbnails_not_written); 
     
    20462060  global $cpm_config; 
    20472061 
    2048   $valid_actions = array('multiple-upload-file', 'create-missing-posts',  
     2062  $valid_actions = array('multiple-upload-file', 'create-missing-posts', 
    20492063                         'update-config', 'restore-backup', 'change-dates', 
    20502064                         'write-comic-post', 'update-cpm-config', 'do-first-run', 'skip-first-run', 
     
    21112125              } ?> 
    21122126 
    2113             <?php printf(__ngettext('(%d comic in folder%s)', '(%d comics in folder%s)', count($cpm_config->comic_files), 'comicpress-manager'), count($cpm_config->comic_files), $too_many_comics_message) ?> 
     2127            <?php printf(_n('(%d comic in folder%s)', '(%d comics in folder%s)', count($cpm_config->comic_files), 'comicpress-manager'), count($cpm_config->comic_files), $too_many_comics_message) ?> 
    21142128        </li> 
    21152129 
     
    23592373          if (is_array($files)) { 
    23602374            $folder_stack = array_merge($folder_stack, $files); 
    2361           }  
     2375          } 
    23622376        } else { 
    23632377          if (!$max_depth_message) { 
     
    24152429                  <div id="folder-select-<?php echo $config_id ?>"> 
    24162430                    <select title="<?php _e("List of possible folders at the root of your site", 'comicpress-manager') ?>" name="select-<?php echo $config_id ?>" id="<?php echo $config_id ?>"> 
    2417                     <?php  
     2431                    <?php 
    24182432                      foreach ($found_folders as $file) { ?> 
    24192433                        <option <?php echo ($file == $cpm_config->properties[$config_id]) ? " selected" : "" ?> value="<?php echo $file ?>"><?php echo $file ?></option> 
     
    24212435                    </select><?php echo $description ?> 
    24222436                  </div> 
    2423                    
     2437 
    24242438                  <input type="radio" name="folder-<?php echo $config_id ?>" id="folder-e-<?php echo $config_id ?>" value="enter" <?php echo !$directory_found_in_list ? "checked" : "" ?>/> <label for="folder-e-<?php echo $config_id ?>">Enter in my directory name</label><br /> 
    24252439                  <div id="folder-enter-<?php echo $config_id ?>"> 
  • comicpress-manager/tags/1.4.9.2/comicpress_manager_count_missing_entries.php

    r161189 r227761  
    2424    $all_post_dates = array(); 
    2525 
     26        $format = CPM_DATE_FORMAT; 
     27        if (isset($_POST['format'])) { $format = $_POST['format']; } 
     28 
    2629    foreach (cpm_query_posts() as $comic_post) { 
    27       $all_post_dates[] = date(CPM_DATE_FORMAT, strtotime($comic_post->post_date)); 
     30      $all_post_dates[] = date($format, strtotime($comic_post->post_date)); 
    2831    } 
    2932    $all_post_dates = array_unique($all_post_dates); 
     
    3336    foreach (cpm_read_comics_folder() as $comic_file) { 
    3437      $comic_file = pathinfo($comic_file, PATHINFO_BASENAME); 
    35       if (($result = cpm_breakdown_comic_filename($comic_file)) !== false) { 
     38      if (($result = cpm_breakdown_comic_filename($comic_file, $format)) !== false) { 
    3639        if (!in_array($result['date'], $all_post_dates)) { 
    3740          if (($post_hash = generate_post_hash($result['date'], $result['converted_title'])) !== false) { 
  • comicpress-manager/tags/1.4.9.2/comicpress_manager_library.php

    r163464 r227761  
    173173function cpm_breakdown_comic_filename($filename, $allow_override = false) { 
    174174  $pattern = CPM_DATE_FORMAT; 
    175   if ($allow_override) { 
    176     if (isset($_POST['upload-date-format']) && !empty($_POST['upload-date-format'])) { $pattern = $_POST['upload-date-format']; } 
    177   } 
    178  
    179   $pattern = cpm_transform_date_string($pattern, array("Y" => '[0-9]{4,4}', 
    180                                                        "m" => '[0-9]{2,2}', 
    181                                                        "d" => '[0-9]{2,2}')); 
    182  
    183   if (@preg_match("#^(${pattern})(.*)\.[^\.]+$#", $filename, $matches) > 0) { 
    184     list($all, $date, $title) = $matches; 
    185  
    186     if (strtotime($date) === false) { return false; } 
    187     $converted_title = ucwords(trim(preg_replace('/[\-\_]/', ' ', $title))); 
    188  
    189     return compact('date', 'title', 'converted_title'); 
    190   } else { 
    191     return false; 
    192   } 
     175  if ($allow_override !== false) { 
     176    if (is_string($allow_override)) { 
     177        $pattern = $allow_override; 
     178    } else { 
     179        if (isset($_POST['upload-date-format']) && !empty($_POST['upload-date-format'])) { $pattern = $_POST['upload-date-format']; } 
     180      } 
     181  } 
     182 
     183  foreach (array('[0-9]{4}', '[0-9]{2}') as $year_pattern) { 
     184    $new_pattern = cpm_transform_date_string($pattern, array("Y" => $year_pattern, 
     185                                                         "m" => '[0-9]{2}', 
     186                                                         "d" => '[0-9]{2}')); 
     187 
     188    if (@preg_match("#^(${new_pattern})(.*)\.[^\.]+$#", $filename, $matches) > 0) { 
     189      list($all, $date, $title) = $matches; 
     190 
     191      if (strtotime($date) === false) { return false; } 
     192      $converted_title = ucwords(trim(preg_replace('/[\-\_]/', ' ', $title))); 
     193      $date = date($pattern, strtotime($date)); 
     194 
     195      if (is_numeric($converted_title)) {   $converted_title = "Title: ${converted_title}"; } 
     196 
     197      return compact('date', 'title', 'converted_title'); 
     198    } 
     199  } 
     200  return false; 
    193201} 
    194202 
     
    237245    $tags = $_POST['tags']; 
    238246    if (get_magic_quotes_gpc()) { 
    239       $override_title = stripslashes($override_title); 
    240       $tags = stripslashes($tags); 
     247        foreach (array('override_title', 'tags', 'post_content') as $field) { 
     248            ${$field} = stripslashes(${$field}); 
     249        } 
    241250    } 
    242251 
     
    325334  if ($glob_results === false) { 
    326335    //$cpm_config->messages[] = "FYI: glob({$cpm_config->path}/*) returned false. This can happen on some PHP installations if you have no files in your comic directory. This message will disappear once you upload a comic to your site."; 
    327     return array();  
     336    return array(); 
    328337  } 
    329338 
  • comicpress-manager/tags/1.4.9.2/js/comicpress_script.js

    r91268 r227761  
    144144                         method: 'post', 
    145145                         parameters: { 
    146                            action: "count-missing-posts" 
     146                           action: "count-missing-posts", 
     147                           format: $('upload-date-format').value 
    147148                         }, 
    148149                         onSuccess: function(transport) { 
  • comicpress-manager/tags/1.4.9.2/readme.txt

    r163464 r227761  
    33Tags: comicpress, webcomics, management, admin, posts, plugin 
    44Requires at least: 2.5.1 
    5 Tested up to: 2.8.4 
    6 Stable tag: 1.4.9.1 
     5Tested up to: 3.0 
     6Stable tag: 1.4.9.2 
    77Donate link: http://www.coswellproductions.com/wordpress/wordpress-plugins/ 
    88 
     
    1111== Description == 
    1212 
    13 *(1.4.9.1 fixes an issue users had with subdirectory WordPress installations. It is not needed if your copy is functioning correctly. 
    14 To fix your issue, enable **Use the old method of finding subdirectories** under **ComicPress Manager Options**. You may also have to change your 
    15 comic directories under **ComicPress Options**.)* 
     13__(I am looking for a new maintainer for ComicPress Manager. If you're interested, please contact John Bintz at john@coswellproductions.com)__ 
    1614 
    1715The ComicPress Manager plugin works in conjunction with an installation of [ComicPress](http://comicpress.org/), the Webcomic theme for WordPress. ComicPress Manager is intended to reduce the amount of work required to administer a site running ComicPress. 
     
    193191== Changelog == 
    194192 
     193= 1.4.9.2 = 
     194* WordPress 2.9 and 3.0 incompatibility fixes. Looking for a new maintainer, too. 
    195195= 1.4.9.1 = 
    196196* Add option to use old style of subdirectory pathfinding. 
  • comicpress-manager/tags/1.4.9.2/test_comicpress_manager.php

    r91268 r227761  
    5656      array("${test_date}-test.jpg", array("title" => "-test", "date" => $test_date, "converted_title" => "Test")), 
    5757      array("1900-01-01.jpg", false), 
     58      array("08-01-01.jpg", array("title" => "", "date" => $test_date, "converted_title" => "")), 
    5859    ) as $test) { 
    5960      list($filename, $expected_value) = $test; 
  • comicpress-manager/trunk/actions/comicpress_build-storyline-schema.php

    r98425 r227761  
    2828 
    2929    foreach ($_POST as $field => $value) { 
     30      $value = stripslashes($value); 
    3031      $parts = explode("/", $field); 
    3132      if (($parts[0] == "0") && (count($parts) > 1)) { 
    3233        $category_id = end($parts); 
    33         $category = get_category($category_id, ARRAY_A); 
     34        $category = get_category($category_id); 
    3435        if (!empty($category)) { 
     36            $category = (array)$category; 
    3537          if ($category['cat_name'] != $value) { 
    3638            $cpm_config->messages[] = sprintf(__('Category <strong>%1$s</strong> renamed to <strong>%2$s</strong>.', 'comicpress-manager'), $category['cat_name'], $value); 
  • comicpress-manager/trunk/actions/comicpress_update-cpm-config.php

    r150160 r227761  
    1818          $ok = true; 
    1919          if (function_exists($validate_function_name)) { 
    20             $ok = call_user_func($validate_function_name, $_POST[$option_info['id']]); 
     20            $ok = call_user_func($validate_function_name, stripslashes($_POST[$option_info['id']])); 
    2121          } 
    22           if ($ok) {  
    23             $target_update_options[$target_key] = $_POST[$option_info['id']]; 
     22          if ($ok) { 
     23            $target_update_options[$target_key] = stripslashes($_POST[$option_info['id']]); 
    2424          } else { 
    2525            $target_update_options[$target_key] = $option_info['default']; 
  • comicpress-manager/trunk/comicpress-manager.php

    r163464 r227761  
    44Plugin URI: http://www.coswellproductions.com/wordpress/wordpress-plugins/ 
    55Description: Manage the comics within a <a href="http://www.comicpress.org/">ComicPress</a> theme installation. 
    6 Version: 1.4.9.1 
     6Version: 1.4.9.2 
    77Author: John Bintz 
    88Author URI: http://www.coswellproductions.com/wordpress/ 
     
    3434 
    3535// only load the plugin code of we're in the administration part of WordPress. 
    36 if (WP_ADMIN === true) {   
     36if (is_admin()) { 
    3737  require_once('comicpress_manager_admin.php'); 
    3838} 
    39  
    40 ?> 
  • comicpress-manager/trunk/comicpress_manager_admin.php

    r163334 r227761  
    505505 
    506506  $invalid_ids = array($cpm_config->properties['blogcat']); 
    507    
     507 
    508508  extract(cpm_get_all_comic_categories()); 
    509509  foreach ($category_tree as $node) { 
     
    661661  ); 
    662662 
     663  if (!is_plugin_active('what-did-they-say/what-did-they-say.php')) { 
     664    $form_titles_and_fields[] = '<em>' . __('Want even better control over your transcripts? Try <a href="http://wordpress.org/extend/plugins/what-did-they-say/" target="wdts">What Did They Say?!?</a>', 'comicpress-manager') . '</em>'; 
     665  } 
     666 
    663667  $form_titles_and_fields[] = array( 
    664668    __("Upload Date Format:", 'comicpress-manager'), 
    665     '<input type="text" name="upload-date-format" />' . 
     669    '<input type="text" id="upload-date-format" name="upload-date-format" />' . 
    666670    __(" <em>(if the files you are uploading have a different date format, specify it here. ex: <strong>Ymd</strong> for a file named <strong>20080101-my-new-years-day.jpg</strong>)</em>", 'comicpress-manager') 
    667671  ); 
     
    10491053 */ 
    10501054function generate_view_edit_post_links($post_info) { 
    1051   $view_post_link = sprintf("<a href=\"{$post_info['guid']}\">%s</a>", __("View post", 'comicpress-manager')); 
    1052   $edit_post_link = sprintf("<a href=\"post.php?action=edit&amp;post={$post_info['ID']}\">%s</a>", __("Edit post", 'comicpress-manager')); 
     1055  $view_post_link = sprintf('<a href="%s">%s</a>', $post_info['guid'], __("View post", 'comicpress-manager')); 
     1056  $edit_post_link = sprintf('<a href="post.php?action=edit&amp;post=%s">%s</a>', $post_info['ID'], __("Edit post", 'comicpress-manager')); 
    10531057 
    10541058  return $view_post_link . ' | ' . $edit_post_link; 
     
    11071111          return null; 
    11081112        case CPM_SCALE_IMAGEMAGICK: 
     1113            $original_size = getimagesize($input); 
     1114 
    11091115          $unique_colors = exec("identify -format '%k' '${input}'"); 
    11101116          if (empty($unique_colors)) { $unique_colors = 256; } 
     
    11161122                            : $cpm_config->properties['archive_comic_width']; 
    11171123 
    1118             $command = array("convert", 
    1119                              "\"${input}\"", 
    1120                              "-filter Lanczos", 
    1121                              "-resize " . $width_to_use . "x"); 
    1122  
    1123             $im_target = $target; 
    1124  
    1125             switch(strtolower($target_format)) { 
    1126               case "jpg": 
    1127               case "jpeg": 
    1128                 $command[] = "-quality " . cpm_option("cpm-thumbnail-quality"); 
    1129                 break; 
    1130               case "gif": 
    1131                 $command[] = "-colors ${unique_colors}"; 
    1132                 break; 
    1133               case "png": 
    1134                 if ($unique_colors <= 256) { 
    1135                   $im_target = "png8:${im_target}"; 
    1136                   $command[] = "-colors ${unique_colors}"; 
    1137                 } 
    1138                 $command[] = "-quality 100"; 
    1139                 break; 
    1140               default: 
    1141             } 
    1142  
    1143             $command[] = "\"${im_target}\""; 
    1144  
    1145             $convert_to_thumb = escapeshellcmd(implode(" ", $command)); 
    1146  
    1147             exec($convert_to_thumb); 
    1148  
    1149             if (!file_exists($target)) { 
    1150               $ok = false; 
    1151             } else { 
    1152               @chmod($target, CPM_FILE_UPLOAD_CHMOD); 
    1153               $files_created_in_operation[] = $target; 
    1154             } 
     1124            if ($width_to_use < $original_size[0]) { 
     1125                            $command = array("convert", 
     1126                                                             "\"${input}\"", 
     1127                                                             "-filter Lanczos", 
     1128                                                             "-resize " . $width_to_use . "x"); 
     1129 
     1130                            $im_target = $target; 
     1131 
     1132                            switch(strtolower($target_format)) { 
     1133                                case "jpg": 
     1134                                case "jpeg": 
     1135                                    $command[] = "-quality " . cpm_option("cpm-thumbnail-quality"); 
     1136                                    break; 
     1137                                case "gif": 
     1138                                    $command[] = "-colors ${unique_colors}"; 
     1139                                    break; 
     1140                                case "png": 
     1141                                    if ($unique_colors <= 256) { 
     1142                                        $im_target = "png8:${im_target}"; 
     1143                                        $command[] = "-colors ${unique_colors}"; 
     1144                                    } 
     1145                                    $command[] = "-quality 100"; 
     1146                                    break; 
     1147                                default: 
     1148                            } 
     1149 
     1150                            $command[] = "\"${im_target}\""; 
     1151 
     1152                            $convert_to_thumb = escapeshellcmd(implode(" ", $command)); 
     1153 
     1154                            exec($convert_to_thumb); 
     1155 
     1156                            if (!file_exists($target)) { 
     1157                                $ok = false; 
     1158                            } else { 
     1159                                @chmod($target, CPM_FILE_UPLOAD_CHMOD); 
     1160                                $files_created_in_operation[] = $target; 
     1161                            } 
     1162                        } else { 
     1163                            copy($input, $target); 
     1164                        } 
    11551165          } 
    11561166 
     
    11941204                              : $cpm_config->properties['archive_comic_width']; 
    11951205 
    1196               $archive_comic_height = (int)(($width_to_use * $height) / $width); 
    1197  
    1198               $pathinfo = pathinfo($input); 
    1199  
    1200               $thumb_image = imagecreatetruecolor($width_to_use, $archive_comic_height); 
    1201               imagealphablending($thumb_image, true); 
    1202               switch(strtolower($pathinfo['extension'])) { 
    1203                 case "jpg": 
    1204                 case "jpeg": 
    1205                   $comic_image = imagecreatefromjpeg($input); 
    1206                   break; 
    1207                 case "gif": 
    1208                   $is_gif = true; 
    1209  
    1210                   $temp_comic_image = imagecreatefromgif($input); 
    1211  
    1212                   list($width, $height) = getimagesize($input); 
    1213                   $comic_image = imagecreatetruecolor($width, $height); 
    1214  
    1215                   imagecopy($comic_image, $temp_comic_image, 0, 0, 0, 0, $width, $height); 
    1216                   imagedestroy($temp_comic_image); 
    1217                   break; 
    1218                 case "png": 
    1219                   $comic_image = imagecreatefrompng($input); 
    1220                   break; 
    1221                 default: 
    1222                   return false; 
    1223               } 
    1224               imagealphablending($comic_image, true); 
    1225  
    1226               if ($is_palette = !imageistruecolor($comic_image)) { 
    1227                 $number_of_colors = imagecolorstotal($comic_image); 
    1228               } 
    1229  
    1230               imagecopyresampled($thumb_image, $comic_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, $width, $height); 
    1231  
    1232               $ok = true; 
    1233  
    1234               @touch($target); 
    1235               if (file_exists($target)) { 
    1236                 @unlink($target); 
    1237                 switch(strtolower($target_format)) { 
    1238                   case "jpg": 
    1239                   case "jpeg": 
    1240                     if (imagetypes() & IMG_JPG) { 
    1241                       @imagejpeg($thumb_image, $target, cpm_option("cpm-thumbnail-quality")); 
    1242                     } else { 
    1243                       return false; 
    1244                     } 
    1245                     break; 
    1246                   case "gif": 
    1247                     if (imagetypes() & IMG_GIF) { 
    1248                       if (function_exists('imagecolormatch')) { 
    1249                         $temp_comic_image = imagecreate($width_to_use, $archive_comic_height); 
    1250                         imagecopymerge($temp_comic_image, $thumb_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, 100); 
    1251                         imagecolormatch($thumb_image, $temp_comic_image); 
    1252  
    1253                         @imagegif($temp_comic_image, $target); 
    1254                         imagedestroy($temp_comic_image); 
    1255                       } else { 
    1256                         @imagegif($thumb_image, $target); 
    1257                       } 
    1258                     } else { 
    1259                       return false; 
    1260                     } 
    1261                     break; 
    1262                   case "png": 
    1263                     if (imagetypes() & IMG_PNG) { 
    1264                       if ($is_palette) { 
    1265                         imagetruecolortopalette($thumb_image, true, $number_of_colors); 
    1266                       } 
    1267                       @imagepng($thumb_image, $target, 9); 
    1268                     } else { 
    1269                       return false; 
    1270                     } 
    1271                     break; 
    1272                   default: 
    1273                     return false; 
    1274                 } 
     1206                            if ($width_to_use < $width) { 
     1207                                $archive_comic_height = (int)(($width_to_use * $height) / $width); 
     1208 
     1209                                $pathinfo = pathinfo($input); 
     1210 
     1211                                $thumb_image = imagecreatetruecolor($width_to_use, $archive_comic_height); 
     1212                                imagealphablending($thumb_image, true); 
     1213                                switch(strtolower($pathinfo['extension'])) { 
     1214                                    case "jpg": 
     1215                                    case "jpeg": 
     1216                                        $comic_image = imagecreatefromjpeg($input); 
     1217                                        break; 
     1218                                    case "gif": 
     1219                                        $is_gif = true; 
     1220 
     1221                                        $temp_comic_image = imagecreatefromgif($input); 
     1222 
     1223                                        list($width, $height) = getimagesize($input); 
     1224                                        $comic_image = imagecreatetruecolor($width, $height); 
     1225 
     1226                                        imagecopy($comic_image, $temp_comic_image, 0, 0, 0, 0, $width, $height); 
     1227                                        imagedestroy($temp_comic_image); 
     1228                                        break; 
     1229                                    case "png": 
     1230                                        $comic_image = imagecreatefrompng($input); 
     1231                                        break; 
     1232                                    default: 
     1233                                        return false; 
     1234                                } 
     1235                                imagealphablending($comic_image, true); 
     1236 
     1237                                if ($is_palette = !imageistruecolor($comic_image)) { 
     1238                                    $number_of_colors = imagecolorstotal($comic_image); 
     1239                                } 
     1240 
     1241                                imagecopyresampled($thumb_image, $comic_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, $width, $height); 
     1242 
     1243                                $ok = true; 
     1244 
     1245                                @touch($target); 
     1246                                if (file_exists($target)) { 
     1247                                    @unlink($target); 
     1248                                    switch(strtolower($target_format)) { 
     1249                                        case "jpg": 
     1250                                        case "jpeg": 
     1251                                            if (imagetypes() & IMG_JPG) { 
     1252                                                @imagejpeg($thumb_image, $target, cpm_option("cpm-thumbnail-quality")); 
     1253                                            } else { 
     1254                                                return false; 
     1255                                            } 
     1256                                            break; 
     1257                                        case "gif": 
     1258                                            if (imagetypes() & IMG_GIF) { 
     1259                                                if (function_exists('imagecolormatch')) { 
     1260                                                    $temp_comic_image = imagecreate($width_to_use, $archive_comic_height); 
     1261                                                    imagecopymerge($temp_comic_image, $thumb_image, 0, 0, 0, 0, $width_to_use, $archive_comic_height, 100); 
     1262                                                    imagecolormatch($thumb_image, $temp_comic_image); 
     1263 
     1264                                                    @imagegif($temp_comic_image, $target); 
     1265                                                    imagedestroy($temp_comic_image); 
     1266                                                } else { 
     1267                                                    @imagegif($thumb_image, $target); 
     1268                                                } 
     1269                                            } else { 
     1270                                                return false; 
     1271                                            } 
     1272                                            break; 
     1273                                        case "png": 
     1274                                            if (imagetypes() & IMG_PNG) { 
     1275                                                if ($is_palette) { 
     1276                                                    imagetruecolortopalette($thumb_image, true, $number_of_colors); 
     1277                                                } 
     1278                                                @imagepng($thumb_image, $target, 9); 
     1279                                            } else { 
     1280                                                return false; 
     1281                                            } 
     1282                                            break; 
     1283                                        default: 
     1284                                            return false; 
     1285                                    } 
     1286                                } 
     1287              } else { 
     1288                copy($input, $target); 
    12751289              } 
    12761290 
     
    14131427    $target_root .= '/' . $subdir; 
    14141428  } 
    1415    
     1429 
    14161430  $write_thumbnails = isset($_POST['thumbnails']) && ($_POST['upload-destination'] == "comic"); 
    14171431  $new_post = isset($_POST['new_post']) && ($_POST['upload-destination'] == "comic"); 
     
    17451759    $cpm_config->messages[] = __("<strong>Thumbnails were written for the following files:</strong> ", 'comicpress-manager') . implode(", ", $thumbnails_written); 
    17461760  } 
    1747    
     1761 
    17481762  if (count($thumbnails_not_written) > 0) { 
    17491763    $cpm_config->messages[] = __("<strong>Thumbnails were not written for the following files.</strong>  Check the permissions on the rss &amp; archive folders, and make sure the files you're processing are valid image files: ", 'comicpress-manager') . implode(", ", $thumbnails_not_written); 
     
    20462060  global $cpm_config; 
    20472061 
    2048   $valid_actions = array('multiple-upload-file', 'create-missing-posts',  
     2062  $valid_actions = array('multiple-upload-file', 'create-missing-posts', 
    20492063                         'update-config', 'restore-backup', 'change-dates', 
    20502064                         'write-comic-post', 'update-cpm-config', 'do-first-run', 'skip-first-run', 
     
    21112125              } ?> 
    21122126 
    2113             <?php printf(__ngettext('(%d comic in folder%s)', '(%d comics in folder%s)', count($cpm_config->comic_files), 'comicpress-manager'), count($cpm_config->comic_files), $too_many_comics_message) ?> 
     2127            <?php printf(_n('(%d comic in folder%s)', '(%d comics in folder%s)', count($cpm_config->comic_files), 'comicpress-manager'), count($cpm_config->comic_files), $too_many_comics_message) ?> 
    21142128        </li> 
    21152129 
     
    23592373          if (is_array($files)) { 
    23602374            $folder_stack = array_merge($folder_stack, $files); 
    2361           }  
     2375          } 
    23622376        } else { 
    23632377          if (!$max_depth_message) { 
     
    24152429                  <div id="folder-select-<?php echo $config_id ?>"> 
    24162430                    <select title="<?php _e("List of possible folders at the root of your site", 'comicpress-manager') ?>" name="select-<?php echo $config_id ?>" id="<?php echo $config_id ?>"> 
    2417                     <?php  
     2431                    <?php 
    24182432                      foreach ($found_folders as $file) { ?> 
    24192433                        <option <?php echo ($file == $cpm_config->properties[$config_id]) ? " selected" : "" ?> value="<?php echo $file ?>"><?php echo $file ?></option> 
     
    24212435                    </select><?php echo $description ?> 
    24222436                  </div> 
    2423                    
     2437 
    24242438                  <input type="radio" name="folder-<?php echo $config_id ?>" id="folder-e-<?php echo $config_id ?>" value="enter" <?php echo !$directory_found_in_list ? "checked" : "" ?>/> <label for="folder-e-<?php echo $config_id ?>">Enter in my directory name</label><br /> 
    24252439                  <div id="folder-enter-<?php echo $config_id ?>"> 
  • comicpress-manager/trunk/comicpress_manager_count_missing_entries.php

    r161189 r227761  
    2424    $all_post_dates = array(); 
    2525 
     26        $format = CPM_DATE_FORMAT; 
     27        if (isset($_POST['format'])) { $format = $_POST['format']; } 
     28 
    2629    foreach (cpm_query_posts() as $comic_post) { 
    27       $all_post_dates[] = date(CPM_DATE_FORMAT, strtotime($comic_post->post_date)); 
     30      $all_post_dates[] = date($format, strtotime($comic_post->post_date)); 
    2831    } 
    2932    $all_post_dates = array_unique($all_post_dates); 
     
    3336    foreach (cpm_read_comics_folder() as $comic_file) { 
    3437      $comic_file = pathinfo($comic_file, PATHINFO_BASENAME); 
    35       if (($result = cpm_breakdown_comic_filename($comic_file)) !== false) { 
     38      if (($result = cpm_breakdown_comic_filename($comic_file, $format)) !== false) { 
    3639        if (!in_array($result['date'], $all_post_dates)) { 
    3740          if (($post_hash = generate_post_hash($result['date'], $result['converted_title'])) !== false) { 
  • comicpress-manager/trunk/comicpress_manager_library.php

    r163464 r227761  
    173173function cpm_breakdown_comic_filename($filename, $allow_override = false) { 
    174174  $pattern = CPM_DATE_FORMAT; 
    175   if ($allow_override) { 
    176     if (isset($_POST['upload-date-format']) && !empty($_POST['upload-date-format'])) { $pattern = $_POST['upload-date-format']; } 
    177   } 
    178  
    179   $pattern = cpm_transform_date_string($pattern, array("Y" => '[0-9]{4,4}', 
    180                                                        "m" => '[0-9]{2,2}', 
    181                                                        "d" => '[0-9]{2,2}')); 
    182  
    183   if (@preg_match("#^(${pattern})(.*)\.[^\.]+$#", $filename, $matches) > 0) { 
    184     list($all, $date, $title) = $matches; 
    185  
    186     if (strtotime($date) === false) { return false; } 
    187     $converted_title = ucwords(trim(preg_replace('/[\-\_]/', ' ', $title))); 
    188  
    189     return compact('date', 'title', 'converted_title'); 
    190   } else { 
    191     return false; 
    192   } 
     175  if ($allow_override !== false) { 
     176    if (is_string($allow_override)) { 
     177        $pattern = $allow_override; 
     178    } else { 
     179        if (isset($_POST['upload-date-format']) && !empty($_POST['upload-date-format'])) { $pattern = $_POST['upload-date-format']; } 
     180      } 
     181  } 
     182 
     183  foreach (array('[0-9]{4}', '[0-9]{2}') as $year_pattern) { 
     184    $new_pattern = cpm_transform_date_string($pattern, array("Y" => $year_pattern, 
     185                                                         "m" => '[0-9]{2}', 
     186                                                         "d" => '[0-9]{2}')); 
     187 
     188    if (@preg_match("#^(${new_pattern})(.*)\.[^\.]+$#", $filename, $matches) > 0) { 
     189      list($all, $date, $title) = $matches; 
     190 
     191      if (strtotime($date) === false) { return false; } 
     192      $converted_title = ucwords(trim(preg_replace('/[\-\_]/', ' ', $title))); 
     193      $date = date($pattern, strtotime($date)); 
     194 
     195      if (is_numeric($converted_title)) {   $converted_title = "Title: ${converted_title}"; } 
     196 
     197      return compact('date', 'title', 'converted_title'); 
     198    } 
     199  } 
     200  return false; 
    193201} 
    194202 
     
    237245    $tags = $_POST['tags']; 
    238246    if (get_magic_quotes_gpc()) { 
    239       $override_title = stripslashes($override_title); 
    240       $tags = stripslashes($tags); 
     247        foreach (array('override_title', 'tags', 'post_content') as $field) { 
     248            ${$field} = stripslashes(${$field}); 
     249        } 
    241250    } 
    242251 
     
    325334  if ($glob_results === false) { 
    326335    //$cpm_config->messages[] = "FYI: glob({$cpm_config->path}/*) returned false. This can happen on some PHP installations if you have no files in your comic directory. This message will disappear once you upload a comic to your site."; 
    327     return array();  
     336    return array(); 
    328337  } 
    329338 
  • comicpress-manager/trunk/js/comicpress_script.js

    r91268 r227761  
    144144                         method: 'post', 
    145145                         parameters: { 
    146                            action: "count-missing-posts" 
     146                           action: "count-missing-posts", 
     147                           format: $('upload-date-format').value 
    147148                         }, 
    148149                         onSuccess: function(transport) { 
  • comicpress-manager/trunk/readme.txt

    r163464 r227761  
    33Tags: comicpress, webcomics, management, admin, posts, plugin 
    44Requires at least: 2.5.1 
    5 Tested up to: 2.8.4 
    6 Stable tag: 1.4.9.1 
     5Tested up to: 3.0 
     6Stable tag: 1.4.9.2 
    77Donate link: http://www.coswellproductions.com/wordpress/wordpress-plugins/ 
    88 
     
    1111== Description == 
    1212 
    13 *(1.4.9.1 fixes an issue users had with subdirectory WordPress installations. It is not needed if your copy is functioning correctly. 
    14 To fix your issue, enable **Use the old method of finding subdirectories** under **ComicPress Manager Options**. You may also have to change your 
    15 comic directories under **ComicPress Options**.)* 
     13__(I am looking for a new maintainer for ComicPress Manager. If you're interested, please contact John Bintz at john@coswellproductions.com)__ 
    1614 
    1715The ComicPress Manager plugin works in conjunction with an installation of [ComicPress](http://comicpress.org/), the Webcomic theme for WordPress. ComicPress Manager is intended to reduce the amount of work required to administer a site running ComicPress. 
     
    193191== Changelog == 
    194192 
     193= 1.4.9.2 = 
     194* WordPress 2.9 and 3.0 incompatibility fixes. Looking for a new maintainer, too. 
    195195= 1.4.9.1 = 
    196196* Add option to use old style of subdirectory pathfinding. 
  • comicpress-manager/trunk/test_comicpress_manager.php

    r91268 r227761  
    5656      array("${test_date}-test.jpg", array("title" => "-test", "date" => $test_date, "converted_title" => "Test")), 
    5757      array("1900-01-01.jpg", false), 
     58      array("08-01-01.jpg", array("title" => "", "date" => $test_date, "converted_title" => "")), 
    5859    ) as $test) { 
    5960      list($filename, $expected_value) = $test; 
Note: See TracChangeset for help on using the changeset viewer.