+0.90
Рейтинг
2.47
Сила
  • avatar Oziris
  • 0
И еще вопрос.
Как создавать подкатегории (дерево вложенных папок)?
Вот пример www.dokuwiki.org/dokuwiki?do=index
  • avatar it_
  • 0
1)http://learn.iis.net/page.aspx/460/using-url-rewrite-module/ качаем ставим
2)http://learn.iis.net/page.aspx/557/translating-htaccess-content-to-iis-webconfig/
3)пишем свой рул так как путем learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/
импорта работать не будет

4) не забываем про define('SYS_OFFSET_REQUEST_URL',1);
и про права для папока в системе

5) получаем долгожданный web.config


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^arkanar\.org$" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="http://www.arkanar.org/{R:1}" />
    </rule>
    <rule name="Imported Rule 2" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="false" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>
</system.webServer>
</configuration>


И будет счастье!
Ахтунг!
Пользователь расстроен. А расстроен вот почему:

'topic_create_text_error_unique' => 'Вы уже писали топик с таким содержанием'


Я пытаюсь разобраться, почему оное выскакивает, но такого топика (опубликованного) нет! Но в базу много записей от автосохранения черновика. Поможите, пожалуйста, что бы это могло быть?
У меня БД сейчас пестрит черновичками, и у меня два вопроса:
а) черновики так и будут висеть мёртвым грузом до бесконечности?
б) Кроме как через БД никак не вернуться к сохраняемым периодически версиям (как это реализовано в WordPress, где можно перейти к той или иной версии и её восстановить)?
щаз наговорят тебе))

в файле
\www\classes\actions\ActionBlogs.class.php
ищешь
protected $sMenuHeadItemSelect='blog';
blog заменяешь в твоем случае на blogs

и оставляешь код в шаблоне как ты писал:
<li {if $sMenuHeadItemSelect=='blogs'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_BLOGS}/">Блоги</a></li>

  • avatar skachko
  • 1
Будет ли включено автосохранение в версию 0.4? Архиполезная вещь!
Ну попробуйте в doku.php в самый вверх добавить код:

if ($_SERVER['REQUEST_METHOD'] == 'GET' && !$_SERVER['HTTP_REFERER'])
{
	$_SERVER['HTTP_REFERER'] = 'http://' . $_SERVER['HTTP_HOST'] .'/wiki/';
}
  • avatar ort
  • 1
не нужно так делать
надо определить HTTP_REFERAL внутри файла авторизации wiki
Надо в движке LS поправить.

Файл:
classes/modules/sys_security/Security.class.php

отключить проверку http_refferer

public function ValidateSendForm() {
		if (!($this->ValidateReferal() && 1)) {
			die("Hacking attemp!");
		}
	}


Заменить на:
public function ValidateSendForm() {
		if (!($this->ValidateReferal() && false)) {
			die("Hacking attemp!");
		}
	}
На данный момент, вся логика, связанная с контролем доступа вынесена в класс ACL (classes/acl/ACL.class.php)
Там есть функция

public function CanAddTopic(UserEntity_User $oUser, BlogEntity_Blog $oBlog){
		/**
		 * Если юзер является создателем блога то разрешаем ему постить
		 */
		if ($oUser->getId()==$oBlog->getOwnerId()) {
			return true;
		}
		/**
		 * Если рейтинг юзера больше либо равен порогу постинга в блоге то разрешаем постинг
		 */
		if ($oUser->getRating()>=$oBlog->getLimitRatingTopic()) {
			return true;
		}
		return false;
	}

В этой функции и заложена логика предоставления прав пользователям.
По-хорошему, вся проверка должна проводиться тут.
В стандартном шаблоне header_top.tpl есть такой код:
{if $menu}
  {include file=menu.$menu.tpl}
{/if}
Т.е. надо, чтобы смарти-переменная $menu приняла нужное значение. Делается это двумя способами.

1. Задаем переменную в обработчике экшена:
$this->Viewer_Assign('menu', 'admin');
Ясень пень, шаблон header_top.tpl должен где-то как-то подгружаться при выводе страницы.

2. Задаем перемнную непосредственно при вызове шаблна header_top.tpl:
{include file='header_top.tpl' menu='admin'}

В обоих случаях будет цепляться шаблон меню menu.admin.tpl
Модуль нужный, но в данном случая, высказываюсь именно за высокую цену модуля. Дабы каждый желающий не плодил ГС.

vist, посмотрите на модуль feedmaster для вордпресса. В нем реализовано очень много идей.
  • avatar ort
  • 1
Router::GetAction()
  • avatar Intro
  • 0
Элемент $math[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $math[1] — часть строки, соответствующую первой подмаске, и так далее.
вполне возможно что таких тегов будет несколько

в таком случае лучше использовать preg_match_all — тогда найдёшь всё!
а результаты будут в аналогичном виде:
$math[0][0],$math[0][1],… — будет содержать часть строки, соответствующую вхождению всего шаблона
$math[1][0],$math[1][1],… — часть строки, соответствующую первой подмаске, и так далее.
надеюсь всё понятно объясняю.
  • avatar igrok
  • 0
пардон — тыц
там когда обычный топик создаем… ну вообщем посмотрите сами.
Получается на выхоже так — smotra.ru/blog/pokraska-reshetki-radiatora/
Те.е сначало идет пост, потом абзац и идет Фотогалерея. Удобно и понятно.

Могу предложить сделать добавления фото как у них. т.е. в обычном топике, но выводить как на турометре, слайдшоу. это и планировалось в модуле галерея
самый лучший вариант как по мне так это turometr.ru/user/Lawliet/blog/522.html
вот это поможет
$sText = preg_replace('/<video>http:\/\/(?:www\.|)vimeo\.com\/([0-9]+)<\/video>/Ui', '<object width="640 height="360"><param name="wmode" value="opaque"></param><param name="allowfullscreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=$1&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1"></param><embed src="http://vimeo.com/moogaloop.swf?clip_id=$1&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed></embed></object>', $sText);
  • avatar gans
  • 1
так а Вам сильно такая проверка нужна?
а что если вообще тело функции заменить на return true?
  • avatar gans
  • 1
Вообщем, проверка в файле classes\modules\sys_security\Security.class.php не все учитывает:
if (isset($_SERVER['HTTP_REFERER'])) {
$aUrl=parse_url($_SERVER['HTTP_REFERER']);
if ($aUrl['host']==$_SERVER['HTTP_HOST']) {
return true;
}elseif (preg_match("/\.".quotemeta($_SERVER['HTTP_HOST'])."$/i",$aUrl['host'])){return true;}
}
parse_url разбивает запись host.xxx:8080 на две и сравнение происходит неверно.
я заменил $aUrl['host']==$_SERVER['HTTP_HOST'] на $aUrl['host'].(isset($aUrl['port'])?":".$aUrl['port']:"")==$_SERVER['HTTP_HOST']
заработало(denwer)
  • avatar stasm
  • 0
www.codeplex.com/IIRF — прекрасно работает с регулярками