The forum is here for legacy reasons. No new posts will be created. User registration is disabled! If you have any questions, please email us or check https://www.adultscriptpro.com for more details!
You are not logged in.
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
Last edited by thiva7 (2015-07-24 14:20:38)
Offline
Thanks.
it finely works
thank you
Offline
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
Yeah it is possible but need lot of work.
Offline
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
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