pwg_options = 'PiwigoPress_Admin';
add_option($this->pwg_options, serialize(array()));
$this->gallery = unserialize(get_option($this->pwg_options));
$this->previous = $this->gallery; // Previous is not currently used
$this->get_request();
$this->update();
update_option($this->pwg_options, serialize($this->gallery));
$piwigo = empty($this->gallery['piwigo']) ? '' : $this->gallery['piwigo'];
$piwigo_url = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $piwigo ;
if (!empty($this->gallery['external'])) $piwigo_url = $this->gallery['external'];
if (substr($piwigo_url,-1)!='/') $piwigo_url .= '/';
$this->piwigo_url = $piwigo_url;
}
#add Piwigo button on editor-toolbar
function add_button($context=''){
global $post_ID, $temp_ID;
$_ID = (int) (0 == $post_ID ? $temp_ID : $post_ID);
$this->post_id = $_ID;
$iframe_src = 'media-upload.php?post_id='.$_ID.'&type=piwigo&TB_iframe=true';
$title = __('Add Some Pictures From Piwigo');
$out = '';
$context.=$out;
return $context;
}
function add_tab($tabs) {
global $wpdb; /* Need for recent thumbnail access */
if($_REQUEST['type'] != 'piwigo') return $tabs;
$response = pwg_get_contents( $this->piwigo_url
. 'ws.php?method=pwg.categories.getList&format=php');
$this->gallery['categories'] = unserialize($response);
$this->gallery['images']['stat'] = $this->gallery['categories']['stat'];
if ($this->gallery['categories']['stat'] == 'ok') {
$options = '';
$number = empty($this->gallery['number']) ? 10 : intval($this->gallery['number']);
$options .= '&per_page=' . $number;
if (!empty($this->gallery['category'])) $options .= '&cat_id=' . intval($this->gallery['category']);
$from = empty($this->gallery['from']) ? '12' : intval($this->gallery['from']);
$r = (array) $wpdb->get_results('SELECT date_sub( date( now( ) ) , INTERVAL ' . $from . ' MONTH ) as begin');
$from = $r[0]->begin;
if (!empty($this->gallery['from'])) $options .= '&f_min_date_created=' . $from;
$response = pwg_get_contents( $this->piwigo_url
. 'ws.php?method=pwg.categories.getImages&format=php'
. $options . '&recursive=true&order=random&f_with_thumbnail=true');
$this->gallery['images'] = unserialize($response);
}
$tab = (isset($_GET['tab'])) ? strip_tags(stripslashes($_GET['tab'])):'type'; // Default results
if ( $this->gallery['categories']['stat'] != 'ok') $tab = 'select'; // No WS available
if ( $this->gallery['images']['stat'] != 'ok') $tab = 'select'; // No WS available
if ( $tab != 'select' and $this->gallery['images']['result']['images']['count'] == 0 ) $tab = 'criteria'; // No pictures available
if ( $tab != 'select' and count($this->gallery['categories']['result']['categories']) == 0 ) $tab = 'select'; // No categories available
$this->gallery['tab'] = $tab;
if ( $this->gallery['images']['stat'] == 'ok' and $this->gallery['images']['result']['images']['count'] > 0 ) return array(
'result' => __('Select pictures'),
'criteria' => __('Your criteria'),
'select' => __('Select the Piwigo gallery'),
);
if ( $this->gallery['categories']['stat'] == 'ok' and count($this->gallery['categories']['result']['categories']) > 0 ) return array(
'criteria' => __('Your criteria'),
'select' => __('Select the Piwigo gallery'),
);
else return array(
'select' => __('Select the Piwigo gallery'),
);
}
function get_request() {
$this->request = $this->gallery;
foreach($_REQUEST as $key=>$value) {
if(substr($key, 0, 12) == "PiwigoPress_")
$this->request[substr($key, 12)] = trim($value);
}
}
function update(){
$this->gallery['piwigo'] = strip_tags(stripslashes($this->request['piwigo']));
$this->gallery['external'] = strip_tags(stripslashes($this->request['external']));
}
function head() {
?>
/wp-content/plugins/piwigopress/css/style.css" type="text/css" rel="stylesheet"/>
';
switch ($this->gallery['tab']) {
case 'type':
$html .= $this->add_Piwigo_Select();
break;
case 'criteria':
$html .= $this->add_Piwigo_Select();
break;
case 'select':
$html .= $this->add_Piwigo_Select();
break;
}
$html .= '';
echo $html;
}
function add_Piwigo_Select() {
$piwigo = (empty($this->gallery['piwigo'])) ? 'piwigo' : $this->gallery['piwigo'];
$external = (empty($this->gallery['external'])) ? '' : $this->gallery['external'];
$iframe_src = 'media-upload.php?post_id='.$_ID.'&type=piwigo&TB_iframe=true';
$message = (isset($this->request['sub-url'])) ? __('Configuration saved'):'';
return '