Помогите разобрать скрипт скрытого контента

manaz
На сайте с 13.12.2013
Offline
61
883

Добрый день, столкнулся с тем что нужно адаптировать скрипт скрытого контента с версии джумла 1.5 под 3 версию.

Не пойму почему он не хочет работать под новую версию CMS

Сам скрипт

<?php // no direct access

defined('_JEXEC') or die('Restricted access');
//print_r($this->params->get('payment_amount'));
//print_r($this->params->get('add_access'));
function getDataPaymentIds($article_text){
preg_match_all('%data-payment="(\d)+"%i',$article_text,$matches);
$result = '';
if(!empty($matches[0])){
$res_arr = array();
foreach($matches[0] as $v){
$res_arr[] = substr($v,14,strlen($v)-strlen('data-payment=""'));
}
$result = base64_encode(serialize($res_arr));
}
return $result;
}
function checkPaymentDate($hash){
$db =& JFactory::getDBO();
$query = "SELECT * FROM #__payforcontent WHERE hashtologin='".$hash."'";
$db->setQuery( $query );
$result = $db->loadObject();

if(!empty($result)){
$time_expired = strtotime($result->datetime)+60*60*24*$result->timelimit;
$now = time();
if($time_expired>$now){
return true;
}
}
return false;
}

if($this->params->get('add_access')=='1'){
$canRead = isset($_COOKIE['id_'.$this->article->id]);
if($canRead){
$canRead = checkPaymentDate($_COOKIE['id_'.$this->article->id]);
}
if(!$canRead){
$pos = strpos($this->article->text,'<hr id="payment-readmore" />');
if($pos>0){
$text = substr($this->article->text,0,$pos);
$dataPaymentPos = strpos($this->article->text,'data-payment="');
$datapaymentids = '';
if($dataPaymentPos>0){
$datapaymentids = getDataPaymentIds($this->article->text);
}
// action="/component/user/payforcontent"
$text.= '';
$this->article->text = $text;
}else{
$source_pos = strpos($this->article->text,'data-source="this"');
if($source_pos>0){
$dom = new DOMDocument;
@$dom->loadHTML($this->article->text);
foreach ($dom->getElementsByTagName('a') as $tag) {
if($tag->getAttribute('data-source')!=''){
$url = $tag->getAttribute('href');
JController::setRedirect($url);
JController::redirect();
}
}
}else{
$this->article->text = '';
}
}
}
}
$canEdit = ($this->user->authorise('com_content', 'edit', 'content', 'all') || $this->user->authorise('com_content', 'edit', 'content', 'own'));
?>
<?php if ($this->params->get('show_page_title', 1) && $this->params->get('page_title') != $this->article->title) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>
<?php if ($canEdit || $this->params->get('show_title') || $this->params->get('show_pdf_icon') || $this->params->get('show_print_icon') || $this->params->get('show_email_icon')) : ?>
<table class="contentpaneopen<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<tr>
<?php if ($this->params->get('show_title')) : ?>
<td class="contentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>" width="100%">
<?php if ($this->params->get('link_titles') && $this->article->readmore_link != '') : ?>
<a href="<?php echo $this->article->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php echo $this->escape($this->article->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->article->title); ?>
<?php endif; ?>
</td>
<?php endif; ?>
<?php if (!$this->print) : ?>
<?php if ($this->params->get('show_pdf_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.pdf', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>

<?php if ( $this->params->get( 'show_print_icon' )) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.print_popup', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('show_email_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.email', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php if ($canEdit) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.edit', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
<?php else : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.print_screen', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
</tr>
</table>
<?php endif; ?>

<?php if (!$this->params->get('show_intro')) :
echo $this->article->event->afterDisplayTitle;
endif; ?>
<?php echo $this->article->event->beforeDisplayContent; ?>
<table class="contentpaneopen<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
<?php if (($this->params->get('show_section') && $this->article->sectionid) || ($this->params->get('show_category') && $this->article->catid)) : ?>
<tr>
<td>
<?php if ($this->params->get('show_section') && $this->article->sectionid && isset($this->article->section)) : ?>
<span>
<?php if ($this->params->get('link_section')) : ?>
<?php echo '<a href="'.JRoute::_(ContentHelperRoute::getSectionRoute($this->article->sectionid)).'">'; ?>
<?php endif; ?>
<?php echo $this->escape($this->article->section); ?>
<?php if ($this->params->get('link_section')) : ?>
<?php echo '</a>'; ?>
<?php endif; ?>
<?php if ($this->params->get('show_category')) : ?>
<?php echo ' - '; ?>
<?php endif; ?>
</span>
<?php endif; ?>
<?php if ($this->params->get('show_category') && $this->article->catid) : ?>
<span>
<?php if ($this->params->get('link_category')) : ?>
<?php echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->article->catslug, $this->article->sectionid)).'">'; ?>
<?php endif; ?>
<?php echo $this->escape($this->article->category); ?>
<?php if ($this->params->get('link_category')) : ?>
<?php echo '</a>'; ?>
<?php endif; ?>
</span>
<?php endif; ?>
</td>
</tr>
<?php endif; ?>
<?php if (($this->params->get('show_author')) && ($this->article->author != "")) : ?>
<tr>
<td valign="top">
<span class="small">
<?php JText::printf( 'Written by', ($this->escape($this->article->created_by_alias) ? $this->escape($this->article->created_by_alias) : $this->escape($this->article->author)) ); ?>
</span>
&nbsp;&nbsp;
</td>
</tr>
<?php endif; ?>

<?php if ($this->params->get('show_create_date')) : ?>
<tr>
<td valign="top" class="createdate">
<?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')) ?>
</td>
</tr>
<?php endif; ?>

<?php if ($this->params->get('show_url') && $this->article->urls) : ?>
<tr>
<td valign="top">
<a href="http://<?php echo $this->article->urls ; ?>" target="_blank">
<?php echo $this->escape($this->article->urls); ?></a>
</td>
</tr>
<?php endif; ?>

<tr>
<td valign="top">
<?php if (isset ($this->article->toc)) : ?>
<?php echo $this->article->toc; ?>
<?php endif; ?>
<?php echo $this->item->text;?>
</td>
</tr>

<?php if ( intval($this->article->modified) !=0 && $this->params->get('show_modify_date')) : ?>
<tr>
<td class="modifydate">
<?php echo JText::sprintf('LAST_UPDATED2', JHTML::_('date', $this->article->modified, JText::_('DATE_FORMAT_LC2'))); ?>
</td>
</tr>
<?php endif; ?>
</table>
<span class="article_separator">&nbsp;</span>
<?php echo $this->article->event->afterDisplayContent; ?>

Скрипт скрывает контент от того места где вставлен в материале <hr id="payment-readmore" />

Посмотрите пожалуйста спецы, Что не так в скрипте...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий