'; ?>

'; _e('You have not selected a folder that you want to use as a gallery!', $wp_simpleviewer_textdomain); echo '

'; } elseif ( $wp_simpleviewer_form_option == 'create' ) { check_admin_referer($wp_simpleviewer_nonce.'create'); $wp_simpleviewer_gallery = attribute_escape($_POST['wp_simpleviewer_gallery']); $wp_simpleviewer_gallery_dir = $wp_simpleviewer_options['images_dir'].$wp_simpleviewer_gallery.'/'; $wp_simpleviewer_gallery_dir_regular = $wp_simpleviewer_gallery_dir.$wp_simpleviewer_options['folder_regular']; $wp_simpleviewer_gallery_dir_thumbnails = $wp_simpleviewer_gallery_dir.$wp_simpleviewer_options['folder_thumbnails']; $wp_simpleviewer_gallery_url_regular = $wp_simpleviewer_options['images_url'].$wp_simpleviewer_gallery.'/'.$wp_simpleviewer_options['folder_regular'].'/'; $wp_simpleviewer_gallery_url_thumbnails = $wp_simpleviewer_options['images_url'].$wp_simpleviewer_gallery.'/'.$wp_simpleviewer_options['folder_thumbnails'].'/'; $wp_simpleviewer_xmlfile_dir = $wp_simpleviewer_gallery_dir.'gallery.xml'; $wp_simpleviewer_gallery_array = wp_simpleviewer_gallery_array_from_options( $wp_simpleviewer_options, $wp_simpleviewer_gallery_url_regular, $wp_simpleviewer_gallery_url_thumbnails ); cleanup_old_files($wp_simpleviewer_xmlfile_dir, $wp_simpleviewer_gallery_dir_regular, $wp_simpleviewer_gallery_dir_thumbnails); if ( mkdir ($wp_simpleviewer_gallery_dir_regular, 0777) && mkdir ($wp_simpleviewer_gallery_dir_thumbnails, 0777) ) { //create new directories chmod ($wp_simpleviewer_gallery_dir_regular, 0777); chmod ($wp_simpleviewer_gallery_dir_thumbnails, 0777); //start update box for WordPress echo '

'; //show GD imaging library version $gdInfo = gd_info(); _e('GD library version 2 or later is required. You are running version:', $wp_simpleviewer_textdomain); echo ' '.$gdInfo["GD Version"].'

'; if( ini_get('safe_mode') ){ _e('Safe_mode is enabled in PHP. You will most probably run into problems with the gallery creation.', $wp_simpleviewer_textdomain); echo '

'; } _e('Now the images and XML file for the selected folder will be created:', $wp_simpleviewer_textdomain); echo '

'; //Open directory and add all image filenames to an array sorted by name $directory_handle = opendir($wp_simpleviewer_gallery_dir); $files_array = array(); while($file = readdir($directory_handle)) { if ($file[0] != "." && $file[0] != ".." && !is_dir($wp_simpleviewer_gallery_dir.$file) ) { if ( getExtension($file) == "jpg" || getExtension($file) == "png" || getExtension($file) == "gif" ){ array_push($files_array, array('name' => $file, 'date' => filemtime($wp_simpleviewer_gallery_dir.'/'.$file))); } else { echo $file.': '; _e('This file will not be included in the gallery - it is no jpg, png or gif file'); echo '
'; } } } //end while readdir(...) if ( !count($files_array) ) { _e('The directory you selected does not contain any jpg, png or gif files. Please upload them first (and ignore the rest of the page)!', $wp_simpleviewer_textdomain); echo '

