MSV FM

dot.antimicrobial@66.96.161.157: ~ $
Path : /hermes/sb_web/b2432/googleffffffffe8a84f64.yeadim.biz/ezg_data/
File Upload :
Current < : /hermes/sb_web/b2432/googleffffffffe8a84f64.yeadim.biz/ezg_data/slideshow_plugin.php

<?php
require_once 'functions.php';
define("MAX_IMAGES",200);  //Max images per one slideshow
define('SlIDESHOW_IMAGES_FIELD_COUNT',7);
define('SlIDESHOW_SETTINGS_FIELD_COUNT',9);
Session::intStart();

$page_id=isset($_REQUEST['pid'])?intval($_REQUEST['pid']):'';
$lang=isset($_REQUEST['lang'])?htmlentities($_REQUEST['lang']):'english';
$cbuilder=isset($_REQUEST['cbuilder']);
$slideshow_path='slideshow_plugin.php?lang='.$lang.'&pid='.$page_id.($cbuilder?'&cbuilder=true':'');
if(!User::mHasWriteAccess_outsite($page_id)) exit;

if(isset($_POST['edit_sid'])&&!$cbuilder)//editable slideshow
{
	global $db;

	$sid=intval($_POST['edit_sid']);
	$tb_a=$db->get_tables('slideshow');
	if(empty($tb_a)){
	    print json_encode(array('error')); 
	    exit;
	}
	$data=$db->fetch_all_array('
	    SELECT *
	    FROM '.$db->pre.'slideshow_settings as s
	    LEFT JOIN '.$db->pre.'slideshow_images as i ON s.id=i.sid
	    WHERE s.id='.$sid.'
	    ORDER BY i.id ASC');
	if(!empty($data))
	{
		$str_urls='';
		$captions=$titles=$hrefs=array();
		$str_type=$data[0]['type'];
		$str_settings=$data[0]['settings'];
		$str_url_target=$data[0]['url_target'];
		$global_view=$data[0]['global_view'];
		$thumbs_size=$data[0]['thumbs_size'];
		
		$count_data=count($data);
		$i=0;
		foreach($data as $v){
			$titles[]=$v['title'];
			$hrefs[]=$v['href'];
			$captions[]=$v['caption'];
			$str_urls.=$v['url'];
			if(++$i!==$count_data) $str_urls.=',';				
		}
		print json_encode(array(
		    $str_type,
		    $str_settings,
		    $str_url_target,
		    json_encode($titles),
		    json_encode($hrefs),
		    $str_urls,
		    json_encode($captions),
			$global_view,
			$thumbs_size
		));
	}
	else
	    print json_encode(array('error'));
	exit;
}

$slideshow=new Slideshow();
$slideshow->set_calang_file();

if(isset($_POST['save_slideshow'])&&$page_id!=''&&!$cbuilder)
{
	global $db;
	$tb_a=$db->get_tables('slideshow');

	$location='Location: '.$slideshow_path;
	$slide_urls=isset($_POST['slide_url'])?$_POST['slide_url']:array();
	$target_url=isset($_POST['url_target'])?intval($_POST['url_target']):'';
	$slide_hrefs=isset($_POST['slide_href'])?$_POST['slide_href']:array();
	$slide_titles=isset($_POST['slide_title'])?$_POST['slide_title']:array();
	$slide_captions=isset($_POST['slide_caption'])?$_POST['slide_caption']:array();
	$type=isset($_POST['slideshow_type'])?intval($_POST['slideshow_type']):'';
	$global_view=isset($_POST['global_view'])?intval($_POST['global_view']):0;
	$thumbs_size=isset($_POST['thumbs_size'])?intval($_POST['thumbs_size']):0;
	
	$error='&error='.$slideshow->lang_s('Missing information!');
	$count_images=count($slide_urls);
	
	if($count_images==0&&isset($_POST['sid'])&&!empty($tb_a))
	{
		$sid=intval($_POST['sid']);
		$res1=$db->query('DELETE FROM '.$db->pre.'slideshow_settings WHERE id='.$sid);
		$res2=$db->query('DELETE FROM '.$db->pre.'slideshow_images WHERE sid='.$sid);
		if($res1!==false&&$res2!==false)
			header($location.'&delete=ok');
		else
			header($location.'&error='.$slideshow->lang_s("Can't delete slideshow!"));
		exit;
	}

	if($count_images==0 || $count_images>MAX_IMAGES || $count_images!==count($slide_titles) || 
	$count_images!==count($slide_hrefs) || $count_images!==count($slide_captions) ){ 
		header($location.$error);
		exit;
	}
	//slideshow info	
	$slideshow_settings='';
	if($type===0||$type===1) //slideshow nivoSlider
	{
		$f_settings=$slideshow->nivoSlider_settings;
		$post_settings=isset($_POST['nivoSlider_settings'])?$_POST['nivoSlider_settings']:array();
		if(count($post_settings)!=count($f_settings)){
			header($location.$error);
			exit;
		}
		$slideshow_settings=implode('|',array_map('floatval',$post_settings));//[0]=>effect,[1]=>slice,[2]=>boxCols,[3]=>boxRows,[4]=>animSpeed,[5]=>pauseTime
	}
	elseif($type===2||$type===3) //multibox slideshow
	{
		if($f->nivo_box){
			$f_settings=$slideshow->nivoLightbox_settings;		
			$post_settings=isset($_POST['nivoLightbox_settings'])?$_POST['nivoLightbox_settings']:array();
		}else{
			$f_settings=$slideshow->fancybox_settings;		
			$post_settings=isset($_POST['fancybox_settings'])?$_POST['fancybox_settings']:array();;
		}
		
		if(count($post_settings)!=count($f_settings)){
			header($location.$error);
			exit;
		}
		$slideshow_settings=implode('|',array_map('floatval',$post_settings));
	}
	elseif($type===4){ //slideshow2 type
		$f_settings=$slideshow->slideshow2_settings;
		$post_settings=isset($_POST['slideshow2_settings'])?$_POST['slideshow2_settings']:array();
		if(count($post_settings)!=count($f_settings)){
			header($location.$error);
			exit;
		}
		$slideshow_settings=implode('|',array_map('floatval',$post_settings));//[0]=>slideShowSpeed,[1]=>swipeSpeed
	}
	if($slideshow_settings==''){
		header($location.$error);
		exit;
	}
	
	if(empty($tb_a))
	{
		include_once('data.php');
		create_slideshowdb($db);
	}else{
		$field_names_images=$db->db_fieldnames('slideshow_images');
		$field_names_settings=$db->db_fieldnames('slideshow_settings');
		if(count($field_names_images)!=SlIDESHOW_IMAGES_FIELD_COUNT || count($field_names_settings)!=SlIDESHOW_SETTINGS_FIELD_COUNT)
	 	{
			include_once('data.php');
			create_slideshowdb($db);
		}
	}
	$records=array(
		'type'=>$type,
		'settings'=>$slideshow_settings,
		'date'=>'NOW()',
		'date_modify'=>'NOW()',
		'ip'=>Detector::getIP(),
		'pid'=>$page_id,
		'global_view'=>$global_view,
		'thumbs_size'=>$thumbs_size
	);
	if(isset($_POST['sid'])){
		$sid=intval($_POST['sid']);
		unset($records['date']);
		$result=$db->query_update('slideshow_settings',$records,'id = '.$sid);
		if($result!==false) { $last_id=$sid; $edit=true;}
	}else $last_id=$db->query_insert('slideshow_settings',$records);
		
	if($last_id!==false)
	{
		$image_id=false;
		if(isset($edit))
			$result_del=$db->query('DELETE FROM '.$db->pre.'slideshow_images WHERE sid='.$last_id);
		if(!isset($result_del) || $result_del!==false)
		{
			for($i=0;$i<$count_images;$i++)
			{
				$records=array(
					'sid'=>$last_id,
					'title'=>$slide_titles[$i],
					'href'=>str_replace(array("http://","https://"),'',$slide_hrefs[$i]),
					'url'=>$slide_urls[$i],
					'caption'=>$slide_captions[$i],
					'url_target'=>$target_url
				);
				$image_id=$db->query_insert('slideshow_images',$records);
				if($image_id===false) break;
			}
		}
		if($image_id!==false){
			if(isset($edit)) header($location.'&edit=ok');
			else header($location.'&insert='.urlencode('{%SLIDESHOW_ID('.$last_id.')%}'));
			exit;
		}
	}
}

$sc_browse=Builder::getBrowseDialog('','../',$lang,true,true);
$sc=$f->nivo_box?'nivo-lightbox':'fancybox';
$box=$f->nivo_box?'nivoLightbox':'multibox';
$sc_nivo='<script type="text/javascript" src="../extimages/scripts/'.$sc.'.js"></script>
<link rel="stylesheet" type="text/css" href="../extimages/scripts/'.$sc.'.css" media="screen" />';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="../jquery_utils.js"></script>
<script src="jquery_slideshow_plugin.js"></script>
<?=$f->tiny?'':'<script type="text/javascript" src="../innovaeditor/scripts/innovaeditor.js"></script>'?>
<?=$sc_nivo?>
<script src="../extimages/scripts/slideshow2.js" type="text/javascript"></script>
<link type="text/css" href="../extimages/scripts/slideshow2.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="style_slideshow_plugin.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<?='<script type="text/javascript">'.
$sc_browse.
Slideshow::get_js_var($slideshow->nivoSlider_settings,'nivoSlider_').
Slideshow::get_js_var(($f->nivo_box?$slideshow->nivoLightbox_settings:$slideshow->fancybox_settings),($f->nivo_box?'nivoLightbox_':'fancybox_')).
Slideshow::get_js_var($slideshow->slideshow2_settings,'slideshow2_').
Slideshow::get_js_var($slideshow->url_target_types,'url_').
'var max_images='.MAX_IMAGES.';'.
'var nivo_box=parseInt("'.$f->nivo_box.'");'.
'var title_last="'.$slideshow->lang_s('Make last').'";'.
'var title_first="'.$slideshow->lang_s('Make first').'";'.
'var max_images_text="'.$slideshow->lang_s('exceeds maximum 200 images').'";'.
'var page_id='.$page_id.';'.
'var editor_type="'.($cbuilder?'cbuilder':($f->tiny?'tiny':'innova')).'";'.
'var error_text="'.$slideshow->lang_s('Missing information!').'";'.
'</script>'
?>
<script type="text/javascript">
function modalDialogShow(url,width,height){
	mDialogShow(url,width,height);
}
</script>
</head>
<body>
	<div class="slideshow_plugin_wraparound">	
		<form action="<?=$slideshow_path?>" method="post" style="margin:0">
			<div class="thumbs_wraparound">
				<input class="input1" type="button" name="btnAssepage-title" id="btnAsset2" onclick="openAsset('slideshow')" value="<?=$slideshow->lang_s('browse')?>"/>
				<table>
					<tr>
						<td class="arrows_container">
							<a class="arrows_slides up_arrow" rel="" onclick="move_slide(this,'move_up')" title="<?=$slideshow->lang_s('Move up')?>"><i class="fa fa-arrow-up"></i></a>
							<a class="arrows_slides down_arrow" rel="" onclick="move_slide(this,'move_down')" title="<?=$slideshow->lang_s('Move down')?>"><i class="fa fa-arrow-down"></i></a>
							<a class="arrows_slides first_arrow"  rel="" onclick="move_slide(this,'move_first')" title=""><i class="fa fa-fast-backward fa-rotate-90"></i></a>
							<a class="arrows_slides last_arrow"  rel="" onclick="move_slide(this,'move_last')" title=""><i class="fa fa-fast-backward fa-rotate-270"></i></a>
							<a class="del_btn"  rel="" onclick="delete_all_slides()" title="<?=$slideshow->lang_s('Remove all')?>"><i class="fa fa-trash-o"></i></a>
							<input type="hidden" id="del_confurm" value="<?=$slideshow->lang_s("Remove all?")?>" />
						</td>
					</tr>
					<tr>
						<td>
							<div id="thumbs_slideshow" class="thumbs_container"></div>
						</td>
					</tr>
				</table>
			</div>
			
			<div class="slideshow_info_wraparound">
				<div class="tabs">
					<ul class="tab-links">
						<li class="active"><a href="#tab1"><?=$slideshow->lang_s('Image')?></a></li>
						<li><a href="#tab2"><?=$slideshow->lang_s('Preview')?></a></li>
					</ul>
					<div class="tab-content">
						<div id="tab1" class="tab active">
							<table>
								<tr>
									<td><div id="big_image"></div></td>
								</tr>
								<tr>
									<td class="top_input">
										<span><?=$slideshow->lang_s("title")?>:</span></br>
										<input type='text'  value='' class="image_info image_title" rel="" />
										<div id="images_title_container"></div>
									</td>
								</tr>
								<tr>
									<td>
										<span><?=$slideshow->lang_s("URL")?>:</span></br>
										<input type='text' value='' class="image_info image_href" rel="" /><br/>
										<div id="image_href_container"></div>
									</td>
								</tr>
								<tr>
									<td>
										<span><?=$slideshow->lang_s("description")?>:</span></br>
										<textarea value='' class="image_info image_caption" rel=""></textarea><br/>
										<div id="image_caption_container"></div>
									</td>
								</tr>
							</table>
						</div>
						
						<div id="tab2" class="tab">
							<table>
								<tr>
									<td colspan='4' style="height: 355px; vertical-align: top; padding:5px"><div id="slideshow_preview"></div></td>
								</tr>

								<tr class="tr_slideshow_type">
									<td class="top_input" style="width:20%">
										<span><?=$slideshow->lang_s('slideshow types')?>:</span><br/>
										<?=Builder::buildSelect2('slideshow_type','slideshow_type',$slideshow->slideshow_types,1,'','key');?>
									</td>
									<td class="top_input" style="width:13%">
										<span><?=$slideshow->lang_s('target')?>:</span><br/>
										<?=Builder::buildSelect2('url_target','url_target',$slideshow->url_target_types['target'],0,'','key');?>
									</td>
									<td class="top_input" style="width:20%">
										<?=Builder::buildCheckbox('global_view',false,$slideshow->lang_s('global view'),'','global_view');?>
									</td>
									<td class="top_input" style="width:43%">
										<div class="thumbs_size_div" style="opacity:0;">
											<span><?=$slideshow->lang_s('all thumbs same size')?>:</span><br/>
											<?=Builder::buildInput('thumbs_size','0','width:40px;','','text','','','','',false,'thumbs_size','thumbs_size');?>
										</div>
									</td>
								</tr>
								
								<tr class="tr_settings type_nivoSlider" style="display:none">
									<td  colspan='4' style="padding-top:10px">
										<table><tr>
											<?=$slideshow->buildSlideshow_settings_html($slideshow->nivoSlider_settings, 'nivoSlider_');?>
										</tr></table>
									</td>
								</tr>
								
								<tr class="tr_settings type_fancybox" style="display:none">
									<td colspan='4' style="padding-top:10px">
									<table><tr>
										<?=$slideshow->buildSlideshow_settings_html($f->nivo_box?$slideshow->nivoLightbox_settings:$slideshow->fancybox_settings,$f->nivo_box?'nivoLightbox_':'fancybox_');?>
									</tr></table>
									</td>
								</tr>

								<tr class="tr_settings type_slideshow2" style="display:none">
									<td colspan='4' style="padding-top:10px">
									<table><tr>
										<?=$slideshow->buildSlideshow_settings_html($slideshow->slideshow2_settings, 'slideshow2_');?>
									</tr></table>
									</td>
								</tr>														
							</table>
						</div>
					</div>
				</div>
			</div>
			
			<div class="submit">
				<table>
					<tr>
						<td style="text-align:left">
							<?=$slideshow->lang_s('Total images: ')?><span class="total_images"></span>
						</td>
						<td class="results" style="text-align:center">
							<?php
								if(isset($_GET['insert'])){
									$macro=urldecode($_GET['insert']);
									echo '<script type="text/javascript">
									insert_slideshow_editor("<p class=\'slideshow_editor\'>'.$macro.'</p>");
									</script>';
								}
								elseif(isset($_GET['edit'])){
									echo '<script type="text/javascript">									
									insert_slideshow_editor("");
									</script>';
								}
								elseif(isset($_GET['delete'])){
									echo '<script type="text/javascript">
									delete_selected_slideshow();
									</script>';
								}
								elseif(isset($_GET['error']))
									echo '<span class="error">'.htmlentities($_GET['error']).'</span>';
							?>
						</td>
						<td style="text-align:right">
							<input type="<?=$cbuilder?'button" class="cbuilder_submit"':'submit"'?> value="<?=$slideshow->lang_s('Save and Insert')?>" name="save_slideshow" />
						</td>
					</tr>
				</table>
			</div>
		</form>
	</div>
</body>
</html>