Exemplo n.º 1
0
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();
    }
}
Exemplo n.º 2
0
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>&#171; 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'>&nbsp;&#171; prev </a>&nbsp;&nbsp;&nbsp;&nbsp;";
            $disp_gallery .= "<a href='{$cur_page_url}{$url_separator}afg{$id}_page_id=1#afg-{$id}' title='Page 1'> 1 </a>&nbsp;";
        }
        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}'>&nbsp;{$count} </a>&nbsp;";
            }
        }
        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}'>&nbsp;{$total_pages} </a>";
        }
        if ($cur_page == $total_pages) {
            $disp_gallery .= "<span>next &#187;</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 &#187; </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;
}
Exemplo n.º 3
0
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)
                             &nbsp;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}\"/>&nbsp;&nbsp;&nbsp;";
        }
    }
    ?>
</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 
}
Exemplo n.º 4
0
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 
}