'; } else { usort($files_array, "wp_simpleviewer_image_sort"); /*If the plugin should hang up while it is creating the thumbs (last line on the admin is: "Now I am working on file xzy.jpg:") you can try to uncomment the following line (remove // ) to define a new memory limit (40MB in this case). More info on the plugins FAQ.*/ //ini_set("memory_limit","40M"); foreach($files_array as $key => $file_data_array) { //the script should not work on one image longer than 30s @set_time_limit(30); _e('Now I am working on file', $wp_simpleviewer_textdomain); echo ' '.$file_data_array['name'].':
'; $filename_original = $wp_simpleviewer_gallery_dir.$file_data_array['name']; $filename_regular = $wp_simpleviewer_gallery_dir_regular."/".$file_data_array['name']; $filename_thumbnail = $wp_simpleviewer_gallery_dir_thumbnails."/".$file_data_array['name']; //create regular image and thumbnail if (!file_exists($filename_regular) && !file_exists($filename_thumbnail) ){ if (create_resized_image($filename_original, $filename_regular, false, $wp_simpleviewer_options['max_image_size'], $wp_simpleviewer_options['resizequality'])){ chmod($filename_regular,0777); _e('I have created the regular image', $wp_simpleviewer_textdomain); echo ' '; if (create_resized_image($filename_original, $filename_thumbnail, true, 65, $wp_simpleviewer_options['resizequality'])){ //thumbnails are suared with 65px width/height chmod($filename_thumbnail,0777); _e('and the thumbnail', $wp_simpleviewer_textdomain); echo ' '; //and add the image to the gallery array $wp_simpleviewer_new_image = array( "_c" => array( "filename" => array( "_v" => $file_data_array['name'] ), "caption" => array( "_v" => $wp_simpleviewer_options['default_download_link_text'] ) )); if ( !strcmp($wp_simpleviewer_options['default_download_link_text'], __('Filenames should be used for the captions', $wp_simpleviewer_textdomain)) ){ $wp_simpleviewer_new_image["_c"]["caption"]["_v"] = substr($file_data_array['name'], 0, strpos($file_data_array['name'], '.')); } wp_simpleviewer_ins2ary( $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"], $wp_simpleviewer_new_image, $key ); _e('and now it has been added to the XML file!', $wp_simpleviewer_textdomain); echo '
'; } } } } //end for each } //end if isset files_array closedir($directory_handle); wp_simpleviewer_save_gallery($wp_simpleviewer_gallery_array, $wp_simpleviewer_options, $wp_simpleviewer_gallery, $wp_simpleviewer_xmlfile_dir); echo '

'; //end update box for WordPress (fading div box) } else { echo '

'; _e('Sorry, but I could not create the subfolders for the thumbnails.', $wp_simpleviewer_textdomain); echo '

'; } } if ( $wp_simpleviewer_form_option == 'editxml' || ( $wp_simpleviewer_form_option == 'create' && isset($_POST['wp_simpleviewer_gallery']) ) ) { //show xml file's content to edit it if ($wp_simpleviewer_form_option == 'editxml') { check_admin_referer($wp_simpleviewer_nonce.'editxml'); $wp_simpleviewer_gallery = attribute_escape($_GET['wp_simpleviewer_gallery']); } else { check_admin_referer($wp_simpleviewer_nonce.'create'); $wp_simpleviewer_gallery = attribute_escape($_POST['wp_simpleviewer_gallery']); } ?>

'."\n"; $wp_simpleviewer_gallery_dir = $wp_simpleviewer_options['images_dir'].$wp_simpleviewer_gallery.'/'; $wp_simpleviewer_xmlfile_dir = $wp_simpleviewer_gallery_dir.'gallery.xml'; //check if xml file exists and get variables if ( !is_readable($wp_simpleviewer_xmlfile_dir) ) { _e('I cannot find the gallery\'s xml file, please check that the gallery\'s files have been created on the admin pages:', $wp_simpleviewer_textdomain); echo ' '.$wp_simpleviewer_xmlfile_dir.'
'; } else { $wp_simpleviewer_gallery_array = wp_simpleviewer_gallery_from_xml($wp_simpleviewer_xmlfile_dir); $wp_simpleviewer_options = wp_simpleviewer_merge_options_and_array($wp_simpleviewer_options, $wp_simpleviewer_gallery_array); $wp_simpleviewer_gallery_url_regular = $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_a"]["imagePath"]; $wp_simpleviewer_gallery_url_thumbnails = $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_a"]["thumbPath"]; if ( count($wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"]) == 0) { //no images found in XML file _e('No images found in the xml file. Please check that there are image files in the directory!', $wp_simpleviewer_textdomain); echo '
'; } else { //there are images in the xml file, show the form to edit them ?>


