+398.83
Рейтинг
965.74
Сила

Максим

  • avatar ort
  • 1
Не до конца понял, что именно требуется.
Например, для Entity можно сделать так (чтобы автозагрузка работала без доработок):
1. создать интерфейс в модуле Source /entity/InterfaceParser.entity.class.php
<?php

interface PluginTvh4_ModuleSource_EntityInterfaceParser
{
    public function getPrograms();
}

2. далее уже создать нужное количество конкретных реализаций, например, /entity/ParserSport.entity.class.php
<?php

class PluginTvh4_ModuleSource_EntityParserSport extends Entity implements PluginTvh4_ModuleSource_EntityInterfaceParser
{

}

Если потребуется, то часть с extends Entity можно опустить.
Далее работа с Entity не отличается от обычного использования плагина.
  • avatar ort
  • 0
  • avatar ort
  • 0
При сохранении текст топика обрабатывается парсером, он удаляет все опасные вхождения.
  • avatar ort
  • 0
предполагаю, что в конфиге config.local.php остались прописаны пути от хостинга, нужно поменять на текущие
  • avatar ort
  • 0
В чудеса не верю и вариант
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(\d+)\.html$/i','/^foo$/i','/^$/i','EventShowTopicFoo');
работать обязан
  • avatar ort
  • 0
я же даль ссылку на конкретную строчку, где нужно добавить еще один параметр, который будет блокировать перехват url
  • avatar ort
  • 0
Для варианта сайт.com/blog/topic.html/Event такого не может быть.
А для сайт.com/blog/nameblog/topic.html/Event может, для исправления достаточно здесь github.com/livestreet/livestreet/blob/1.0.3/classes/actions/ActionBlog.class.php#L142 добавить в конец параметр '/^$/i'
  • avatar ort
  • 1
Подскажите, пожалуйста, каким образом можно изменять PAYMENT_CURRENCY_USD на другие значения конфигом?
самый простой способ — посмотреть значения констант валюты и прописать их в явном виде в конфиге (можно попробовать и через указания полной константы модуля, но к этому времени модуль должен быть уже подключен), затем просто указать вызов значения из конфига.

можно ли как-то «выкинуть» переменную $iNumber (в примере используется для продажи различных вариантов бубликов) или же просто поставить на ее место единицу?
ага, использовать любое произвольное значение, можно туда указывать значение time()
  • avatar ort
  • 0
$this->AddEventPreg('/^(\d+)\.html$/i','/^foo$/i','/^$/i','EventShowTopicFoo');
  • avatar ort
  • 0
я не говорю о переносе проекта, достаточно перенести эту таблицу с данными и плагин/модуль для работы с ней по ORM, т.е. именно то, что будет запускать во время теста
  • avatar ort
  • 0
Смысла дебага под 1.0 особо нет, нужно именно под 2.0, именно туда будут вноситься правки. И желательно версию php иметь от >5.4
  • avatar ort
  • 0
Есть возможность тоже самое протестировать на версии с гита (2.0) — github.com/livestreet/livestreet?
  • avatar ort
  • 1
Плагин ведь покупали? У него есть поддержка, туда и обращайтесь.
  • avatar ort
  • 2
Это косяк LS.
Для исправления добавь в свой маппер такой метод:
protected function IsSuccessful($mRes)
    {
        return $mRes === false or is_null($mRes) ? false : true;
    }

И при insert/update/delete в методах маппера возвращай результат так:
public function UpdateCategory(PluginQcategories_ModuleQcategories_EntityQcategories $oCategory) {
		$sql = "UPDATE ".Config::Get('plugin.qcategories.table.qcategories')."
			SET
        category_pid = ?,
			  category_url = ?,
			  category_url_full = ?,
			  category_title = ?,
			  category_text = ?,
        category_sort = ?
			WHERE
        category_id = ?d
		";
	$res=$this->oDb->query($sql,$oCategory->getPid(),$oCategory->getUrl(),$oCategory->getUrlFull(),$oCategory->getTitle(),$oCategory->getText(),$oCategory->getSort(),$oCategory->getId());
        return $this->IsSuccessful($res);
}
  • avatar ort
  • 1
{insert name='block' block='tagsFavouriteQuestion' params=[
            'user' => $oUserProfile,
            'plugin' => 'questions'
        ]}
  • avatar ort
  • 1
Оффтоп: а как Вы код инлайн выводите? ))
ALT + иконка code в редакторе
  • avatar ort
  • 0
нельзя, т.к. для такого запроса нужно знать текущие значения поля enum
  • avatar ort
  • 0
Нужен параметр plugin в params: $aBlock.params.plugin='myplugin'
  • avatar ort
  • 0
там вроде в форме передаются target_type и target_id
  • avatar ort
  • 0
Это ошибка в логике LS из-за того, что в prefix_favourite_tag не выставлено значение по дефолту. Здесь нужно самому реализовать метод addEnumType из модуля Database с фиксом это проблемы.
Вот такой метод должен работать:
public function addEnumType($sTableName,$sFieldName,$sType,$aConfig=null) {
		$sTableName = str_replace('prefix_', Config::Get('db.table.prefix'), $sTableName);
		$sQuery="SHOW COLUMNS FROM  `{$sTableName}`";

		if ($aRows=$this->GetConnect($aConfig)->select($sQuery)) {
			foreach ($aRows as $aRow){
				if ($aRow['Field'] == $sFieldName) break;
			}
			if (strpos($aRow['Type'], "'{$sType}'") === FALSE) {
				$aRow['Type'] =str_ireplace('enum(', "enum('{$sType}',", $aRow['Type']);
				$sQuery="ALTER TABLE `{$sTableName}` MODIFY `{$sFieldName}` ".$aRow['Type'];
				$sQuery.= ($aRow['Null']=='NO') ? ' NOT NULL ' : ' NULL ';
				if ($aRow['Null']=='NO' and is_null($aRow['Default'])) {
					$aRow['Default']='';
				}
				$sQuery.= is_null($aRow['Default']) ? ' DEFAULT NULL ' : " DEFAULT '{$aRow['Default']}' ";
				$this->GetConnect($aConfig)->select($sQuery);
			}
		}
}