prefix.ADGALLERY_TABLE."` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`enable` CHAR(1) NOT NULL DEFAULT 'Y',
`settings` TEXT NOT NULL,
PRIMARY KEY(`id`))";
$wpdb->query($query);
$query="CREATE TABLE IF NOT EXISTS `".$wpdb->prefix.ADGALLERY_SLIDES."` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`showid` INT(11) NOT NULL,
`title` VARCHAR(255) NOT NULL DEFAULT '',
`img` VARCHAR(64) NOT NULL DEFAULT '',
`content` TEXT NOT NULL DEFAULT '',
`enable` CHAR(1) NOT NULL DEFAULT 'Y',
`position` INT(11) NOT NULL DEFAULT '0',
`settings` TEXT NOT NULL DEFAULT '',
PRIMARY KEY(`id`))";
$wpdb->query($query);
}
register_activation_hook(__FILE__, 'adgalleryslider_install');
function adgalleryslider_options() {
global $wpdb;
if($_SERVER["REQUEST_METHOD"]=="POST") {
if(isset($_POST["action"]) && $_POST["action"]!="") {
$action=trim($_POST["action"]);
} else {
$action="showlist";
}
switch($action) {
case "addshow":
adgalleryslider_showlist(adgalleryslider_addshow());
break;
case "showlist":
default:
adgalleryslider_showlist();
break;
case "edit":
if(isset($_POST["id"])) {
$id=intval($_POST["id"]);
} else {
$id=0;
}
if(isset($_POST["slideid"])) {
$slideid=intval($_POST["slideid"]);
} else {
$slideid=0;
}
adgalleryslider_editslide($id, $slideid);
break;
}
} else {
if(isset($_GET["action"]) && $_GET["action"]!="") {
$action=trim($_GET["action"]);
} else {
$action="showlist";
}
if(isset($_GET["id"])) {
$id=intval($_GET["id"]);
} else {
$id=0;
}
if(isset($_GET["slideid"])) {
$slideid=intval($_GET["slideid"]);
} else {
$slideid=0;
}
switch($action) {
case "deleteshow":
adgalleryslider_showlist(adgalleryslider_deleteshow($id)*2);
break;
case "slides":
adgalleryslider_slidelist($id);
break;
case "edit":
adgalleryslider_editslide($id, $slideid);
break;
case "deleteslide":
adgalleryslider_slidelist($id, adgalleryslider_deleteslide($slideid));
break;
case "showlist":
default:
if(isset($_GET["mes"])) {
$mes=intval($_GET["mes"]);
} else {
$mes=0;
}
adgalleryslider_showlist($mes);
break;
}
}
}
//show list of items
function adgalleryslider_showlist($mes=0) {
global $wpdb;
$query="SELECT COUNT(*) AS `cnt` FROM `".$wpdb->prefix.ADGALLERY_TABLE."`";
$total=$wpdb->get_var($query);
$per_page=30;
if(isset($_GET['apage'])) {
$page=intval($_GET['apage']);
} else {
$page=1;
}
$start=$offset=($page-1)*$per_page;
$page_links=paginate_links(array(
'base'=>add_query_arg( 'apage', '%#%' ),
'format'=>'',
'total'=>ceil($total/$per_page),
'current'=>$page
));
$query="SELECT * FROM `".$wpdb->prefix.ADGALLERY_TABLE."` ORDER BY `id` LIMIT ".$start.", ".$per_page;
$result=$wpdb->get_results($query);
if($mes>0) {
?>
$page_links
");
?>
return;
}
$query="SELECT `title` FROM `".$wpdb->prefix.ADGALLERY_TABLE."` WHERE `id`='".$showid."'";
$showtitle=$wpdb->get_var($query);
if($showtitle=="") {
$showtitle=_("noname");
}
$query="SELECT * FROM `".$wpdb->prefix.ADGALLERY_SLIDES."` WHERE `showid`='".$showid."' ORDER BY `position`";
$result=$wpdb->get_results($query);
if($mes>0) {
?>
}
//add record with slide show
function adgalleryslider_addshow() {
global $wpdb;
if(isset($_POST["showtitle"])) {
$title=trim(addslashes(stripslashes($_POST["showtitle"])));
} else {
$title="";
}
$query="INSERT INTO `".$wpdb->prefix.ADGALLERY_TABLE."`(`title`, `enable`, `settings`) VALUES('".$title."', 'Y', '')";
if($wpdb->query($query)) {
return 1;
}
return 0;
}
//delete record with slideshow
function adgalleryslider_deleteshow($id=0) {
global $wpdb;
if($id==0) {
return 0;
}
$query="DELETE FROM `".$wpdb->prefix.ADGALLERY_SLIDES."` WHERE `showid`='".$id."'";
$wpdb->query($query);
$query="DELETE FROM `".$wpdb->prefix.ADGALLERY_TABLE."` WHERE `id`='".$id."'";
if($wpdb->query($query)) {
return 1;
}
return 0;
}
//delete slide
function adgalleryslider_deleteslide($id=0) {
global $wpdb;
if($id==0) {
return 0;
}
$query="DELETE FROM `".$wpdb->prefix.ADGALLERY_SLIDES."` WHERE `id`='".$id."'";
if($wpdb->query($query)) {
return 1;
}
return 0;
}
//show page with form
function adgalleryslider_editslide($id, $slideid=0) {
global $wpdb;
if($slideid==0) {
$Action_header=__("Add Slide");
$Fields=array("showid"=>$id, "title"=>"", "content"=>"", "enable"=>"", "img"=>"", "enable"=>"Y", "position"=>"0", "settings"=>"");
} else {
$Action_header=__("Edit Slide");
$Fields=$wpdb->get_row("SELECT * FROM `".$wpdb->prefix.ADGALLERY_SLIDES."` WHERE `id`='".$slideid."'", ARRAY_A);
}
$imgfile=dirname(__FILE__)."/".ADGALLERY_FOLDER."/".$Fields["img"];
if($_SERVER["REQUEST_METHOD"]=="POST" && isset($_POST["adgallery"]) && $_POST["adgallery"]=="savesettings") {
foreach($Fields AS $fkey=>$fval) {
if(isset($_POST[$fkey])) {
$Fields[$fkey]=trim($_POST[$fkey]);
$mes=true;
}
}
$Fields["content"]=StripSlashes(trim($Fields["content"]));
if(isset($Fields["id"])) {
unset($Fields["id"]);
}
if(isset($_FILES) && isset($_FILES["img"]) && $_FILES["img"]["error"]==0) {
$imginfo=getImageSize($_FILES["img"]["tmp_name"]);
if($imginfo && is_array($imginfo)) {
if($Fields["img"]=="") {
$filename=basename($_FILES["img"]["name"]);
$filename=$id."_".md5(time())."_".$filename;
$Fields["img"]=$filename;
}
$imgfile=dirname(__FILE__)."/".ADGALLERY_FOLDER."/".$Fields["img"];
if(!move_uploaded_file($_FILES["img"]["tmp_name"], $imgfile)) {
$err.=__("Can't save image file")." ";
$mes=false;
}
} else {
$err.=__("Wrong image format")." ";
$mes=false;
}
}
$slideid=intval($_POST["slideid"]);
if($slideid==0) {
$wpdb->insert($wpdb->prefix.ADGALLERY_SLIDES, $Fields);
$slideid=$wpdb->insert_id;
if($slideid==0) {
echo($wpdb->last_query);
}
} else {
if(!$wpdb->update($wpdb->prefix.ADGALLERY_SLIDES, $Fields, array("id"=>$slideid))) {
echo($wpdb->last_query);
}
}
}
if(file_exists($imgfile) && filesize($imgfile)>0) {
$image= WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__)).ADGALLERY_FOLDER."/".$Fields["img"];
} else {
$image="";
}
if($mes) {
?>
prefix.ADGALLERY_TABLE."` WHERE `id`='".$ind."' AND `enable`='Y'";
$show=$wpdb->get_row($query);
if(!$show || count($show)==0) {
return $content;
}
$query="SELECT * FROM `".$wpdb->prefix.ADGALLERY_SLIDES."` WHERE `showid`='".$ind."' AND `enable`='Y' ORDER BY `position`";
$slides=$wpdb->get_results($query);
if(!$slides || count($slides)==0) {
return $content;
}
$content.='
';
foreach($slides AS $slide) {
$content.='
'.$slide->content.'
';
}
$content.='
';
$content.="
";
return $content;
}
//parse content
function adgalleryslider_parser($content) {
preg_match_all("/\\{slideshow([0-9]*)\\}/i", $content, $regs);
if(is_array($regs) && is_array($regs[1]) && count($regs[1])>0) {
foreach($regs[1] AS $indx=>$input) {
$content=str_replace($regs[0][$indx], adgalleryslider_buildhtml($regs[1][$indx]), $content);
}
}
return $content;
}
add_filter('the_content', 'adgalleryslider_parser');
//include scripts and styles
function adgalleryslider_scripts() {
$pluginpath=WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__));
if(!is_single() && !is_page()) {
return;
}
?>