$wp_simpleviewer_image ) { /*if ( $key%2 ) { echo ''."\n"; } else { echo ''."\n"; }*/ if ( $key%2 ) { echo ''."\n"; } else { echo ''."\n"; } echo ''."\n"; echo ''."\n"; echo ''."\n"; echo ''."\n"; echo ''."\n"; echo ''."\n"; } //end foreach ?>
'.$wp_simpleviewer_image['.$wp_simpleviewer_image["_c"]["filename"]["_v"].''.date(__("Y/m/d"), filemtime($wp_simpleviewer_gallery_dir.$wp_simpleviewer_image["_c"]["filename"]["_v"])).'


0 } //end if file is_readable } elseif ( $wp_simpleviewer_form_option == 'writenewxml' ) { //write new xml file check_admin_referer($wp_simpleviewer_nonce.'writenewxml'); $wp_simpleviewer_gallery = attribute_escape($_POST['wp_simpleviewer_gallery']); $wp_simpleviewer_gallery_dir = $wp_simpleviewer_options['images_dir'].$wp_simpleviewer_gallery.'/'; $wp_simpleviewer_xmlfile_dir = $wp_simpleviewer_gallery_dir.'gallery.xml'; $wp_simpleviewer_gallery_url_regular = attribute_escape( $_POST['wp_simpleviewer_gallery_url_regular'] ); $wp_simpleviewer_gallery_url_thumbnails = attribute_escape( $_POST['wp_simpleviewer_gallery_url_thumbnails'] ); $wp_simpleviewer_gallery_array = wp_simpleviewer_gallery_array_from_options( $wp_simpleviewer_options, $wp_simpleviewer_gallery_url_regular, $wp_simpleviewer_gallery_url_thumbnails ); foreach ( $_POST[wp_simpleviewer_images] as $key => $wp_simpleviewer_image ) { $wp_simpleviewer_image['caption'] = wp_specialchars( stripslashes($wp_simpleviewer_image['caption']), 1); $wp_simpleviewer_new_image = array( "_c" => array( "filename" => array( "_v" => attribute_escape( $wp_simpleviewer_image['filename']) ), "caption" => array( "_v" => attribute_escape( $wp_simpleviewer_image['caption'] ) ) )); wp_simpleviewer_ins2ary( $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"], $wp_simpleviewer_new_image, $wp_simpleviewer_image['order']-1 ); } //end foreach echo '

'; _e('Now the XML file will be recreated...', $wp_simpleviewer_textdomain); wp_simpleviewer_save_gallery($wp_simpleviewer_gallery_array, $wp_simpleviewer_options, $wp_simpleviewer_gallery, $wp_simpleviewer_xmlfile_dir); echo '

'; //end update box for WordPress (fading div box) } elseif ( $wp_simpleviewer_form_option == 'addimages' ) { //show xml file's content to edit it check_admin_referer($wp_simpleviewer_nonce.'addimages'); _e('This function is not implemented yet!', $wp_simpleviewer_textdomain); } //end if option == create ||editxml || addimages if ( !isset($wp_simpleviewer_form_option) || $wp_simpleviewer_form_option == 'writenewxml' || ( $wp_simpleviewer_form_option == 'create' && !isset($_POST['wp_simpleviewer_gallery']) ) ) { //show next part only on startpage or after writing new xml file ?>

'.$wp_simpleviewer_options['images_dir'].'
'; _e('Make the folder writeable for everyone (chmod 777) and then select it in the list below to generate the thumbnails and the XML file. More information about this is available on the plugin\'s homepage:', $wp_simpleviewer_textdomain); echo ' '; _e('Click here', $wp_simpleviewer_textdomain); echo '

'; _e('To show the SimpleViewer gallery on a post or a page just include the foldername in its content like this, you can also use the quicktag button in the code view of the editor for that:', $wp_simpleviewer_textdomain); echo '

Lorem ipsum dolor sit ame:
[svgallery name="'; _e('your_foldername', $wp_simpleviewer_textdomain); echo'"]
Consectetuer adipiscing elit.

'; ?>

'; _e('The following directory does not exist - please create it and upload your images to subdirectories of it:'); echo ' '.$wp_simpleviewer_options['images_dir'].'

