Adult Script Pro Community Forums

Create, help and share your ideas with the community!

You are not logged in.

#51 2015-07-24 14:18:48

thiva7
Member
Registered: 2011-04-30
Posts: 989

Re: adding extern link in video description with the title of that video.

Hmm? I dont understund and from your site check i see u have done wrong input in TPL.
so pls Do this steps do be sure that will work
(you have do wrong in your site.....so do it from scratch please)

1) create in video table column with some name ( for our example lets say desc_url )

Or remember what u have add and use it instead my example

2) In Your theme /video_upload.tpl add some text input example :
<input name"desc_url" type="text" />



name"desc_url"  ( add same name as table name in step (1), will be more easy to remember it )


3)Now in modules\video\components\upload.php

copy this Upload and replace it with your ( if you follow exactly  my steps u dont need to edit it, but id you use deferent name in step 1 and 2 just find and replace desc_url with your details )

<?php
defined('_VALID') or die('Restricted Access!');

class VComponent_video_upload extends VModule_video
{
	private $errors = array();
	private $vcfg;
	public function __construct()
	{
		parent::__construct();
		
		$this->vcfg = VF::cfg('module.video');
	}	
	
	public function render()
	{
		VLanguage::load('frontend.upload');
		VLanguage::load('frontend.video');

		if (!$this->vcfg['upload_enabled']) {
			$_SESSION['error'] = __('upload-disabled');
			VModule::load('error', TRUE);
		}
		
		if ($this->vcfg['upload_perm'] != 'anonymous') {
			VAuth::check(ucfirst($this->vcfg['upload_perm']), NULL, __('upload-perm', array($this->vcfg['upload_perm'])));
			$user_id = (int) $_SESSION['user_id'];
		} else {
			$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : $this->get_anonymous_id();
		}
		
		$errors		= array();
		$messages	= array();
		$allow		= TRUE;
		
		if (!empty($this->vcfg['upload_limit'])) {
			$add_time   = strtotime(date('Y-m-d').' 00:00:00');
			$this->db->query("SELECT COUNT(*) AS total_videos
		                	  FROM #__video
		                	  WHERE add_time > ".$add_time."
		                	  AND user_id = ".$user_id);
			if ($this->db->affected_rows()) {
				$total_videos	= (int) $this->db->fetch_field('total_videos');
				$upload_limit	= (int) $this->vcfg['upload_limit'];
				if ($total_videos >= $upload_limit) {
					$errors[]	= __('upload-limit', array($upload_limit));
				}
			}
		}
		
		$categories	= $this->get_video_categories();
		$unique     = time().'0'.mt_rand();
		$video		= array(
			'title' => '', 'description' => '', 'desc_url' => '', 'tags' => '', 'category' => array(),
			'url' => '', 'code' => ''
		);

		if (isset($_POST['cancel-upload'])) {
			$allow = FALSE;
		}
		
		if (isset($_POST['upload-submitted']) && $allow === TRUE) {
			$filter			= VF::factory('filter');
			$title			= $filter->get('title');
			$description	= $filter->get('description');
			$category		= (isset($_POST['category'])) ? (array) $_POST['category'] : array();
			$pornstars		= (isset($_POST['pornstars'])) ? (array) $_POST['pornstars'] : array();
			$tags			= $filter->get('tags');
			$upload_id		= $filter->get('unique_id');
			$desc_url		= $filter->get('desc_url');
			
			if ($title == '') {
				$errors[] = __('title-empty');
			} elseif (!VValid::length($title, 1, 100)) {
				$errors[] = __('title-length');
			} else {
				$video['title'] = $title;
			}
			
			if ($description != '') {
				$video['description'] = $description;
			}
			
			if ($desc_url != '') {
				$video['desc_url'] = $desc_url;
			}
			
			if (!$category) {
				$errors[] = __('category-empty', array($this->vcfg['max_categories']));
			} elseif (count($category) > $this->vcfg['max_categories']) {
				$errors[] = __('category-max', array($this->vcfg['max_categories']));
			} else {
				$video['category'] = $category;
			}
			
			if ($tags == '') {
				$errors[] = __('tags-empty');
			} else {
				$tags 	= prepare_tags($tags);
				if ($tags == '') {
					$errors[] = __('tags-invalid');
				} else {
					$arr	= explode(',', $tags);
					foreach ($arr as $tag) {
						if (strlen($tag) > $this->vcfg['tag_max_length']) {
							$errors[] = __('tag-length', array('"'.$tag.'"', $this->vcfg['tag_max_length']));
						}
						
						if (str_word_count($tag) > $this->vcfg['tag_max_words']) {
							$errors[] = __('tag-words', array('"'.$tag.'"', $this->vcfg['tag_max_words']));
						}
					}
				
					$video['tags'] = $tags;
				}
			}
			
			if (!ctype_digit($upload_id)) {
				$errors[]	= 'Invalid upload identifier!';
			}
			
			if (!$errors) {
				if (!$file = $this->process_file($upload_id, $this->vcfg['video_max_size'], $this->vcfg['video_allowed_ext'])) {
					$errors = array_merge($errors, $this->errors);
				}
			}
			
			if (!$errors) {
				$vmodel = VModel::load('video', 'video', true);
				if ($video_id = $vmodel->add(array(
					'user_id'		=> $user_id,
					'title'			=> $title,
					'desc_url' 		=> $desc_url,
					'slug'			=> prepare_string($title, true, $this->vcfg['slug_max_length']),
					'description'	=> $description,					
					'type'			=> 'public',
					'premium'		=> '0',
					'status'		=> 3))) {
					$dst        = MEDIA_DIR.'/videos/vid/'.$video_id.'.'.$file['ext'];
					$status		= ($this->vcfg['approve']) ? 2 : 1;
					if (rename($file['path'], $dst)) {
						@chmod($dst, 0777);
						if ($this->vcfg['queue']) {
							$status = 6;
						} else {
							$cmd = VF::cfg_core_item('php_cli_path').' '.MODULES_DIR.'/video/scripts/convert.php '.$video_id.' '.$file['ext'].' '.$status;
							exec(escapeshellcmd($cmd). ' >/dev/null &');
						}
						
						if ($status !== 6) {
							$status = 4;
						}
						
						foreach ($category as $cat_id) {
							$vmodel->add_category($video_id, $cat_id);
						}
						
						$tags	= explode(',', $tags);
						foreach ($tags as $tag) {
							$vmodel->add_tag($video_id, trim($tag));
						}
						
						$vmodel->add_orig(array(
                            'video_id'      => $video_id,
                            'user_id'       => $user_id,
                            'filename'      => $file['name'],
                            'ext'           => $file['ext'],
                            'size'          => $file['size'],
                            'method'        => 'upload'
                        ));

						$vmodel->add_activity($user_id);
						
						if ($status === 6) {
							$vmodel->add_queue($video_id, $status);
						}
						
						foreach ($pornstars as $model_id) {
							$vmodel->add_model($video_id, (int) $model_id);
						}
						
						$vmodel->update($video_id, array(
							'status'	=> $status
						));
						
						$vmodel->update($video_id, array(
							'desc_url'	=> $desc_url
						));
						
						$video['title']			= '';
						$video['description']	= '';
						//$video['desc_url']		= '';
						$video['tags']			= '';						
						$video['category']		= array();
						
						if ($status === 1 OR $status === 4) {
							$messages[] = __('upload-success');
						} elseif ($status === 2 OR $status === 0) {
							$messages[] = __('upload-approve');
						} elseif ($status == 6) {
							$messages[] = __('upload-queue');
						}
					} else {
						$errors[] = __('file-error');
					}
				} else {
					throw new VException(__('database-error'));
				}
			}
		}
			
		$tpl = VF::factory('template');
		$tpl->menu				= 'video';
		$tpl->meta_title		= __('upload-video');

		$tpl->canonical			= BASE_URL.'/upload/';
		$tpl->canonicalm		= MOBILE_URL.'/upload/';

		$tpl->errors			= $errors;
		$tpl->messages			= $messages;
		$tpl->video				= $video;
		$tpl->categories		= $categories;
		$tpl->tag_max_length	= $this->vcfg['tag_max_length'];
		$tpl->tag_max_words		= $this->vcfg['tag_max_words'];
		$tpl->max_categories	= $this->vcfg['max_categories'];
		$tpl->unique			= $unique;
		$tpl->pornstars			= (VModule::enabled('pornstar')) ? $this->get_pornstars('a') : NULL;
		$tpl->load(array('header', 'video_upload', 'footer'));
		$tpl->display();
	}
	
	private function get_anonymous_id()
	{
		$this->db->query("SELECT user_id FROM #__user WHERE username = 'anonymous' LIMIT 1");
		if ($this->db->affected_rows()) {
			return (int) $this->db->fetch_field('user_id');
		}
		
		throw new Exception('Failed to get anonymous id! Application error!?');
	}
	
	private function get_pornstars($letter='a')
	{
		$this->db->query("SELECT model_id, name
                  		  FROM #__model
                  		  WHERE slug LIKE '".$letter."%'
                  		  AND status = '1'");
        
        return $this->db->fetch_rows();
	}
	
	private function process_file($upload_id, $max_size, $allowed_ext)
	{
		VLanguage::load('frontend.upload');
		
		$sec	= substr(md5(VF::cfg_item('secret')), -5);
		$info	= TMP_DIR.'/uploads/'.$upload_id.'_'.$sec;
		if (file_exists($info) && is_file($info)) {
			$info	= file($info);
			$name	= trim($info['0']);
			$ext	= trim($info['1']);
			$path	= TMP_DIR.'/uploads/'.$upload_id.'_'.$sec.'.'.$ext;
			if (file_exists($path) && is_file($path)) {
				$size	= filesize($path);
				if ($max_size !== 0 && $size > ($max_size*1024*1024)) {
              		$this->errors[] = __('file-limit', array($max_size));
				} else {
					if (in_array($ext, $allowed_ext)) {
						@unlink($info);
						return array(
							'path'	=> $path,
							'name'	=> $name,
							'size'	=> $size,
							'ext'	=> $ext
						);
					} else {
						$this->errors[] = __('file-invalid', array(implode(', ', $allowed_ext)));
					}
				}
			} else {
				$this->errors[]	= __('file-select');
			}
		} else {
			$this->errors[]	= __('file-select').'*';
		}
		
		return FALSE;
	}
}


Now u ready to call your link in theme


Go to your templates/defboot/video_view.tpl.php

and place where u want this code

<?php echo $video['desc_url']; ?>


Let me know if works wink

Last edited by thiva7 (2015-07-24 14:20:38)

Offline

#52 2015-07-24 15:08:02

donronca
Member
From: The Netherlands
Registered: 2012-12-27
Posts: 317
Website

Re: adding extern link in video description with the title of that video.

Thanks. big_smile big_smile big_smile big_smile

it finely works

thank you

Offline

#53 2015-07-30 13:14:35

donronca
Member
From: The Netherlands
Registered: 2012-12-27
Posts: 317
Website

Re: adding extern link in video description with the title of that video.

is there a possiblility that i can add to the link submission in the upload area,

that only premium members can add links.

do anyone know what i need to modify.

Offline

#54 2015-07-30 13:35:13

thiva7
Member
Registered: 2011-04-30
Posts: 989

Re: adding extern link in video description with the title of that video.

Yeah it is possible but need lot of work.

Offline

#55 2015-07-30 13:54:32

donronca
Member
From: The Netherlands
Registered: 2012-12-27
Posts: 317
Website

Re: adding extern link in video description with the title of that video.

i've add a new structure in the user database, i can edit it in the admin panel, that adding link can be enabled or disabled.
standard is disable.

only how can i modify in the upload area that the description link div only be visible when the adding link is enable.

Offline

#56 2015-07-30 14:08:13

thiva7
Member
Registered: 2011-04-30
Posts: 989

Re: adding extern link in video description with the title of that video.

man you coming here and u asking from us to finish for you custom development  part by part,when u asking for help here and need  5-10 min to done NO problem to help for it.. !
anyway u dont need new structure in db.....u can save it in some config and grab it from there.
If you cant do it Just contact to Adrian or some developer to complere that for you

Thanks

Offline

Board footer

Powered by FluxBB