function afg_reports_html_page() { global $afg_photo_size_map, $afg_on_off_map, $afg_descr_map, $afg_columns_map, $afg_bg_color_map, $afg_width_map, $pf, $afg_sort_order_map, $afg_slideshow_map, $wpdb; ?> <div class='wrap'> <h2><img src="<?php echo BASE_URL . '/images/logo_big.png'; ?> " align='center'/>Flickr Gallery Settings</h2> <?php if ($_GET && wp_verify_nonce($_REQUEST['nonce'], 'ajax-afg-removeimg-nonce-' . $_REQUEST['report'])) { //$photo = $pf->photos_getAllContexts($_REQUEST['report']); $ret = $wpdb->update($wpdb->prefix . "flickruploads", array('status' => -1), array('photoid' => $_REQUEST['report']), array('%d'), array('%s')); /* foreach ($photo['set'] as $id => $set){ $pf->photosets_removePhoto($set['id'] ,$_REQUEST['report']); } $pf->photosets_addPhoto(get_option('afg_banned_photoset'),$_REQUEST['report'] ); */ } else { echo $_REQUEST['nonce']; echo 'ajax-afg-removeimg-nonce-' . $_REQUEST['report']; echo wp_create_nonce('ajax-afg-removeimg-nonce-' . $photo['id']); echo wp_verify_nonce($_REQUEST['nonce'], 'ajax-afg-removeimg-nonce-' . $_REQUEST['report']); } $url = $_SERVER['REQUEST_URI']; ?> <form method='post' action='<?php echo $url; ?> '> <?php echo afg_generate_version_line(); ?> <div class="postbox-container" style="width:69%; margin-right:1%"> <div id="poststuff"> <div class="postbox" style='box-shadow:0 0 2px'> <h3>Reported images</h3> <?php $rsp_obj = $wpdb->get_results("\r\n SELECT photoid as id, photosecret as secret, farm, server \r\n FROM {$wpdb->prefix}flickruploads\r\n WHERE status=1 \r\n ", ARRAY_A); if (!$rsp_obj) { echo afg_error(); } else { foreach ($rsp_obj as $photo) { $photo_url = "http://farm{$photo['farm']}.static.flickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}_s.jpg"; $linkurl = $url . '&report=' . $photo['id'] . '&nonce=' . wp_create_nonce('ajax-afg-removeimg-nonce-' . $photo['id']); echo '<a href="' . $linkurl . '" class="ban-image"><img src="' . $photo_url . '"/></a>'; } } ?> </div> </div> </div> </form> <?php if (DEBUG) { print_all_options(); } }
function afg_display_gallery($atts) { global $size_heading_map, $afg_text_color_map, $pf; if (!get_option('afg_pagination')) { update_option('afg_pagination', 'on'); } extract(shortcode_atts(array('id' => '0'), $atts)); $cur_page = 1; $cur_page_url = afg_get_cur_url(); preg_match("/afg{$id}_page_id=(?P<page_id>\\d+)/", $cur_page_url, $matches); if ($matches) { $cur_page = $matches['page_id']; $match_pos = strpos($cur_page_url, "afg{$id}_page_id={$cur_page}") - 1; $cur_page_url = substr($cur_page_url, 0, $match_pos); if (function_exists('qtrans_convertURL')) { $cur_page_url = qtrans_convertURL($cur_page_url); } } if (strpos($cur_page_url, '?') === false) { $url_separator = '?'; } else { $url_separator = '&'; } $galleries = get_option('afg_galleries'); if (!isset($galleries) || array_key_exists($id, $galleries) == false) { return afg_error("Gallery ID {$id} has been either deleted or not configured."); } $gallery = $galleries[$id]; $api_key = get_option('afg_api_key'); $user_id = get_option('afg_user_id'); $disable_slideshow = get_afg_option($gallery, 'slideshow_option') == 'disable'; $slideshow_option = get_afg_option($gallery, 'slideshow_option'); $per_page = get_afg_option($gallery, 'per_page'); $sort_order = get_afg_option($gallery, 'sort_order'); $photo_size = get_afg_option($gallery, 'photo_size'); $photo_title = get_afg_option($gallery, 'captions'); $photo_descr = get_afg_option($gallery, 'descr'); $bg_color = get_afg_option($gallery, 'bg_color'); $columns = get_afg_option($gallery, 'columns'); $credit_note = get_afg_option($gallery, 'credit_note'); $gallery_width = get_afg_option($gallery, 'width'); $pagination = get_afg_option($gallery, 'pagination'); $cache_refresh_interval = get_afg_option($gallery, 'cache_refresh_interval'); if ($photo_size == 'custom') { $custom_size = get_afg_option($gallery, 'custom_size'); $custom_size_square = get_afg_option($gallery, 'custom_size_square'); if ($custom_size <= 70) { $photo_size = '_s'; } else { if ($custom_size <= 90) { $photo_size = '_t'; } else { if ($custom_size <= 220) { $photo_size = '_m'; } else { if ($custom_size <= 500) { $photo_size = 'NULL'; } } } } } else { $custom_size = 0; $custom_size_square = 'false'; } $photoset_id = NULL; $gallery_id = NULL; $group_id = NULL; $tags = NULL; $popular = false; if (!isset($gallery['photo_source'])) { $gallery['photo_source'] = 'photostream'; } if ($gallery['photo_source'] == 'photoset') { $photoset_id = $gallery['photoset_id']; } else { if ($gallery['photo_source'] == 'gallery') { $gallery_id = $gallery['gallery_id']; } else { if ($gallery['photo_source'] == 'group') { $group_id = $gallery['group_id']; } else { if ($gallery['photo_source'] == 'tags') { $tags = $gallery['tags']; } else { if ($gallery['photo_source'] == 'popular') { $popular = true; } } } } } $extras = 'url_l, description, date_upload, date_taken, owner_name'; if (!DEBUG) { $photos = get_transient('afg_id_' . $id); } if ($photos === false) { $photos = array(); if (isset($photoset_id) && $photoset_id) { $rsp_obj = $pf->photosets_getInfo($photoset_id); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['photos']; } else { if (isset($gallery_id) && $gallery_id) { $rsp_obj = $pf->galleries_getInfo($gallery_id); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['gallery']['count_photos']['_content']; } else { if (isset($group_id) && $group_id) { $rsp_obj = $pf->groups_pools_getPhotos($group_id, NULL, NULL, NULL, NULL, 1, 1); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['photos']['total']; if ($total_photos > 500) { $total_photos = 500; } } else { if (isset($tags) && $tags) { $rsp_obj = $pf->photos_search(array('user_id' => $user_id, 'tags' => $tags, 'extras' => $extras, 'per_page' => 1)); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['photos']['total']; } else { if (isset($popular) && $popular) { $rsp_obj = $pf->photos_search(array('user_id' => $user_id, 'sort' => 'interestingness-desc', 'extras' => $extras, 'per_page' => 1)); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['photos']['total']; } else { $rsp_obj = $pf->people_getInfo($user_id); if ($pf->error_code) { return afg_error($pf->error_msg); } $total_photos = $rsp_obj['photos']['count']['_content']; } } } } } for ($i = 1; $i < $total_photos / 500 + 1; $i++) { if ($photoset_id) { $flickr_api = 'photoset'; $rsp_obj_total = $pf->photosets_getPhotos($photoset_id, $extras, NULL, 500, $i); if ($pf->error_code) { return afg_error($pf->error_msg); } } else { if ($gallery_id) { $flickr_api = 'photos'; $rsp_obj_total = $pf->galleries_getPhotos($gallery_id, $extras, 500, $i); if ($pf->error_code) { return afg_error($pf->error_msg); } } else { if ($group_id) { $flickr_api = 'photos'; $rsp_obj_total = $pf->groups_pools_getPhotos($group_id, NULL, NULL, NULL, $extras, 500, $i); if ($pf->error_code) { return afg_error($pf->error_msg); } } else { if ($tags) { $flickr_api = 'photos'; $rsp_obj_total = $pf->photos_search(array('user_id' => $user_id, 'tags' => $tags, 'extras' => $extras, 'per_page' => 500, 'page' => $i)); if ($pf->error_code) { return afg_error($pf->error_msg); } } else { if ($popular) { $flickr_api = 'photos'; $rsp_obj_total = $pf->photos_search(array('user_id' => $user_id, 'sort' => 'interestingness-desc', 'extras' => $extras, 'per_page' => 500, 'page' => $i)); if ($pf->error_code) { return afg_error($pf->error_msg); } } else { $flickr_api = 'photos'; if (get_option('afg_flickr_token')) { $rsp_obj_total = $pf->people_getPhotos($user_id, array('extras' => $extras, 'per_page' => 500, 'page' => $i)); } else { $rsp_obj_total = $pf->people_getPublicPhotos($user_id, NULL, $extras, 500, $i); } if ($pf->error_code) { return afg_error($pf->error_msg); } } } } } } $photos = array_merge($photos, $rsp_obj_total[$flickr_api]['photo']); } if (!DEBUG) { set_transient('afg_id_' . $id, $photos, afg_get_cache_refresh_interval_secs($cache_refresh_interval)); } } else { $total_photos = count($photos); } if ($total_photos % $per_page == 0) { $total_pages = (int) ($total_photos / $per_page); } else { $total_pages = (int) ($total_photos / $per_page) + 1; } if ($gallery_width == 'auto') { $gallery_width = 100; } $text_color = isset($afg_text_color_map[$bg_color]) ? $afg_text_color_map[$bg_color] : ''; $disp_gallery .= "<div class='afg-gallery' id='afg-{$id}'>"; if ($slideshow_option == 'highslide') { $photo_count = 1; } if (!$popular && $sort_order != 'flickr') { if ($sort_order == 'random') { shuffle($photos); } else { usort($photos, $sort_order); } } if ($disable_slideshow) { $class = ''; $rel = ''; $click_event = ''; } else { if ($slideshow_option == 'colorbox') { $class = "class='afgcolorbox'"; $rel = "rel='example4{$id}'"; $click_event = ""; } else { if ($slideshow_option == 'highslide') { $class = "class='highslide'"; $rel = ""; $click_event = "onclick='return hs.expand(this, {slideshowGroup: {$id} })'"; } else { if ($slideshow_option == 'flickr') { $class = ""; $rel = ""; $click_event = "target='_blank'"; } } } } if ($photo_size == '_s') { $photo_width = "width='75'"; $photo_height = "height='75'"; } else { $photo_width = ''; $photo_height = ''; } foreach ($photos as $pid => $photo) { $p_title = esc_attr($photo['title']); $p_description = esc_attr($photo['description']['_content']); $p_description = preg_replace("/\n/", "<br />", $p_description); $photo_url = afg_get_photo_url($photo['farm'], $photo['server'], $photo['id'], $photo['secret'], $photo_size); if ($slideshow_option != 'none') { if (isset($photo['url_l']) ? $photo['url_l'] : '') { $photo_page_url = $photo['url_l']; } else { $photo_page_url = afg_get_photo_url($photo['farm'], $photo['server'], $photo['id'], $photo['secret'], '_z'); } if ($photoset_id) { $photo['owner'] = $user_id; } $photo_title_text = $p_title; if ($slideshow_option == 'highslide' && $p_description) { $photo_title_text .= '<br /><span>' . $p_description . '</span>'; } $photo_title_text .= ' • <a href="https://www.flickr.com/photos/' . $photo['owner'] . '/' . $photo['id'] . '/" target="_blank">View on Flickr</a>'; $photo_title_text = esc_attr($photo_title_text); if ($slideshow_option == 'flickr') { $photo_page_url = "https://www.flickr.com/photos/" . $photo['owner'] . "/" . $photo['id']; } } if ($photo_count <= $per_page * $cur_page && $photo_count > $per_page * ($cur_page - 1)) { $pid_len = strlen($photo['id']); if ($slideshow_option != 'none') { $disp_gallery .= "<a {$class} {$rel} {$click_event} href='{$photo_page_url}' title='{$photo['title']}'>"; } if ($custom_size) { $timthumb_script = BASE_URL . "/afg_img_rsz.php?src="; if ($photo['width_l'] > $photo['height_l']) { $timthumb_params = "&q=100&w={$custom_size}"; if ($custom_size_square == 'true') { $timthumb_params .= "&h={$custom_size}"; } } else { $timthumb_params = "&q=100&h={$custom_size}"; if ($custom_size_square == 'true') { $timthumb_params .= "&w={$custom_size}"; } } } else { $timthumb_script = ""; $timthumb_params = ""; } $disp_gallery .= "<img title='{$photo['title']}' src='{$timthumb_script}{$photo_url}{$timthumb_params}' alt='{$photo_title_text}'/>"; if ($slideshow_option != 'none') { $disp_gallery .= "</a>"; } if ($size_heading_map[$photo_size] && $photo_title == 'on') { if ($group_id || $gallery_id) { $owner_title = "- by <a href='https://www.flickr.com/photos/{$photo['owner']}/' target='_blank'>{$photo['ownername']}</a>"; } else { $owner_title = ''; } $disp_gallery .= "<div class='afg-title'>{$p_title} {$owner_title}</div>"; } if ($photo_descr == 'on' && $photo_size != '_s' && $photo_size != '_t') { $disp_gallery .= "<div class='afg-description'>" . $photo['description']['_content'] . "</div>"; } } else { if ($pagination == 'on' && $slideshow_option != 'none') { if ($slideshow_option == 'highslide') { $photo_url = afg_get_photo_url($photo['farm'], $photo['server'], $photo['id'], $photo['secret'], '_s'); } else { $photo_url = ''; } if ($slideshow_option == 'highslide') { $photo_src_text = "src='{$photo_url}'"; } else { $photo_src_text = ""; } $disp_gallery .= "<a style='display:none' {$class} {$rel} {$click_event} href='{$photo_page_url}'" . " title='{$photo['title']}'>" . " <img class='afg-img' alt='{$photo_title_text}' {$photo_src_text} width='75' height='75'></a> "; } } $photo_count += 1; } // Pagination if ($pagination == 'on' && $total_pages > 1) { $disp_gallery .= "<div class='afg-pagination'>"; if ($cur_page == 1) { $disp_gallery .= "<span>« prev </span>"; $disp_gallery .= "<span class='afg-cur-page'> 1 </span>"; } else { $prev_page = $cur_page - 1; $disp_gallery .= "<a href='{$cur_page_url}{$url_separator}afg{$id}_page_id={$prev_page}#afg-{$id}' title='Prev Page'> « prev </a> "; $disp_gallery .= "<a href='{$cur_page_url}{$url_separator}afg{$id}_page_id=1#afg-{$id}' title='Page 1'> 1 </a> "; } if ($cur_page - 2 > 2) { $start_page = $cur_page - 2; $end_page = $cur_page + 2; $disp_gallery .= " ... "; } else { $start_page = 2; $end_page = 6; } for ($count = $start_page; $count <= $end_page; $count += 1) { if ($count > $total_pages) { break; } if ($cur_page == $count) { $disp_gallery .= "<span>{$count}</span>"; } else { $disp_gallery .= "<a href='{$cur_page_url}{$url_separator}afg{$id}_page_id={$count}#afg-{$id}' title='Page {$count}'> {$count} </a> "; } } if ($count < $total_pages) { $disp_gallery .= " ... "; } if ($count <= $total_pages) { $disp_gallery .= "<a href='{$cur_page_url}{$url_separator}afg{$id}_page_id={$total_pages}#afg-{$id}' title='Page {$total_pages}'> {$total_pages} </a>"; } if ($cur_page == $total_pages) { $disp_gallery .= "<span>next »</span>"; } else { $next_page = $cur_page + 1; $disp_gallery .= "<a class='afg-page' href='{$cur_page_url}{$url_separator}afg{$id}_page_id={$next_page}#afg-{$id}' title='Next Page'> next » </a>"; } $disp_gallery .= "<br />({$total_photos} Photos)"; $disp_gallery .= "</div>"; } if ($credit_note == 'on') { $disp_gallery .= "<div class='afg-credit'>Powered by " . "<a href='http://www.ronakg.com/projects/awesome-flickr-gallery-wordpress-plugin'" . "title='Awesome Flickr Gallery by Ronak Gandhi'/>AFG</a>"; $disp_gallery .= "</div>"; } $disp_gallery .= "</div>"; return $disp_gallery; }
function afg_admin_html_page() { global $afg_photo_size_map, $afg_on_off_map, $afg_descr_map, $afg_columns_map, $afg_bg_color_map, $afg_width_map, $pf, $afg_sort_order_map, $afg_slideshow_map; function upgrade_handler() { $galleries = get_option('afg_galleries'); if ($galleries) { foreach ($galleries as &$gallery) { if (!isset($gallery['slideshow_option']) && $gallery['slideshow_option'] == 'highslide') { $gallery['slideshow_option'] = 'swipebox'; } } update_option('afg_galleries', $galleries); } unset($gallery); $afg_cache_refresh_interval = get_option('afg_cache_refresh_interval'); if (!isset($afg_cache_refresh_interval)) { update_option('afg_cache_refresh_interval', '1d'); } } upgrade_handler(); if ($_POST) { global $pf, $custom_size_err_msg; if (isset($_POST['submit']) && $_POST['submit'] == 'Delete Cached Galleries') { delete_afg_caches(); echo "<div class='updated'><p><strong>Cached data deleted successfully.</strong></p></div>"; } else { if (isset($_POST['submit']) && $_POST['submit'] == 'Save Changes') { update_option('afg_api_key', $_POST['afg_api_key']); if (!$_POST['afg_api_secret'] || $_POST['afg_api_secret'] != get_option('afg_api_secret')) { update_option('afg_flickr_token', ''); } update_option('afg_api_secret', $_POST['afg_api_secret']); update_option('afg_user_id', $_POST['afg_user_id']); if (ctype_digit($_POST['afg_per_page']) && (int) $_POST['afg_per_page']) { update_option('afg_per_page', $_POST['afg_per_page']); } else { update_option('afg_per_page', 10); echo "<div class='updated'><p><strong>You entered invalid value for Per Page option. It has been set to 10.</strong></p></div>"; } update_option('afg_sort_order', $_POST['afg_sort_order']); update_option('afg_photo_size', $_POST['afg_photo_size']); if (get_option('afg_photo_size') == 'custom') { if (ctype_digit($_POST['afg_custom_size']) && (int) $_POST['afg_custom_size'] >= 50 && (int) $_POST['afg_custom_size'] <= 500) { update_option('afg_custom_size', $_POST['afg_custom_size']); if (!is_dir(dirname(__FILE__) . "/cache")) { if (!wp_mkdir_p(dirname(__FILE__) . "/cache")) { echo "<div class='updated'><p>Could not create directory - '" . dirname(__FILE__) . "/cache'. This is required for custom size photos to be displayed. Manually create this directory and set permissions for this directory as 777.</p></div>"; } } } else { update_option('afg_custom_size', 100); echo "<div class='updated'><p><strong>You entered invalid value for Custom Width option. It has been set to 100.</strong></p></div>"; } update_option('afg_custom_size_square', $_POST['afg_custom_size_square'] ? $_POST['afg_custom_size_square'] : 'false'); } update_option('afg_captions', $_POST['afg_captions']); update_option('afg_descr', $_POST['afg_descr']); update_option('afg_columns', $_POST['afg_columns']); update_option('afg_slideshow_option', $_POST['afg_slideshow_option']); update_option('afg_width', $_POST['afg_width']); update_option('afg_bg_color', $_POST['afg_bg_color']); if (isset($_POST['afg_credit_note']) && $_POST['afg_credit_note']) { update_option('afg_credit_note', 'on'); } else { update_option('afg_credit_note', 'off'); } if (isset($_POST['afg_pagination']) && $_POST['afg_pagination']) { update_option('afg_pagination', 'off'); } else { update_option('afg_pagination', 'on'); } echo "<div class='updated'><p><strong>Settings updated successfully.</br></br><font style='color:red'>Important Note:</font> If you have installed a caching plugin (like WP Super Cache or W3 Total Cache etc.), you may have to delete your cached pages for the settings to take effect.</strong></p></div>"; if (get_option('afg_api_secret') && !get_option('afg_flickr_token')) { echo "<div class='updated'><p><strong>Click \"Grant Access\" button to authorize Awesome Flickr Gallery to access your private photos from Flickr.</strong></p></div>"; } } } create_afgFlickr_obj(); } $url = $_SERVER['REQUEST_URI']; ?> <form method='post' action='<?php echo $url; ?> '> <div id='afg-wrap'> <h2><a href='http://www.ronakg.com/projects/awesome-flickr-gallery-wordpress-plugin/'><img src="<?php echo BASE_URL . '/images/logo_big.png'; ?> " align='center'/></a>Awesome Flickr Gallery Settings</h2> <?php echo afg_generate_version_line(); ?> <div id="afg-main-box"> <h3>Flickr User Settings</h3> <table class='widefat afg-settings-box'> <tr> <th class="afg-label"></th> <th class="afg-input"></th> <th class="afg-help-bubble"></th> </tr> <tr> <td>Flickr User ID</td> <td><input class='afg-input' type='text' name='afg_user_id' value="<?php echo get_option('afg_user_id'); ?> " /><b>*</b></td> <td><div class="afg-help">Don't know your Flickr User ID? Get it from <a href="http://idgettr.com/" target='blank'>here.</a></div></td> </tr> <tr> <td>Flickr API Key</td> <td><input class='afg-input' type='text' name='afg_api_key' value="<?php echo get_option('afg_api_key'); ?> " ><b>*</b></input> </td> <td> <div class='afg-help'>Don't have a Flickr API Key? Get it from <a href="http://www.flickr.com/services/api/keys/" target='blank'>here.</a> Go through the <a href='http://www.flickr.com/services/api/tos/'>Flickr API Terms of Service.</a></div></td> </tr> <tr> <td>Flickr API Secret</td> <td><input class='afg-input' type='text' name='afg_api_secret' id='afg_api_secret' value="<?php echo get_option('afg_api_secret'); ?> "/> <br /><br /> <?php if (get_option('afg_api_secret')) { if (get_option('afg_flickr_token')) { echo "<input type='button' class='button-secondary' value='Access Granted' disabled=''"; } else { ?> <input type="button" class="button-primary" value="Grant Access" onClick="document.location.href='<?php echo get_admin_url() . 'admin-ajax.php?action=afg_gallery_auth'; ?> ';"/> <?php } } else { echo "<input type='button' class='button-secondary' value='Grant Access' disabled=''"; } ?> </td> <td class="afg-help"><b>ONLY</b> If you want to include your <b>Private Photos</b> in your galleries, enter your Flickr API Secret here and click Save Changes. </td> </tr> </table> <table class='widefat afg-settings-box'> <h3>Gallery Settings</h3> <tr> <th class="afg-label"></th> <th class="afg-input"></th> <th class="afg-help-bubble"></th> </tr> <tr> <td>Max Photos Per Page</td> <td><input type='text' name='afg_per_page' id='afg_per_page' onblur='verifyPerPageBlank()' maxlength='3' value="<?php echo get_option('afg_per_page') ? get_option('afg_per_page') : 10; ?> " /><b>*</b></td> </tr> <tr> <td>Sort order of Photos</td> <td><select name='afg_sort_order' id='afg_sort_order'> <?php echo afg_generate_options($afg_sort_order_map, get_option('afg_sort_order', 'flickr')); ?> </select> <td class="afg-help">Set the sort order of the photos as per your liking and forget about how photos are arranged on Flickr.</td> </td> </tr> <tr> <td>Size of the Photos</td> <td><select name='afg_photo_size' id='afg_photo_size' onchange='customPhotoSize()'> <?php echo afg_generate_options($afg_photo_size_map, get_option('afg_photo_size', '_m')); ?> </select></td> </tr> <tr valign='top' id='afg_custom_size_block' style='display:none'> <td>Custom Width</td> <td><input type='text' size='3' maxlength='3' name='afg_custom_size' id='afg_custom_size' onblur='verifyCustomSizeBlank()' value="<?php echo get_option('afg_custom_size') ? get_option('afg_custom_size') : 100; ?> ">* (in px) Square? <input type='checkbox' name='afg_custom_size_square' value='true' <?php if (get_option('afg_custom_size_square') == 'true') { echo "checked=''"; } ?> > </td> <td class="afg-help">Fill in the exact width for the photos (min 50, max 500). Height of the photos will be adjusted accordingly to maintain aspect ratio of the photo. Enable <b>Square</b> to crop the photo to a square aspect ratio.<br />Warning: Custom photo sizes may not work with your webhost, please use built-in sizes, it's more reliable and faster too.</td> </tr> <tr> <td>Photo Titles</td> <td><select name='afg_captions'> <?php echo afg_generate_options($afg_on_off_map, get_option('afg_captions', 'on')); ?> </select></td> <td class="afg-help">Photo Title setting applies only to Thumbnail (and above) size photos.</td> </tr> <tr> <td>Photo Descriptions</td> <td><select name='afg_descr'> <?php echo afg_generate_options($afg_descr_map, get_option('afg_descr', 'off')); ?> </select></td> <td class="afg-help">Photo Description setting applies only to Small and Medium size photos.</td> </tr> <tr> <td>Number of Columns</td> <td><select name='afg_columns'> <?php echo afg_generate_options($afg_columns_map, get_option('afg_columns', '2')); ?> </select></td> </tr> <tr> <td>Slideshow Behavior</td> <td><select name='afg_slideshow_option'> <?php echo afg_generate_options($afg_slideshow_map, get_option('afg_slideshow_option', 'swipebox')); ?> </select></td> </tr> <tr> <td>Background Color</td> <td><select name='afg_bg_color'> <?php echo afg_generate_options($afg_bg_color_map, get_option('afg_bg_color', 'Transparent')); ?> </select></td> </tr> <tr> <td>Gallery Width</td> <td><select name='afg_width'> <?php echo afg_generate_options($afg_width_map, get_option('afg_width', 'auto')); ?> </select></td> <td class="afg-help">Width of the Gallery is relative to the width of the page where Gallery is being generated. <i>Automatic</i> is 100% of page width.</td> </tr> <tr> <td>Disable Pagination?</td> <td><input type='checkbox' name='afg_pagination' value='off' <?php if (get_option('afg_pagination', 'off') == 'off') { echo 'checked=\'\''; } ?> /></td> <td class="afg-help">Useful when displaying gallery in a sidebar widget where you want only few recent photos.</td> </tr> <tr> <td>Add a Small Credit Note?</td> <td><input type='checkbox' name='afg_credit_note' value='Yes' <?php if (get_option('afg_credit_note', 'on') == 'on') { echo "checked=''"; } ?> /></td> <td class="afg-help">Credit Note will appear at the bottom of the gallery as - Powered by <a href="http://www.ronakg.com/projects/awesome-flickr-gallery-wordpress-plugin" title="Awesome Flickr Gallery by Ronak Gandhi"/> AFG</a></td> </tr> </table> <br /> <input type="submit" name="submit" id="afg_save_changes" class="button-primary" value="Save Changes" /> <br /><br /> <h3>Your Photostream Preview</h3> <table class='widefat afg-settings-box'> <tr><th>If your Flickr Settings are correct, 5 of your recent photos from your Flickr photostream should appear here.</th></tr> <td><div style="margin-top:15px"> <?php global $pf; if (get_option('afg_flickr_token')) { $rsp_obj = $pf->people_getPhotos(get_option('afg_user_id'), array('per_page' => 5, 'page' => 1)); } else { $rsp_obj = $pf->people_getPublicPhotos(get_option('afg_user_id'), NULL, NULL, 5, 1); } if (!$rsp_obj) { echo afg_error(); } else { foreach ($rsp_obj['photos']['photo'] as $photo) { $photo_url = "http://farm{$photo['farm']}.static.flickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}_s.jpg"; echo "<img src=\"{$photo_url}\"/> "; } } ?> </div> <br /> <span style="margin-top:15px"> Note: This preview is based on the Flickr Settings only. Gallery Settings have no effect on this preview. You will need to insert gallery code to a post or page to actually see the Gallery.</span> </td> </table> <br /> <input type="submit" name="submit" class="button-secondary" value="Delete Cached Galleries"/> </div> <?php if (DEBUG) { print_all_options(); } ?> <div id="afg-side-box"> <?php $message = "<b>What are Default Settings?</b> - Default Settings serve as a\n template for the galleries. When you create a new gallery, you can assign\n <i>Use Default</i> to a setting. Such a setting will reference the <b>Default\n Settings</b> instead of a specific setting defined for that particular\n gallery. <br /> <br />\n When you change any of <b>Default Settings</b>, all the settings in a gallery\n referencing the <b>Default Settings</b> will inherit the new value.<br /><br />\n <font color='red'><b>Important Note about Private Photos:</b></font><br/>To access\n your private photos from Flickr, make sure that your App's authentication\n type is set to <b>Web Application</b> and the <b>Callback URL</b>\n points to <font color='blue'><i>" . get_admin_url() . "</i></font>\n "; echo afg_box('Help', $message); $message = "Just insert the code <strong><font color='steelblue'>[AFG_gallery]</font></strong> in any of your posts or pages to display the Awesome Flickr Gallery.\n <br /><p style='text-align:center'><i>-- OR --</i></p>You can create a new Awesome Flickr Gallery with different settings on page <a href='{$_SERVER['PHP_SELF']}?page=afg_add_gallery_page'>Add Galleries."; echo afg_box('Usage Instructions', $message); echo afg_donate_box(); echo afg_share_box(); ?> </div> </div> </form> <?php }
function afg_twins_html_page() { global $afg_photo_size_map, $afg_on_off_map, $afg_descr_map, $afg_columns_map, $afg_bg_color_map, $afg_width_map, $pf, $afg_sort_order_map, $afg_slideshow_map, $wpdb; ?> <div class='wrap'> <h2><img src="<?php echo BASE_URL . '/images/logo_big.png'; ?> " align='center'/>Flickr Gallery Settings</h2> <?php $url_parts = parse_url($_SERVER['REQUEST_URI']); $url = (isset($url_parts['path']) ? $url_parts['path'] : '') . (isset($url_parts['query']) ? '?' . $url_parts['query'] : ''); ?> <form method='post' action='<?php echo $url; ?> '> <?php echo afg_generate_version_line(); ?> <div class="postbox-container" style="width:69%; margin-right:1%"> <div id="poststuff"> <div class="postbox" style='box-shadow:0 0 2px'> <?php //echo $_POST['nonce'] ."<br />\n"; //echo wp_create_nonce( 'ajax-afg-editimg-nonce-'. $_POST['twin']) ."<br />\n"; if ($_POST && !wp_verify_nonce(trim($_POST['editnonce']), 'ajax-afg-editimg-nonce-' . $_POST['twin'])) { die('Security check'); } if ($_POST && wp_verify_nonce(trim($_POST['editnonce']), 'ajax-afg-editimg-nonce-' . $_POST['twin'])) { $wpdb->show_errors(); $ret = $wpdb->update($wpdb->prefix . "flickrtwins", array('sport' => isset($_POST['sport']) ? $_POST['sport'] : '', 'age' => isset($_POST['age']) ? $_POST['age'] : '', 'gender' => isset($_POST['gender']) ? $_POST['gender'] : '', 'imagetitle' => isset($_POST['imagetitle']) ? $_POST['imagetitle'] : '', 'imagestory' => isset($_POST['imagestory']) ? $_POST['imagestory'] : '', 'published' => isset($_POST['published']) ? 1 : 0, 'photoid' => $_POST['twin']), array('photoid' => $_POST['twin']), array('%s', '%s', '%s', '%s', '%s', '%d'), array('%s')); if ($ret !== 1) { $ret = $wpdb->insert($wpdb->prefix . "flickrtwins", array('sport' => isset($_POST['sport']) ? $_POST['sport'] : '', 'age' => isset($_POST['age']) ? $_POST['age'] : '', 'gender' => isset($_POST['gender']) ? $_POST['gender'] : '', 'imagetitle' => isset($_POST['imagetitle']) ? $_POST['imagetitle'] : '', 'imagestory' => isset($_POST['imagestory']) ? $_POST['imagestory'] : '', 'published' => isset($_POST['published']) ? 1 : 0, 'photoid' => $_POST['twin'], 'photosecret' => $_POST['photosecret'], 'farm' => $_POST['farm'], 'server' => $_POST['server'], 'submittedtime' => time()), array('%s', '%s', '%s', '%s', '%s', '%d', '%s', '%s', '%s', '%s', '%d')); if ($ret === False) { echo '<h4>Insert failed</h4>'; } else { echo '<h4>Inserted</h4>'; } } else { echo '<h4>Updated</h4>'; } //exit( var_dump( $wpdb->last_query ) ); } if (!$_POST && $_GET && wp_verify_nonce($_REQUEST['nonce'], 'ajax-afg-twinimg-nonce-' . $_GET['twin'])) { ?> <h3>Twin image</h3> <?php $photoinfo = $pf->photos_getInfo($_REQUEST['twin']); $photo_url = "http://farm{$photoinfo['photo']['farm']}.static.flickr.com/{$photoinfo['photo']['server']}/{$photoinfo['photo']['id']}_{$photoinfo['photo']['secret']}_s.jpg"; echo '<img src="' . $photo_url . '"/>'; $twin = $wpdb->get_row("SELECT * FROM " . $wpdb->prefix . "flickrtwins WHERE photoid ='" . $photoinfo['photo']['id'] . "';"); //var_dump( $wpdb->last_query ); //print_R($twin); ?> <div class="form-item "> <label for="sport"> Sport <em class="error the-red" id="sport_error"></em> </label> <select name="sport" id="sport" class="form-input " /> <option value=""></option> <?php $results = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "flickrsports WHERE published = 1"); foreach ($results as $row) { ?> <option value="<?php echo $row->id; ?> " <?php echo $row->id == $twin->sport ? 'selected="selected"' : ''; ?> ><?php echo $row->sport; ?> </option> <?php } ?> </select> </div> <div class="form-item "> <label for="age"> Age <em class="error the-red" id="age_error"></em> </label> <select name="age" id="age" class="form-input " > <option value="1" <?php echo intval($twin->age) == 1 ? 'selected="selected"' : ''; ?> >0-3</option> <option value="2" <?php echo intval($twin->age) == 2 ? 'selected="selected"' : ''; ?> >4-7</option> <option value="3" <?php echo intval($twin->age) == 3 ? 'selected="selected"' : ''; ?> >8-12</option> <option value="4" <?php echo intval($twin->age) == 4 ? 'selected="selected"' : ''; ?> >13-15</option> <option value="5" <?php echo intval($twin->age) == 5 ? 'selected="selected"' : ''; ?> >16+</option> </select> </div> <div class="form-item "> <label for="gender"> Gender <em class="error the-red" id="gender_error"></em> </label> <select name="gender" id="gender" class="form-input " > <option value=""></option> <option value="m" <?php echo 'm' == $twin->gender ? 'selected="selected"' : ''; ?> >Male</option> <option value="f" <?php echo 'f' == $twin->gender ? 'selected="selected"' : ''; ?> >Female</option> <option value="n" <?php echo 'n' == $twin->gender ? 'selected="selected"' : ''; ?> >Not specified</option> </select> </div> <div class="form-item"> <label for="imagetitle"> The Title of your image <em class="error the-red" id="build_error"></em> </label> <input type="text" name="imagetitle" id="imagetitle" class="form-input" value="<?php echo stripslashes($twin->imagetitle); ?> " /> </div> <div class="form-item"> <label for="imagestory"> The story of your image <em class="error the-red" id="imagestory_error"></em> </label> <textarea name="imagestory" id="imagestory" class="form-input"><?php echo stripslashes($twin->imagestory); ?> </textarea> </div> <?php wp_nonce_field('ajax-afg-editimg-nonce-' . $photoinfo['photo']['id'], 'editnonce'); ?> <input type="hidden" name="twin" value="<?php echo $photoinfo['photo']['id']; ?> " /> <input type="hidden" name="photosecret" value="<?php echo $photoinfo['photo']['secret']; ?> " /> <input type="hidden" name="farm" value="<?php echo $photoinfo['photo']['farm']; ?> " /> <input type="hidden" name="server" value="<?php echo $photoinfo['photo']['server']; ?> " /> <div class="form-item "> <label for="published"> Published <em class="error the-red" id="published_error"></em> <input type="checkbox" name="published" id="published" class="form-input" value="1" <?php echo '1' == $twin->published ? 'checked="checked"' : ''; ?> /> </label> </div> <div class="form-item "> <button type="submit" value="save"> Save </button> </div> <?php } else { ?> <h3>Twin images</h3> <?php global $pf; $extras = 'url_l, description, date_upload, date_taken, owner_name'; if (trim(get_option('afg_twins_photoset')) != '') { $rsp_obj = $pf->photosets_getPhotos(get_option('afg_twins_photoset'), $extras, NULL, 500); if (!$rsp_obj) { echo afg_error(); } else { foreach ($rsp_obj['photoset']['photo'] as $photo) { $photo_url = "http://farm{$photo['farm']}.static.flickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}_s.jpg"; $linkurl = $url . '&twin=' . $photo['id'] . '&nonce=' . wp_create_nonce('ajax-afg-twinimg-nonce-' . $photo['id']); echo '<a href="' . $linkurl . '"><img src="' . $photo_url . '"/></a>'; } } } } ?> </div> </div> </div> </form> <?php }