'; } else { // directory exists $directory_handle = opendir($wp_simpleviewer_options['images_dir']); $directory_array = array(); while($file = readdir($directory_handle)) { if ($file[0] != "." && $file[0] != ".." && !strpos($file,".") && strcmp($file, "themes") && strcmp($file, "plugins") && is_dir($wp_simpleviewer_options['images_dir'].$file.'/') ) { array_push($directory_array, array('name' => $file, 'date' => filemtime($wp_simpleviewer_options['images_dir'].$file.'/'))); } } closedir($directory_handle); if ( !count($directory_array) ) { _e('There are no directories I can use as a gallery. Please create some!', $wp_simpleviewer_textdomain); } else { usort($directory_array, "wp_simpleviewer_directory_sort"); ?>
add_query_arg( 'paged', '%#%' ), 'format' => '', 'total' => ceil( count($directory_array)/10), 'current' => $_GET['paged'] )); if ( $page_links ) echo "
$page_links
"; ?>

'; } else { echo ''; } $directory_name = $directory_array[$directory_id]['name']; $directory_date = date(__('Y/m/d'), $directory_array[$directory_id]['date']); if ( is_writable($wp_simpleviewer_options['images_dir'].$directory_name.'/') AND (!is_file($wp_simpleviewer_options['images_dir'].$directory_name.'/gallery.xml')) OR (current_user_can('edit_others_posts')) ) echo ''; else { //directory not writable echo ''; } echo ''; echo ''; //date(get_option('date_format'), filemtime($wp_simpleviewer_options['images_dir'].$file.'/') ).date(get_option('time_format'), filemtime($wp_simpleviewer_options['images_dir'].$file.'/') ) )); $plugin_file = attribute_escape($_GET['page']); $page_name = basename($_SERVER['PHP_SELF']); $editxml_url = $page_name.'?page='.$plugin_file.'&wp_simpleviewer_gallery='.$directory_name.'&wp_simpleviewer_form_option=editxml'; $addimages_url = $page_name.'?page='.$plugin_file.'&wp_simpleviewer_gallery='.$directory_name.'&wp_simpleviewer_form_option=addimages'; $editxml_url = wp_nonce_url($editxml_url, $wp_simpleviewer_nonce.'editxml'); $addimages_url = wp_nonce_url($addimages_url, $wp_simpleviewer_nonce.'addimages'); if ( !is_writable($wp_simpleviewer_options['images_dir'].$directory_name.'/') ) { //Directory not writable echo ''; echo ''; } elseif ( is_file($wp_simpleviewer_options['images_dir'].$directory_name.'/gallery.xml') && is_writable($wp_simpleviewer_options['images_dir'].$directory_name.'/gallery.xml') ) { //directory is writable and xmlfile exists if ( current_user_can('edit_others_posts') ) { echo ''; echo ''; } else { echo ''; echo ''; } } elseif ( is_file($wp_simpleviewer_options['images_dir'].$directory_name.'/gallery.xml') && !is_writable($wp_simpleviewer_options['images_dir'].$directory_name.'/gallery.xml') ) { //xmlfile exists but not writable echo ''; echo ''; } else { //directory is writable and no xmlfile exists echo ''; echo ''; } //echo ''; echo ''; $directory_id++; } //end while $directory_id ?>
"> ">
'.$directory_name.''.$directory_date.''; _e('This directory is not writable. You have to make it writable (chmod 777) if you want to use it for a gallery.', $wp_simpleviewer_textdomain); echo ' '; _e('XML file found, you can recreate or edit the gallery if you like', $wp_simpleviewer_textdomain); echo ''; _e('Edit captions and settings', $wp_simpleviewer_textdomain); echo ''; _e('XML file found but you do not have the permission to recreate or edit existing galleries', $wp_simpleviewer_textdomain); echo ' '; _e('XML file found, however it is not writable. You have to make it writable (chmod 777) if you want to recreate or edit the gallery', $wp_simpleviewer_textdomain); echo ' '; _e('You can create gallery files for this folder if you like', $wp_simpleviewer_textdomain); echo ' Add images
$page_links
"; ?>













%















/>





