Azeri
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
vhosts
/
chipionatv.com
/
httpdocs
/
administrator
/
components
/
com_k2
/
views
/
item
/
Filename :
view.html.php
back
Copy
<?php /** * @version 2.8.x * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2017 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */ // no direct access defined('_JEXEC') or die; jimport('joomla.application.component.view'); class K2ViewItem extends K2View { function display($tpl = null) { $application = JFactory::getApplication(); $document = JFactory::getDocument(); $user = JFactory::getUser(); $db = JFactory::getDbo(); $view = JRequest::getCmd('view'); $task = JRequest::getCmd('task'); $params = JComponentHelper::getParams('com_k2'); jimport('joomla.filesystem.file'); jimport('joomla.html.pane'); JHTML::_('behavior.keepalive'); JHTML::_('behavior.modal'); // JS $document->addScriptDeclaration(" var K2BasePath = '".JURI::base(true)."/'; var K2Language = [ '".JText::_('K2_REMOVE', true)."', '".JText::_('K2_LINK_TITLE_OPTIONAL', true)."', '".JText::_('K2_LINK_TITLE_ATTRIBUTE_OPTIONAL', true)."', '".JText::_('K2_ARE_YOU_SURE', true)."', '".JText::_('K2_YOU_ARE_NOT_ALLOWED_TO_POST_TO_THIS_CATEGORY', true)."', '".JText::_('K2_OR_SELECT_A_FILE_ON_THE_SERVER', true)."' ]; Joomla.submitbutton = function(pressbutton){ if (pressbutton == 'cancel') { submitform( pressbutton ); return; } if (\$K2.trim(\$K2('#title').val()) == '') { alert( '".JText::_('K2_ITEM_MUST_HAVE_A_TITLE', true)."' ); } else if (\$K2.trim(\$K2('#catid').val()) == '0') { alert( '".JText::_('K2_PLEASE_SELECT_A_CATEGORY', true)."' ); } else { syncExtraFieldsEditor(); var validation = validateExtraFields(); if(validation === true) { \$K2('#selectedTags option').attr('selected', 'selected'); submitform( pressbutton ); } } }; "); K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.'/models'); $model = K2Model::getInstance('Item', 'K2Model', array('table_path' => JPATH_COMPONENT_ADMINISTRATOR.'/tables')); $item = $model->getData(); JFilterOutput::objectHTMLSafe($item, ENT_QUOTES, array( 'video', 'params', 'plugins' )); // Permissions check for frontend editing if ($application->isSite()) { JLoader::register('K2HelperPermissions', JPATH_COMPONENT.'/helpers/permissions.php'); if ($task == 'edit' && !K2HelperPermissions::canEditItem($item->created_by, $item->catid)) { JError::raiseError(403, JText::_('K2_ALERTNOTAUTH')); } if ($task == 'add' && !K2HelperPermissions::canAddItem()) { JError::raiseError(403, JText::_('K2_ALERTNOTAUTH')); } // Get user permissions $K2Permissions = K2Permissions::getInstance(); $this->assignRef('permissions', $K2Permissions->permissions); // Build permissions message $permissionsLabels = array(); if ($this->permissions->get('add')) { $permissionsLabels[] = JText::_('K2_ADD_ITEMS'); } if ($this->permissions->get('editOwn')) { $permissionsLabels[] = JText::_('K2_EDIT_OWN_ITEMS'); } if ($this->permissions->get('editAll')) { $permissionsLabels[] = JText::_('K2_EDIT_ANY_ITEM'); } if ($this->permissions->get('publish')) { $permissionsLabels[] = JText::_('K2_PUBLISH_ITEMS'); } if ($this->permissions->get('editPublished')) { $permissionsLabels[] = JText::_('K2_ALLOW_EDITING_OF_ALREADY_PUBLISHED_ITEMS'); } $permissionsMessage = JText::_('K2_YOU_ARE_ALLOWED_TO').' '.implode(', ', $permissionsLabels); $this->assignRef('permissionsMessage', $permissionsMessage); } if ($item->isCheckedOut($user->get('id'), $item->checked_out)) { $message = JText::_('K2_THE_ITEM').': '.$item->title.' '.JText::_('K2_IS_CURRENTLY_BEING_EDITED_BY_ANOTHER_ADMINISTRATOR'); $url = ($application->isSite()) ? 'index.php?option=com_k2&view=item&id='.$item->id.'&tmpl=component' : 'index.php?option=com_k2'; $application->enqueueMessage($message); $application->redirect($url); } if ($item->id) { $item->checkout($user->get('id')); } else { $item->published = 1; $item->publish_down = $db->getNullDate(); $item->modified = $db->getNullDate(); $date = JFactory::getDate(); $now = K2_JVERSION == '15' ? $date->toMySQL() : $date->toSql(); $item->created = $now; $item->publish_up = $item->created; } $lists = array(); if (version_compare(JVERSION, '1.6.0', 'ge')) { $dateFormat = 'Y-m-d H:i:s'; } else { $dateFormat = '%Y-%m-%d %H:%M:%S'; } // Date/time $created = $item->created; $publishUp = $item->publish_up; $publishDown = $item->publish_down; $created = JHTML::_('date', $item->created, $dateFormat); $publishUp = JHTML::_('date', $item->publish_up, $dateFormat); if ((int)$item->publish_down) { $publishDown = JHTML::_('date', $item->publish_down, $dateFormat); } else { $publishDown = ''; } $lists['createdCalendar'] = $created; $lists['publish_up'] = $publishUp; $lists['publish_down'] = $publishDown; if ($item->id) { $lists['created'] = JHTML::_('date', $item->created, JText::_('DATE_FORMAT_LC2')); } else { $lists['created'] = JText::_('K2_NEW_DOCUMENT'); } if ($item->modified == $db->getNullDate() || !$item->id) { $lists['modified'] = JText::_('K2_NEVER'); } else { $lists['modified'] = JHTML::_('date', $item->modified, JText::_('DATE_FORMAT_LC2')); } // Editors $wysiwyg = JFactory::getEditor(); $onSave = ''; if ($params->get("mergeEditors")) { if (JString::strlen($item->fulltext) > 1) { $textValue = $item->introtext."<hr id=\"system-readmore\" />".$item->fulltext; } else { $textValue = $item->introtext; } $text = $wysiwyg->display('text', $textValue, '100%', '400px', '', ''); $this->assignRef('text', $text); if (K2_JVERSION == '30') { $onSave = $wysiwyg->save('text'); } } else { $introtext = $wysiwyg->display('introtext', $item->introtext, '100%', '400px', '', '', array('readmore')); $this->assignRef('introtext', $introtext); $fulltext = $wysiwyg->display('fulltext', $item->fulltext, '100%', '400px', '', '', array('readmore')); $this->assignRef('fulltext', $fulltext); if (K2_JVERSION == '30') { $onSave = $wysiwyg->save('introtext'); $onSave .= $wysiwyg->save('fulltext'); } } $document->addScriptDeclaration("function onK2EditorSave(){ ".$onSave." }"); // Publishing $lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $item->published); $lists['featured'] = JHTML::_('select.booleanlist', 'featured', 'class="inputbox"', $item->featured); $lists['access'] = version_compare(JVERSION, '2.5', 'ge') ? JHTML::_('access.level', 'access', $item->access, '', false) : str_replace('size="3"', "", JHTML::_('list.accesslevel', $item)); $query = "SELECT ordering AS value, title AS text FROM #__k2_items WHERE catid={$item->catid}"; $lists['ordering'] = version_compare(JVERSION, '3.0', 'ge') ? NUll : JHTML::_('list.specificordering', $item, $item->id, $query); if (!$item->id) $item->catid = $application->getUserStateFromRequest('com_k2itemsfilter_category', 'catid', 0, 'int'); require_once JPATH_ADMINISTRATOR.'/components/com_k2/models/categories.php'; $categoriesModel = K2Model::getInstance('Categories', 'K2Model'); $categories = $categoriesModel->categoriesTree(); $lists['catid'] = JHTML::_('select.genericlist', $categories, 'catid', 'class="inputbox"', 'value', 'text', $item->catid); if (version_compare(JVERSION, '1.6.0', 'ge')) { $languages = JHTML::_('contentlanguage.existing', true, true); $lists['language'] = JHTML::_('select.genericlist', $languages, 'language', '', 'value', 'text', $item->language); } $lists['checkSIG'] = $model->checkSIG(); $lists['checkAllVideos'] = $model->checkAllVideos(); $remoteVideo = false; $providerVideo = false; $embedVideo = false; if (stristr($item->video, 'remote}') !== false) { $remoteVideo = true; $options['startOffset'] = 1; } $providers = $model->getVideoProviders(); if (count($providers)) { foreach ($providers as $provider) { $providersOptions[] = JHTML::_('select.option', $provider, ucfirst($provider)); if (stristr($item->video, "{{$provider}}") !== false) { $providerVideo = true; $options['startOffset'] = 2; } } } if (JString::substr($item->video, 0, 1) !== '{') { $embedVideo = true; $options['startOffset'] = 3; } $lists['uploadedVideo'] = (!$remoteVideo && !$providerVideo && !$embedVideo) ? true : false; if ($lists['uploadedVideo'] || $item->video == '') { $options['startOffset'] = 0; } $document->addScriptDeclaration("var K2ActiveMediaTab = ".$options['startOffset']); $lists['remoteVideo'] = ($remoteVideo) ? preg_replace('%\{[a-z0-9-_]*\}(.*)\{/[a-z0-9-_]*\}%i', '\1', $item->video) : ''; $lists['remoteVideoType'] = ($remoteVideo) ? preg_replace('%\{([a-z0-9-_]*)\}.*\{/[a-z0-9-_]*\}%i', '\1', $item->video) : ''; $lists['providerVideo'] = ($providerVideo) ? preg_replace('%\{[a-z0-9-_]*\}(.*)\{/[a-z0-9-_]*\}%i', '\1', $item->video) : ''; $lists['providerVideoType'] = ($providerVideo) ? preg_replace('%\{([a-z0-9-_]*)\}.*\{/[a-z0-9-_]*\}%i', '\1', $item->video) : ''; $lists['embedVideo'] = ($embedVideo) ? $item->video : ''; if (isset($providersOptions)) { $lists['providers'] = JHTML::_('select.genericlist', $providersOptions, 'videoProvider', '', 'value', 'text', $lists['providerVideoType']); } JPluginHelper::importPlugin('content', 'jw_sigpro'); JPluginHelper::importPlugin('content', 'jw_allvideos'); $dispatcher = JDispatcher::getInstance(); // Detect gallery type if (JString::strpos($item->gallery, 'http://') || JString::strpos($item->gallery, 'https://')) { $item->galleryType = 'flickr'; $item->galleryValue = JString::substr($item->gallery, 9); $item->galleryValue = JString::substr($item->galleryValue, 0, -10); } else { $item->galleryType = 'server'; $item->galleryValue = ''; } $params->set('galleries_rootfolder', 'media/k2/galleries'); $item->text = $item->gallery; if (K2_JVERSION == '15') { $dispatcher->trigger('onPrepareContent', array( &$item, &$params, null )); } else { $dispatcher->trigger('onContentPrepare', array( 'com_k2.'.$view, &$item, &$params, null )); } $item->gallery = $item->text; if (!$embedVideo) { $params->set('vfolder', 'media/k2/videos'); $params->set('afolder', 'media/k2/audio'); if (JString::strpos($item->video, 'remote}')) { preg_match("#}(.*?){/#s", $item->video, $matches); if (JString::substr($matches[1], 0, 7) != 'http://' || JString::substr($matches[1], 0, 8) != 'https://') { $item->video = str_replace($matches[1], JURI::root().$matches[1], $item->video); } } $item->text = $item->video; if (K2_JVERSION == '15') { $dispatcher->trigger('onPrepareContent', array( &$item, &$params, null )); } else { $dispatcher->trigger('onContentPrepare', array( 'com_k2.'.$view, &$item, &$params, null )); } $item->video = $item->text; } if (isset($item->created_by)) { $author = JUser::getInstance($item->created_by); $item->author = $author->name; } else { $item->author = $user->name; } if (isset($item->modified_by)) { $moderator = JUser::getInstance($item->modified_by); $item->moderator = $moderator->name; } if ($item->id) { $active = $item->created_by; } else { $active = $user->id; } $categories_option[] = JHTML::_('select.option', 0, JText::_('K2_SELECT_CATEGORY')); $categories = $categoriesModel->categoriesTree(NUll, true, false); if ($application->isSite()) { JLoader::register('K2HelperPermissions', JPATH_SITE.'/components/com_k2/helpers/permissions.php'); if (($task == 'add' || $task == 'edit') && !K2HelperPermissions::canAddToAll()) { for ($i = 0; $i < sizeof($categories); $i++) { if (!K2HelperPermissions::canAddItem($categories[$i]->value) && $task == 'add') { $categories[$i]->disable = true; } if (!K2HelperPermissions::canEditItem($item->created_by, $categories[$i]->value) && $task == 'edit') { $categories[$i]->disable = true; } } } } $categories_options = @array_merge($categories_option, $categories); $lists['categories'] = JHTML::_('select.genericlist', $categories_options, 'catid', '', 'value', 'text', $item->catid); JTable::addIncludePath(JPATH_COMPONENT.'/tables'); $category = JTable::getInstance('K2Category', 'Table'); $category->load($item->catid); // Extra fields $extraFieldModel = K2Model::getInstance('ExtraField', 'K2Model'); if ($category->id) { $extraFields = $extraFieldModel->getExtraFieldsByGroup($category->extraFieldsGroup); } else { $extraFields = NULL; } for ($i = 0; $i < sizeof($extraFields); $i++) { $extraFields[$i]->element = $extraFieldModel->renderExtraField($extraFields[$i], $item->id); } // Attachments if ($item->id) { $item->attachments = $model->getAttachments($item->id); $rating = $model->getRating(); if (is_null($rating)) { $item->ratingSum = 0; $item->ratingCount = 0; } else { $item->ratingSum = (int)$rating->rating_sum; $item->ratingCount = (int)$rating->rating_count; } } else { $item->attachments = NULL; $item->ratingSum = 0; $item->ratingCount = 0; } // Tags if ($user->gid < 24 && $params->get('lockTags')) { $params->set('taggingSystem', 0); } $tags = $model->getAvailableTags($item->id); $lists['tags'] = JHTML::_('select.genericlist', $tags, 'tags', 'multiple="multiple" size="10" ', 'id', 'name'); if (isset($item->id)) { $item->tags = $model->getCurrentTags($item->id); $lists['selectedTags'] = JHTML::_('select.genericlist', $item->tags, 'selectedTags[]', 'multiple="multiple" size="10" ', 'id', 'name'); } else { $lists['selectedTags'] = '<select size="10" multiple="multiple" id="selectedTags" name="selectedTags[]"></select>'; } // Metadata $lists['metadata'] = class_exists('JParameter') ? new JParameter($item->metadata) : new JRegistry($item->metadata); $metaRobotsOptions = array( '' => JText::_('K2_USE_GLOBAL'), 'index, follow' => JText::_('K2_METADATA_ROBOTS_INDEX_FOLLOW'), 'index, nofollow' => JText::_('K2_METADATA_ROBOTS_INDEX_NOFOLLOW'), 'noindex, follow' => JText::_('K2_METADATA_ROBOTS_NOINDEX_FOLLOW'), 'noindex, nofollow' => JText::_('K2_METADATA_ROBOTS_NOINDEX_NOFOLLOW') ); $lists['metarobots'] = JHTML::_('select.genericlist', $metaRobotsOptions, 'meta[robots]', 'class="inputbox" ', 'value', 'text', $lists['metadata']->get('robots')); // Image $date = JFactory::getDate($item->modified); $timestamp = '?t='.$date->toUnix(); if (JFile::exists(JPATH_SITE.'/media/k2/items/cache/'.md5("Image".$item->id).'_S.jpg')) { $item->thumb = JURI::root().'media/k2/items/cache/'.md5("Image".$item->id).'_S.jpg'.$timestamp; } if (JFile::exists(JPATH_SITE.'/media/k2/items/cache/'.md5("Image".$item->id).'_XL.jpg')) { $item->image = JURI::root().'media/k2/items/cache/'.md5("Image".$item->id).'_XL.jpg'.$timestamp; } // Plugin Events JPluginHelper::importPlugin('k2'); $dispatcher = JDispatcher::getInstance(); $K2PluginsItemContent = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'content' )); $this->assignRef('K2PluginsItemContent', $K2PluginsItemContent); $K2PluginsItemImage = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'image' )); $this->assignRef('K2PluginsItemImage', $K2PluginsItemImage); $K2PluginsItemGallery = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'gallery' )); $this->assignRef('K2PluginsItemGallery', $K2PluginsItemGallery); $K2PluginsItemVideo = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'video' )); $this->assignRef('K2PluginsItemVideo', $K2PluginsItemVideo); $K2PluginsItemExtraFields = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'extra-fields' )); $this->assignRef('K2PluginsItemExtraFields', $K2PluginsItemExtraFields); $K2PluginsItemAttachments = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'attachments' )); $this->assignRef('K2PluginsItemAttachments', $K2PluginsItemAttachments); $K2PluginsItemOther = $dispatcher->trigger('onRenderAdminForm', array( &$item, 'item', 'other' )); $this->assignRef('K2PluginsItemOther', $K2PluginsItemOther); // Parameters if (version_compare(JVERSION, '1.6.0', 'ge')) { jimport('joomla.form.form'); $form = JForm::getInstance('itemForm', JPATH_COMPONENT_ADMINISTRATOR.'/models/item.xml'); $values = array('params' => json_decode($item->params)); $form->bind($values); } else { $form = new JParameter('', JPATH_COMPONENT_ADMINISTRATOR.'/models/item.xml'); $form->loadINI($item->params); } $this->assignRef('form', $form); $nullDate = $db->getNullDate(); $this->assignRef('nullDate', $nullDate); $this->assignRef('extraFields', $extraFields); $this->assignRef('options', $options); $this->assignRef('row', $item); $this->assignRef('lists', $lists); $this->assignRef('params', $params); $this->assignRef('user', $user); (JRequest::getInt('cid')) ? $title = JText::_('K2_EDIT_ITEM') : $title = JText::_('K2_ADD_ITEM'); $this->assignRef('title', $title); $this->assignRef('mainframe', $application); // Disable Joomla menu JRequest::setVar('hidemainmenu', 1); if ($application->isAdmin()) { // Toolbar JToolBarHelper::title($title, 'k2.png'); JToolBarHelper::apply(); JToolBarHelper::save(); $saveNewIcon = version_compare(JVERSION, '2.5.0', 'ge') ? 'save-new.png' : 'save.png'; JToolBarHelper::custom('saveAndNew', $saveNewIcon, 'save_f2.png', 'K2_SAVE_AND_NEW', false); JToolBarHelper::cancel(); // Tabs $this->params->set('showImageTab', true); $this->params->set('showImageGalleryTab', true); $this->params->set('showVideoTab', true); $this->params->set('showExtraFieldsTab', true); $this->params->set('showAttachmentsTab', true); $this->params->set('showK2Plugins', true); } // For SIGPro if (JPluginHelper::isEnabled('k2', 'jw_sigpro')) { $sigPro = true; $sigProFolder = ($this->row->id) ? $this->row->id : uniqid(); $this->assignRef('sigProFolder', $sigProFolder); } else { $sigPro = false; } $this->assignRef('sigPro', $sigPro); parent::display($tpl); } }