video.class.php 4.65 KB
<?php
class Video{
 var $db = null;
 var $tpl = null;
 var $error = null;
 var $photo_id = null;


 function Video(&$db,&$tpl,&$error){
  $this->db = &$db;
  $this->tpl = &$tpl;
  $this->error = &$error;
 }


 function trim(&$data){
  foreach($data as $key=>$value){
   $data[$key] = trim($value);
  }
 }
 

 function valid($data,$upload = null){

  if(isset($data['name'])){
   if( !preg_match("/.{1,150}/i",$data['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Íàçâàíèÿ èçîáðàæåíèÿ.";
  }

  if(isset($upload['video']['tmp_name']) && $upload['video']['tmp_name']){
   $type = substr(strrchr($upload['video']['name'],"."),1);
   if( !preg_match("/^(flv|rar|doc|pdf|txt|pps)$/i",$type) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âèäåî, òîëüêî flv|rar|doc|pdf|txt|pps.";
  }

 return ( count($this->error) ) ? true : false;
 }
 
 function deletePicsVideo($id){
  $sql = "select pic,pic_big from catalogs_gallery where id=?";
  $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC);
  @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/gallery/{$row['pic']}");
  @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/gallery/big/{$row['pic_big']}");
 }

 function deleteVideo($id){
  $this->deleteFile($id);
  $sql = "delete from video where id=?";
  $this->db->query($sql,array($id));
 }
 
 function viewVideoOne($id){
  $sql = "select * from video where id=?";
  $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC);
  $this->tpl->assign('video',$row);
 }

 function PhotosCheck($id_s,$check_s = array()){
  $sql = "UPDATE gallery SET active = ? WHERE id =?";

  foreach($id_s as $id){
  $this->db->query($sql,array(0,$id));
  }
 if(count($check_s)){
  foreach($check_s as $id){
  $this->db->query($sql,array(1,$id));
  }
 }
 }
 
 function viewCheckPhotos(){
  $sql = "select gallery.*,topic.id as topic_id,topic.comments as topic_comments, firms.name as firm_name from gallery left join topic on topic.parent_table='gallery' Left join firms on firms.id=gallery.firm_id where gallery.active=? and topic.parent_table_id=gallery.id order by gallery.mktime desc";
  $row = $this->db->getAll($sql,array(1),DB_FETCHMODE_ASSOC);
  $this->tpl->assign('photosCheck',$row);
 }
 

 function SaveVideo($data,$upload){
 $table_name = "video";
 if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id'];$where = "id=$id";}
 else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequence_catalogs_video');$where = null;}
 
 $fields_values = array('id'=>$id,'product_id' => $data['product_id'],'name' => $data['name'],'code' => $data['code'],'type' => $data['type']);

  if(isset($data['delete_video']) && $data['delete_video']==1){
   $this->deleteFile($id);
   $fields_values['video'] = null;
  }
  if($upload['video']['tmp_name']){
   $this->deleteFile($id);
   $name_video = mktime() . "." . substr(strrchr($_FILES['video']['name'],"."),1);
   $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/video/$name_video";
   move_uploaded_file($_FILES["video"]["tmp_name"], $file_name);
   chmod($file_name,"0777");
   $fields_values['video'] = $name_video;
  }

 $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where);
 return $id;
 }
 
 function deleteFile($id){
  $sql = "select video from video where id=?";
  $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC);
  $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/video/{$row['video']}";
  @unlink($file_name);
 }
 

 function viewVideo($params = array()){
  $search = array();
  if(isset($params['productID']) && $params['productID']>0)$product_id = $params['productID'];else $product_id = 0;
  
  $sql = "select * from video where product_id=? ";
  if(count($search))$sql .= " and " . implode(" and ",$search)." ";
  $sql .= "order by id asc";

  $pagerOptions = Array(
    'mode' => 'Sliding',
    'delta' => 6,
    'perPage' => 15,
    'spacesBeforeSeparator' => 1,
    'spacesAfterSeparator' => 1
  );
  $this->tpl->assign('galleryAllData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array($product_id)));
 }
 
 function viewVideoProduct($id){
  $sql = "select * from video where product_id=? order by id asc";
  $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC);
  $this->tpl->assign('video', $row);
 }
 

 function displayServiceGallery(){
  $this->tpl->assign("service_tpl",'gallery.tpl');
 }
 
 function displayVideo(){
  $this->tpl->assign("tpl",'video.tpl');
 }
 
 function displayGalleryParent(){
  $this->tpl->assign("tpl",'gallery_parent.tpl');
 }
 
 function displayGallery3(){
  $this->tpl->assign("tpl",'gallery3.tpl');
 }
 
 function displayVideoSave(){
  $this->tpl->assign("tpl",'video_save.tpl');
 }
 


}
?>