'; return 0; } if (!$src_img) { _e('This image file does not have a correct image format so I am skipping thumb creation for this file - please upload it again:', $wp_simpleviewer_textdomain); echo ' '.$src_filepath.'
'; return 0; } else { //gets the dimmensions of the image $old_x=imageSX($src_img); $old_y=imageSY($src_img); //set default size values $new_x = $max_size_dest; $new_y = $max_size_dest; $distance_x = 0; $distance_y = 0; $px_to_use_x = $old_x; $px_to_use_y = $old_y; //calculate ratio $ratio = $old_x/$old_y; if ($new_image_squared==true){ //generate squared new image (with cutting - used for thumbs) // Check image shape if ($ratio > 1) { //horizontal $distance_x = ($old_x - $old_y) / 2; //$distance_y= 0; $px_to_use_x = $old_y; $px_to_use_y = $old_y; } elseif ($ratio < 1) { //vertical //$distance_x= 0; $distance_y = ($old_y - $old_x) / 2; $px_to_use_x = $old_x; $px_to_use_y = $old_x; } } else { //resize original image and keep ratio (used for all other images) // Check image shape if ($ratio > 1) { //horizontal $new_y = $max_size_dest/$ratio; } elseif ($ratio < 1) { //vertical $new_x = $max_size_dest*$ratio; } } //end resize original image // we create a new image with the new dimmensions $dst_img = imagecreatetruecolor($new_x, $new_y); // resize the big image to the new created one // parameter used: // $distance_x - distance from left image corner to start with thumb in x direction (left to right) // $distance_y - distance from left image corner to start with thumb in y direction (up to down) // $new_x - x-size of destination image // $new_y - y-size of destination image // $px_to_use_x - how many px of the old image should be used in x direction // $px_to_use_y - how many px of the old image should be used in y direction imagecopyresampled($dst_img, $src_img, 0, 0, $distance_x, $distance_y, $new_x, $new_y, $px_to_use_x, $px_to_use_y); // output the created image to the file. if(!strcmp("png",$ext)) { if (!@imagepng($dst_img,$dst_filepath) ){ _e('The new image could not be created - skipping thumb creation for this file:', $wp_simpleviewer_textdomain); echo ' '.$dst_filepath.'
'; imagedestroy($dst_img); imagedestroy($src_img); return 0; } } elseif(!strcmp("gif",$ext)) { if (!@imagegif($dst_img,$dst_filepath) ) { _e('The new image could not be created - skipping thumb creation for this file:', $wp_simpleviewer_textdomain); echo ' '.$dst_filepath.'
'; imagedestroy($dst_img); imagedestroy($src_img); return 0; } } elseif (!@imagejpeg($dst_img,$dst_filepath, $wp_simpleviewer_resizequality) ) { _e('The new image could not be created - skipping thumb creation for this file:', $wp_simpleviewer_textdomain); echo ' '.$dst_filepath.'
'; imagedestroy($dst_img); imagedestroy($src_img); return 0; } //destroys source and destination images. imagedestroy($dst_img); imagedestroy($src_img); return 1; } //end if !srv_img } //end function create_resized_image // This function reads the extension of the file. // It is used to determine if the file is an image by checking the extension. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return strtolower($ext); } //end function getExtension function wp_simpleviewer_gallery_from_xml($xmlfile) { $wp_simpleviewer_gallery_array = wp_simpleviewer_xml2ary( file_get_contents($xmlfile) ); //Now the gallery is in the array, only cleanup of captions is necessary //If caption is a download or jsbox link only the text is needed foreach ($wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"] as $key => $wp_simpleviewer_image) { if ( preg_match('/(.*)<\/U><\/A>/i', $wp_simpleviewer_image["_c"]["caption"]["_v"], $wp_simpleviewer_caption) ) { $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"][$key]["_c"]["caption"]["_v"] = $wp_simpleviewer_caption[1]; } } //end foreach return $wp_simpleviewer_gallery_array; } //end function wp_simpleviewer_gallery_from_xml function wp_simpleviewer_save_gallery( $wp_simpleviewer_gallery_array, &$wp_simpleviewer_options, $wp_simpleviewer_gallery, $wp_simpleviewer_xmlfile_dir ) { global $wp_simpleviewer_textdomain; //If caption is a download or jsbox link the text has to be changed foreach ($wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"] as $key => $wp_simpleviewer_image) { if ($wp_simpleviewer_options['show_download_link'] == "jsbox"){ $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"][$key]["_c"]["caption"]["_v"] = ''.$wp_simpleviewer_image["_c"]["caption"]["_v"].']]>'; } elseif ($wp_simpleviewer_options['show_download_link'] == "true"){ $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"][$key]["_c"]["caption"]["_v"] = ''.$wp_simpleviewer_image["_c"]["caption"]["_v"].']]>'; } elseif ($wp_simpleviewer_options['show_download_link'] == "captions only") { $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"][$key]["_c"]["caption"]["_v"] = ''; } else { $wp_simpleviewer_gallery_array["simpleviewerGallery"]["_c"]["image"][$key]["_c"]["caption"]["_v"] = ''; } } //end foreach */ $wp_simpleviewer_gallery_xml = ''."\n"; $wp_simpleviewer_gallery_xml .= wp_simpleviewer_ary2xml($wp_simpleviewer_gallery_array); //Now the array will be written to the file: if ( !$wp_simpleviewer_xmlfile_handle = @fopen($wp_simpleviewer_xmlfile_dir,"w") ) { _e('I cannot open the XML file, please check that write permissions of the folder are correct. Filename is:', $wp_simpleviewer_textdomain); echo ' '.$wp_simpleviewer_xmlfile_dir.'

