Webcam Porn Archive

Webcam Porn Archive




👉🏻👉🏻👉🏻 ALL INFORMATION CLICK HERE 👈🏻👈🏻👈🏻




















































In evidenza
da: Meteo Ariccia
vista verso sud (Ariccia)
Aggiornata 3 minuti fa
4447 visite
da: Stazione meteo Olevano
vista sul paese (Olevano romano)
Aggiornata 2 minuti fa
66 visite
da: Hotel Missouri
Webcam dell' Hotel Missouri (Bellaria igea marina)
Aggiornata un minuto fa
1365 visite
da: Portale di meteofavaro
vista verso nord su Favaro Veneto (Favaro veneto)
Aggiornata 6 minuti fa
474 visite
da: Villagrappa Meteo
Villagrappa sud puntamento verso monte Poggiolo (Villagrappa)
Aggiornata 10 minuti fa
114 visite
da: Stazione Meteo Pedara
lato sud dell'Etna (Pedara)
Aggiornata 5 minuti fa
837 visite
ARONAnelWEB.it , 01/02/2015 00:47:56
ARONAnelWEB.it , 01/01/2015 01:13:35
скины кс го WebCam Archive - tutte le webcam sono dei rispettivi proprietari

This repository has been archived by the owner. It is now read-only.
Latest commit 72d818a on 6 Dec 2011 History
* Plugin URI: https://www.github.com/davemasse/webcam-archive/
* Description: A WordPress plugin for managing and displaying an archive of webcam photos.
* Author URI: http://www.rudemoose.com/
* http://www.gnu.org/licenses/gpl-2.0.txt
if ($_SERVER['SCRIPT_FILENAME'] == __FILE__)
// Manage webcam-related XML-RPC requests
$wp_xmlrpc_server = new wp_xmlrpc_server;
// Values allowed in XML-RPC request
$timestamp_mysql = current_time('mysql', true);
$timestamp = strtotime($timestamp_mysql);
if (!$wp_xmlrpc_server->login($username, $password))
$upload_path = $upload_path['basedir'];
// Generate filename for temp image
$filename = get_class() . time() . '.jpg';
$file = fopen($upload_path . '/' . $filename, 'wb');
fwrite($file, base64_decode($image));
" . $wpdb->prefix . "webcam_archive
foreach ($meta as $key => $value) {
// Only handle data for pre-defined keys
if ($wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM " . $wpdb->prefix . "webcam_archive_meta WHERE slug = '%s'", $key)) == 1) {
" . $wpdb->prefix . "webcam_archive_meta_entry
SELECT %d, id, '%s' FROM " . $wpdb->prefix . "webcam_archive_meta WHERE slug = '%s'
" . $wpdb->prefix . "webcam_archive_size
// Create directory structure with intermediate directories, if necessary
$output_dir = $upload_path . '/' . self::upload_dir . '/' . date('Y/m/d/', $timestamp) . $timestamp . '/';
// Create image object from uploaded image
$image_obj = imagecreatefromjpeg($upload_path . '/' . $filename);
// Get image dimensions of uploaded image
list($image_width, $image_height) = getimagesize($upload_path . '/' . $filename);
// Iterate through sizes, creating resized images
if ($size->width > $image_width || $size->height > $image_height)
if ($size->width == 0 && $size->height > 0)
$resized_width = ceil(($size->height / $image_height) * image_width);
if ($size->height == 0 && $size->width > 0)
$resized_height = ceil(($size->width / $image_width) * $image_height);
// Generate placeholder for new image
$resized_obj = imagecreatetruecolor($resized_width, $resized_height);
// Copy uploaded image to resized image object
imagecopyresized($resized_obj, $image_obj, 0, 0, 0, 0, $resized_width, $resized_height, $image_width, $image_height);
imagejpeg($resized_obj, $output_dir . $size->id . '.jpg');
" . $wpdb->prefix . "webcam_archive_size_entry
unlink($upload_path . '/' . $filename);
function xmlrpc_methods($methods) {
$methods['webcamarchive.upload'] = array('WebcamArchive', 'xmlrpc_callback');
// Add a custom callback for XML-RPC requests
add_filter('xmlrpc_methods', array('WebcamArchive', 'xmlrpc_methods'));
// Boolean to allow other sites to reference the latest image for embedding or not
const allow_embed = 'webcam_archive_allow_embed';
// Permission required in order to access admin pages
const capability = 'manage_options';
// Key for storing database schema version
const db_version_key = 'webcam_archive_version';
// Current version (bumped on updates)
// User for bordering rewrites for embeds in the root .htaccess file
const embed_marker_key = 'WebcamArchiveEmbed';
// URL querystring variable that the requested image name will be put into
const filename_key = 'webcam_archive_filename';
// Used for bordering rewrites in the root .htaccess file
const marker_key = 'WebcamArchive';
// Config name to store requirement for user login to view content
const require_login = 'webcam_archive_require_login';
// Shortcode used in pages and posts to display webcam front end
const shortcode_tag = 'webcam_archive';
// Directory name inside of WordPress uploads directory where images are stored
// Config name to store whether plugin's own CSS should be used
const use_css = 'webcam_archive_use_css';
$plugin_path = '/' . str_replace(ABSPATH, '', dirname(__FILE__));
wp_register_style('webcam_archive_admin.css', $plugin_path . '/css/webcam_archive_admin.css');
wp_enqueue_style('webcam_archive_admin.css');
// Get current plugin schema version
$installed_version = get_option(self::db_version_key);
// Set default version if this is the first instantiation
* Always pass through table structure adjustments if the installed
* database version is lower than the current plugin version.
if ($installed_version < self::db_version) {
// Include supporting code since a database update is needed
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
$sql = "CREATE TABLE " . $wpdb->prefix . "webcam_archive (
* These cannot be redefined since older photos may have already been
* created with these dimensions. Instead, a 'deleted' flag will be
* set and used to determine which sizes are available for new photos.
$sql = "CREATE TABLE " . $wpdb->prefix . "webcam_archive_size (
id INT(11) NOT NULL AUTO_INCREMENT,
$sql = "CREATE TABLE " . $wpdb->prefix . "webcam_archive_meta (
id INT(11) NOT NULL AUTO_INCREMENT,
$sql = "CREATE TABLE " . $wpdb->prefix . "webcam_archive_size_entry (
$sql = "CREATE TABLE " . $wpdb->prefix . "webcam_archive_meta_entry (
if ($wpdb->get_var("SELECT COUNT(*) FROM " . $wpdb->prefix . "webcam_archive_size") == 0) {
" . $wpdb->prefix . "webcam_archive_size
// Add default value for whether the plugin should allow latest image embeds
add_option(self::allow_embed, false);
// Add default value for whether the plugin should require a login
add_option(self::require_login, false);
// Add default value for whether the plugin should use its own CSS
update_option(self::db_version_key, self::db_version);
// Link the admin pages from the menu
add_menu_page(__('Webcam Archive'), __('Webcam Archive'), self::capability, __FILE__);
$hook = add_submenu_page(__FILE__, __('Settings'), __('Settings'), self::capability, __FILE__, array('WebcamArchiveAdmin', 'display_admin'));
add_contextual_help($hook, self::generate_help());
// Display the WordPress admin pages
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach ($params as $key => $val) {
if (preg_match('/^(0|[1-9][0-9]+)$/', $val['width']) == 0 || preg_match('/^(0|[1-9][0-9]+)$/', $val['height']) == 0) {
if ($wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM " . $wpdb->prefix . "webcam_archive_size WHERE width = %d AND height = %d", $val['width'], $val['height'])) == 0) {
" . $wpdb->prefix . "webcam_archive_size
", $val['width'], $val['height']));
" . $wpdb->prefix . "webcam_archive_size
", (isset($val['delete']) ? 1 : 0), $key));
" . $wpdb->prefix . "webcam_archive_meta
SELECT '%s', '%s', IFNULL(MAX(sort), 0) + 1 FROM " . $wpdb->prefix . "webcam_archive_meta WHERE deleted = 0
", substr($val['name'], 0, 200), self::generate_slug(substr($val['name'], 0, 200)), $val['sort']));
" . $wpdb->prefix . "webcam_archive_meta
", $val['name'], $val['sort'], (isset($val['delete']) ? 1 : 0), $key));
// Add 'login required' rewrite rules
if (isset($_POST['require_login'])) {
update_option(self::require_login, true);
$upload_dir = $upload_dir['basedir'];
$upload_dir = str_replace(ABSPATH, '', $upload_dir);
'RewriteCond %{REQUEST_URI} ^/?' . $upload_dir . '/' . self::upload_dir . '/',
'RewriteRule (.*) index.php?' . self::filename_key . '=$1 [L]',
insert_with_markers(ABSPATH . '.htaccess', self::marker_key, $rewrite_array);
} elseif (count(extract_from_markers(ABSPATH . '.htaccess', self::marker_key)) > 0) {
update_option(self::require_login, false);
insert_with_markers(ABSPATH . '.htaccess', self::marker_key, array());
if (isset($_POST['allow_embed'])) {
update_option(self::allow_embed, true);
$script_dir = str_replace(ABSPATH, '', $script_dir);
'RewriteCond %{REQUEST_URI} ^/?webcam-archive.jpg$',
'RewriteRule .* ' . $script_dir . '/embed.php [L]',
insert_with_markers(ABSPATH . '.htaccess', self::embed_marker_key, $rewrite_array);
update_option(self::allow_embed, false);
insert_with_markers(ABSPATH . '.htaccess', self::embed_marker_key, array());
update_option(self::use_css, true);
update_option(self::use_css, false);
" . $wpdb->prefix . "webcam_archive_size
IF (width = 0, 1000000, width) ASC,
IF (height = 0, 1000000, height) ASC
" . $wpdb->prefix . "webcam_archive_meta
$require_login = get_option(self::require_login, false);
$allow_embed = get_option(self::allow_embed, false);
$use_css = get_option(self::use_css, false);
// Only output plugin CSS and JS if the shortcode is present
preg_match( '/'. get_shortcode_regex() .'/s', $post->post_content, $matches);
if (!(is_array($matches) && array_key_exists(2, $matches) && $matches[2] == self::shortcode_tag)) {
$upload_dir = $upload_dir['baseurl'];
$plugin_path = '/' . str_replace(ABSPATH, '', dirname(__FILE__));
wp_register_script('jquery.ui.datepicker.closure.js', $plugin_path . '/js/jquery.ui.datepicker.closure.js', array('jquery', 'jquery-ui-core'));
wp_register_script('tooltip.dynamic.closure.js', $plugin_path . '/js/tooltip.dynamic.closure.js', array('jquery'));
wp_register_script('jquery.lightbox.min.js', $plugin_path . '/js/jquery-lightbox/js/jquery.lightbox-0.5.min.js', array('jquery'));
wp_register_script('webcam_archive.js', $plugin_path . '/js/webcam_archive.js', array('jquery', 'jquery-ui-core', 'tooltip.dynamic.closure.js'));
wp_enqueue_script('jquery.ui.datepicker.closure.js');
wp_enqueue_script('tooltip.dynamic.closure.js');
wp_enqueue_script('jquery.lightbox.min.js');
wp_enqueue_script('webcam_archive.js');
wp_register_style('jquery-ui.custom.css', $plugin_path . '/css/jquery-ui-1.8.10.custom.css');
wp_register_style('jquery.lightbox.css', $plugin_path . '/js/jquery-lightbox/css/jquery.lightbox-0.5.css');
wp_enqueue_style('jquery-ui.custom.css');
wp_enqueue_style('jquery.lightbox.css');
if (get_option(self::use_css) == true) {
wp_register_style('webcam_archive.css', $plugin_path . '/css/webcam_archive.css');
wp_enqueue_style('webcam_archive.css');
// Display plugin output on the front end
function handle_shortcode($attrs = array()) {
// Return nothing if login is required and user isn't logged in
if (get_option(self::require_login) && !is_user_logged_in())
$blog_offset = get_option('gmt_offset') * 3600;
$upload_path = $upload_path['baseurl'];
$entry_date = $wpdb->get_var($wpdb->prepare("
DATE_FORMAT(entry_date, '%%Y%%m%%d')
" . $wpdb->prefix . "webcam_archive
STR_TO_DATE(entry_date, '%%Y-%%c-%%e') = STR_TO_DATE('%s', '%%Y-%%c-%%e')
" . $wpdb->prefix . "webcam_archive
// Get all images for the given date
$sizes = $wpdb->get_results($wpdb->prepare("
" . $wpdb->prefix . "webcam_archive wa
INNER JOIN " . $wpdb->prefix . "webcam_archive_size_entry wase ON wa.id = wase.entry_id
INNER JOIN " . $wpdb->prefix . "webcam_archive_size was ON wase.size_id = was.id
DATE_FORMAT(entry_date, '%%Y%%m%%d') = '%s'
AND was.id IN (SELECT id FROM " . $wpdb->prefix . "webcam_archive_size WHERE permanent = 1 ORDER BY IF (width = 0, 1000000, width) ASC)
IF (was.width = 0, 1000000, was.width) ASC,
IF (was.height = 0, 1000000, was.height) ASC
// Get all meta data for the given date
$metas = $wpdb->get_results($wpdb->prepare("
" . $wpdb->prefix . "webcam_archive wa
INNER JOIN " . $wpdb->prefix . "webcam_archive_meta_entry wame ON wa.id = wame.entry_id
INNER JOIN " . $wpdb->prefix . "webcam_archive_meta wam ON wame.meta_id = wam.id
DATE_FORMAT(entry_date, '%%Y%%m%%d') = '%s'
// Build PHP array of image sizes for easier front end display
$size->entry_date = strtotime($size->entry_date);
if (!array_key_exists($size->entry_date, $entry_array)) {
$entry_array[$size->entry_date] = array();
if (!array_key_exists('sizes', $entry_array[$size->entry_date])) {
$entry_array[$size->entry_date]['sizes'] = array();
$entry_array[$size->entry_date]['sizes'][] = $size_array;
// Build PHP array of meta data for easier front end display
$meta->entry_date = strtotime($meta->entry_date);
if (!array_key_exists($meta->entry_date, $entry_array)) {
$entry_array[$meta->entry_date] = array();
if (!array_key_exists('metas', $entry_array[$meta->entry_date])) {
$entry_array[$meta->entry_date]['metas'] = array();
$entry_array[$meta->entry_date]['metas'][] = $meta_array;
$prev_date = $wpdb->get_var($wpdb->prepare("
" . $wpdb->prefix . "webcam_archive
STR_TO_DATE(entry_date, '%%Y-%%c-%%e') < STR_TO_DATE('%s', '%%Y%%m%%d')
$prev_date = strtotime($prev_date);
$next_date = $wpdb->get_var($wpdb->prepare("
" . $wpdb->prefix . "webcam_archive
STR_TO_DATE(entry_date, '%%Y-%%c-%%e') > STR_TO_DATE('%s', '%%Y%%m%%d')
$next_date = strtotime($next_date);
// Ugly hack to get current URL without date
$dateless_url = $_SERVER['REQUEST_URI'];
$dateless_url = explode('?', $dateless_url);
$dateless_url .= '?' . implode('&', $temp_array);
$first_image = array_keys($entry_array);
$first_image_date = $first_image[count($first_image) - 1];
$first_image_date = date('U', $first_image_date);
$first_image = $entry_array[$first_image_date]['sizes'][1];
// Allow access to files if login required and user is logged in
if (get_option(self::require_login) && is_user_logged_in()) {
if (isset($_GET[self::filename_key])) {
$image = $_GET[self::filename_key];
if (file_exists(ABSPATH . $image)) {
header('Content-Disposition: inline; filename=' . basename($image) . ';');
header('Content-Type: image/jpeg');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize(ABSPATH . $image));
// Override any preset status codes
// Generate a slug name for meta values
function generate_slug($name, $id=0) {
$slug = str_replace(' ', '-', $slug);
$slug = preg_replace('/[^a-z0-9\-]/', '', $slug);
$slug_count = $wpdb->get_var($wpdb->prepare("
" . $wpdb->prefix . "webcam_archive_meta
" . ($id > 0 ? "AND id != %s" : "#%s") . "
", $slug . (isset($counter) ? '-' . $counter : ''), $id));
$upload_dir = $upload_dir['basedir'];
$upload_dir = str_replace(ABSPATH, '', $upload_dir);
$script_dir = str_replace(ABSPATH, '', $script_dir);
Add the following to your nginx site configuration to enable the following features:


if ($request_uri ~ "^/?' . $upload_dir . '/' . self::upload_dir . '/") {
  rewrite (.*) /index.php?' . self::filename_key . '=$1 last;
if ($request_uri ~ "^/?webcam-archive.jpg\?id=\d+$") {
  rewrite .* /' . $script_dir . '/embed.php last;
// Run install on every load in case the database needs to be updated (quick version check)
add_action('admin_init', array('WebcamArchiveAdmin', 'install'));
add_action('admin_menu', array('WebcamArchiveAdmin', 'admin_menu'));
// Handle image redirect, if necessary
add_action('template_redirect', array('WebcamArchiveAdmin', 'template_redirect'));
add_action('wp', array('WebcamArchiveAdmin', 'wp'));
// Shortcode to put menu in pages and posts
add_shortcode(WebcamArchiveAdmin::shortcode_tag, array('WebcamArchiveAdmin', 'handle_shortcode'));

Porn Japan Java
Teen Pussy Killer Porn
Episode 2 Porn
Porn Online Gang
Doghousedigital Online Porn
Archive Index | CamClips.to
Webcam Archive
webcam-archive/index.php at master · davemasse/webcam ...
AVHEE | Free Online Streaming Porn Web
Webcam captures new(29) — Видео | ВКонтакте
Webcams Archive - WhatsUpCams - LIVE streaming
Czech Massage 1080p — Видео | ВКонтакте
Платное порно смотреть онлайн - Порно.ру.нет
Webcams Archive - Page 3 of 60 - WhatsUpCams - LIVE streaming
shit i found on a mega file : Free Download ... - Archive
Webcam Porn Archive


Report Page