'; } elseif ( !fwrite($wp_simpleviewer_xmlfile_handle, $wp_simpleviewer_gallery_xml) ) { _e('I have opened the XML file, but I was not able to write into it. Please check that write permissions of the folder are correct! Filename is:', $wp_simpleviewer_textdomain); echo ' '.$wp_simpleviewer_xmlfile_dir.'

'; } else { echo '
'; _e('Yeah, we are done!', $wp_simpleviewer_textdomain); } fclose($wp_simpleviewer_xmlfile_handle); chmod($wp_simpleviewer_xmlfile_dir,0777); } //end function wp_simpleviewer_save_gallery function wp_simpleviewer_directory_sort($a, $b){ if ( isset($_GET['wp_simpleviewer_gallerysort']) ) { $wp_simpleviewer_options['gallerysort'] = attribute_escape($_GET['wp_simpleviewer_gallerysort']); } else { $wp_simpleviewer_options['gallerysort'] = get_option("wp_simpleviewer_gallerysort"); } if ($wp_simpleviewer_options['gallerysort']=="datedescending") { return -strnatcasecmp($a["date"], $b["date"]); } elseif ($wp_simpleviewer_options['gallerysort']=="dateascending") { return strnatcasecmp($a["date"], $b["date"]); } elseif ($wp_simpleviewer_options['gallerysort']=="namedescending") { return -strnatcasecmp($a["name"], $b["name"]); } elseif ($wp_simpleviewer_options['gallerysort']=="nameascending") { return strnatcasecmp($a["name"], $b["name"]); } } //end function wp_simpleviewer_directory_sort function wp_simpleviewer_image_sort($a, $b){ if ( isset($_POST['wp_simpleviewer_imagesort']) ) { $wp_simpleviewer_options['imagesort'] = attribute_escape($_POST['wp_simpleviewer_imagesort']); } else { $wp_simpleviewer_options['imagesort'] = get_option("wp_simpleviewer_imagesort"); } if ($wp_simpleviewer_options['imagesort']=="datedescending") { return -strnatcasecmp($a["date"], $b["date"]); } elseif ($wp_simpleviewer_options['imagesort']=="dateascending") { return strnatcasecmp($a["date"], $b["date"]); } elseif ($wp_simpleviewer_options['imagesort']=="namedescending") { return -strnatcasecmp($a["name"], $b["name"]); } elseif ($wp_simpleviewer_options['imagesort']=="nameascending") { return strnatcasecmp($a["name"], $b["name"]); } } //end function wp_simpleviewer_image_sort // XML to Array - taken from http://mysrc.blogspot.com/2007/02/php-xml-to-array-and-backwards.html function wp_simpleviewer_xml2ary(&$string) { $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parse_into_struct($parser, $string, $vals, $index); xml_parser_free($parser); $mnary=array(); $ary=&$mnary; foreach ($vals as $r) { $t=$r['tag']; if ($r['type']=='open') { if (isset($ary[$t])) { if (isset($ary[$t][0])) $ary[$t][]=array(); else $ary[$t]=array($ary[$t], array()); $cv=&$ary[$t][count($ary[$t])-1]; } else $cv=&$ary[$t]; if (isset($r['attributes'])) {foreach ($r['attributes'] as $k=>$v) $cv['_a'][$k]=$v;} $cv['_c']=array(); $cv['_c']['_p']=&$ary; $ary=&$cv['_c']; } elseif ($r['type']=='complete') { if (isset($ary[$t])) { // same as open if (isset($ary[$t][0])) $ary[$t][]=array(); else $ary[$t]=array($ary[$t], array()); $cv=&$ary[$t][count($ary[$t])-1]; } else $cv=&$ary[$t]; if (isset($r['attributes'])) {foreach ($r['attributes'] as $k=>$v) $cv['_a'][$k]=$v;} $cv['_v']=(isset($r['value']) ? $r['value'] : ''); } elseif ($r['type']=='close') { $ary=&$ary['_p']; } } _del_p($mnary); return $mnary; } //end function wp_simpleviewer_xml2ary // _Internal: Remove recursion in result array function _del_p(&$ary) { foreach ($ary as $k=>$v) { if ($k==='_p') unset($ary[$k]); elseif (is_array($ary[$k])) _del_p($ary[$k]); } } //end function _del_p // Array to XML function wp_simpleviewer_ary2xml($cary, $d=0, $forcetag='') { $res=array(); foreach ($cary as $tag=>$r) { if (isset($r[0])) { $res[]=wp_simpleviewer_ary2xml($r, $d, $tag); } else { if ($forcetag) $tag=$forcetag; $sp=str_repeat("\t", $d); $res[]="$sp<$tag"; if (isset($r['_a'])) {foreach ($r['_a'] as $at=>$av) $res[]=" $at=\"$av\"";} $res[]=">".((isset($r['_c'])) ? "\n" : ''); if (isset($r['_c'])) $res[]=wp_simpleviewer_ary2xml($r['_c'], $d+1); elseif (isset($r['_v'])) $res[]=$r['_v']; $res[]=(isset($r['_c']) ? $sp : '')."\n"; } } return implode('', $res); } //end function wp_simpleviewer_ary2xml // Insert element into array function wp_simpleviewer_ins2ary(&$ary, $element, $pos) { $ar1=array_slice($ary, 0, $pos); $ar1[]=$element; $ary=array_merge($ar1, array_slice($ary, $pos)); } //function wp_simpleviewer_ins2ary function wp_simpleviewer_quicktag() { ?>


...'; _e('deactivate the plugin', $wp_simpleviewer_textdomain); echo ' '; _e('or start from scratch.', $wp_simpleviewer_textdomain); echo '

'; ?>

array( "_a" => array( "maxImageWidth" => $wp_simpleviewer_options['max_image_size'], "maxImageHeight" => $wp_simpleviewer_options['max_image_size'], "textColor" => "0x".$wp_simpleviewer_options['textcolor'], "frameColor" => "0x".$wp_simpleviewer_options['framecolor'], "frameWidth" => $wp_simpleviewer_options['framewidth'], "stagePadding" => $wp_simpleviewer_options['stagepadding'], "navPadding" => $wp_simpleviewer_options['navpadding'], "thumbnailColumns" => $wp_simpleviewer_options['thumbnailcolumns'], "thumbnailRows" => $wp_simpleviewer_options['thumbnailrows'], "navPosition" => $wp_simpleviewer_options['navposition'], "vAlign" => $wp_simpleviewer_options['valign'], "hAlign" => $wp_simpleviewer_options['halign'], "enableRightClickOpen" => $wp_simpleviewer_options['enableRightClickOpen'], "title" => $wp_simpleviewer_options['standard_title'], "imagePath" => $wp_simpleviewer_gallery_url_regular, "thumbPath" => $wp_simpleviewer_gallery_url_thumbnails, "wpSimpleviewerWidth" => $wp_simpleviewer_options['width'], "wpSimpleviewerHeight" => $wp_simpleviewer_options['height'], "wpSimpleviewerBackgroundColor" => $wp_simpleviewer_options['bgcolor'] ), "_c" => array( "image" => array() ) )); } //end function wp_simpleviewer_gallery_array_from_options function wp_simpleviewer_update_check() { global $wp_simpleviewer_version; $wp_simpleviewer_version_installed = get_option('wp_simpleviewer_version_installed'); if ( $wp_simpleviewer_version_installed && $wp_simpleviewer_version_installed != $wp_simpleviewer_version ) { //check if update of DB is needed wp_simpleviewer_update_db( $wp_simpleviewer_version_installed ); } } //end function wp_simpleviewer_update_check function wp_simpleviewer_update_db( $wp_simpleviewer_db_version ) { global $wp_simpleviewer_textdomain; global $wp_simpleviewer_version; if ( $wp_simpleviewer_db_version == '0.4' ) { delete_option("wp_simpleviewer_align"); wp_simpleviewer_update_db( '0.5' ); } elseif ( $wp_simpleviewer_db_version == '0.5' ) { delete_option("wp_simpleviewer_thumbnailsize"); wp_simpleviewer_update_db( '1.0' ); } elseif ( $wp_simpleviewer_db_version == '1.0' ) { delete_option("wp_simpleviewer_plugin_basedir"); wp_simpleviewer_update_db( '1.1' ); } elseif ( $wp_simpleviewer_db_version == '1.1' ) { //New thickbox settings $wp_simpleviewer_options['show_download_link'] = get_option("wp_simpleviewer_show_download_link"); if ( $wp_simpleviewer_options['show_download_link'] == "true" ) { $wp_simpleviewer_options['show_download_link'] = "jsbox"; update_option('wp_simpleviewer_show_download_link', $wp_simpleviewer_options['show_download_link']); $wp_simpleviewer_options['jsbox'] = "thickbox"; } else { $wp_simpleviewer_options['jsbox'] = "off"; } add_option("wp_simpleviewer_jsbox", $wp_simpleviewer_options['jsbox'], "Usage of Javascript image box for simpleviewer gallery", no); delete_option("wp_simpleviewer_right_click_menu"); wp_simpleviewer_update_db( '1.2' ); } elseif ( $wp_simpleviewer_db_version == '1.2' ) { //New URL & path to image folder $wp_simpleviewer_options['images_basedir'] = get_option("wp_simpleviewer_images_basedir"); add_option("wp_simpleviewer_images_url", get_option('siteurl')."/".$wp_simpleviewer_options['images_basedir'], "URL to the images directory for simpleviewer gallery", no); add_option("wp_simpleviewer_images_dir", ABSPATH.$wp_simpleviewer_options['images_basedir'], "Path to the images directory for simpleviewer gallery", no); delete_option("wp_simpleviewer_images_basedir"); //SimpleViewer 1.8.5 features add_option("wp_simpleviewer_navpadding", "40", "Navigationpadding of simpleviewer gallery", no); add_option("wp_simpleviewer_valign", "center", "Vertical placement of the image and thumbnails of simpleviewer gallery", no); add_option("wp_simpleviewer_halign", "center", "Horizontal placement of the image and thumbnails of simpleviewer gallery", no); //Feed text & howto add_option("wp_simpleviewer_feed_text", __('Here a SimpleViewer Flash gallery should be displayed. Click here to open the post in your browser to see the gallery.', $wp_simpleviewer_textdomain), "Text to be displayed in feeds for simpleviewer gallery", no); add_option("wp_simpleviewer_howto", "on", "Show howto text on manage page of simpleviewer gallery", no); wp_simpleviewer_update_db( '1.3' ); } elseif ( $wp_simpleviewer_db_version == '1.3' ) { //Gallery and image sort options add_option("wp_simpleviewer_gallerysort", "datedescending", "Show howto text on manage page of simpleviewer gallery", no); add_option("wp_simpleviewer_imagesort", "nameascending", "Show howto text on manage page of simpleviewer gallery", no); wp_simpleviewer_update_db( '1.4' ); } elseif ( $wp_simpleviewer_db_version == $wp_simpleviewer_version ) { //End of recursion update_option('wp_simpleviewer_version_installed', $wp_simpleviewer_version); ?>