Перейти к содержимому


Mkportal разработка


Сообщений в теме: 22

#1 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 05 March 2009 - 23:04

Вот такой созрел вопрос.
Собираюсь писать модуль погоды для своего портала, но т.к портал локальный, то с определенными характеристиками.
Есть определенного вида данные (например, на гисметео). Планирую написать скрипт, который будет грабить эти данные с гисметео и заносить в базу награбленную информацию.
Скрипт будет запускаться через cron каждые n часов.
Вопрос.
Как написать скрипт, который сможет использовать БД портала/форума, но при этом не может быть выполнен гостем/модером/юзером/админом, зашедшим на портал?

Пока есть вот какая идея:
написать скрипт через стандартную админку, но не вывешивать его на сайте и отобрать права на запуск/запись/чтение у всех, кроме root. Крон то работает под рутом, он выполнить сможет.
Но это возможно если скрипты физически сохраняются... А пока я не могу найти место их сохранения.

#2 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 05 March 2009 - 23:38

Не совсем понял суть. Но я бы наверно поступил так написав скрип под крон отдельный от портала, который будет писать в БД данные ну а на портале уже выводить из БД стандартно.

#3 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 06 March 2009 - 00:42

Да, но проблема в том, что если писать как вы предлагаете, то надо будет описывать в этом скрипте параметры для доступа к серверу БД, в т.ч пароль. А я как раз этого хочу избежать.

#4 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 06 March 2009 - 00:56

IRON, А что в этом такого всего пару строк для подключения к БД
Можно конечно пойти по аналогии создания модуля но зачем всё усложноять

#5 baragoon

baragoon

    Активный участник

  • Пользователи
  • PipPipPip
  • 53 сообщений
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.1

Отправлено 06 March 2009 - 01:03

IRON, а в чём проблема то? создай php скрипт, но не вывешивай его в web, в кроне пропиши /usr/local/bin/php /path_to_script/script.php (пути соответственно могут отличаться в зависимости от дистриба), а прописать в скрипте, который никто кроме рута не сможет даже прочитать, пароль, логин и имя базы по-моему вполне безопасно.

#6 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 06 March 2009 - 01:13

 baragoon (6.3.2009, 0:03) писал:

IRON, а в чём проблема то? создай php скрипт, но не вывешивай его в web, в кроне пропиши /usr/local/bin/php /path_to_script/script.php (пути соответственно могут отличаться в зависимости от дистриба), а прописать в скрипте, который никто кроме рута не сможет даже прочитать, пароль, логин и имя базы по-моему вполне безопасно.
точно :) Извиняюсь, что-то не догадался сразу что скрипт то можно положить не в веб ;)
В принципе да, согласен.

#7 baragoon

baragoon

    Активный участник

  • Пользователи
  • PipPipPip
  • 53 сообщений
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.1

Отправлено 06 March 2009 - 01:22

а внутри портала используй переменные последнего и дело в шляпе :)

#8 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 18 April 2009 - 19:18

Немного АПну тему...
Теперь есть вот какой вопрос.
Задача-сделать так, чтобы пользователи могли вводить определенные данные в блок, а я мог через админку урпавлять этиими данными-например, одни разрешить а другие запретить.
С введением данных все ясно-юзеры вводят, все попадает в базу, все довольны. А как быть с админкой? Как добавить себе пункт меню в админке?

#9 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 18 April 2009 - 19:53

 IRON (18.4.2009, 19:18) писал:

Немного АПну тему...
Теперь есть вот какой вопрос.
Задача-сделать так, чтобы пользователи могли вводить определенные данные в блок, а я мог через админку урпавлять этиими данными-например, одни разрешить а другие запретить.
С введением данных все ясно-юзеры вводят, все попадает в базу, все довольны. А как быть с админкой? Как добавить себе пункт меню в админке?
Очень сложно понять что именно вы спросили т.к точной задачи не вижу.
В админке добавить пункт
В директории admin создаете php файл например ad_myscript.php в этом фале пишите ваши функции управления таблицами или ещё чем, по принципу других файлов в этой директории
далее окрываете файл ad_menu.php там находите
<tr><td width=\"100%\" class=\"tdblock\">$mod_quote&nbsp;<a class=\"uno\" href=\"index.php?ind=ad_quote\">{$this->lang['ad_quote']}</a></td></tr>
добавляете ниже или выше не важно
<tr><td width=\"100%\" class=\"tdblock\"><a class=\"uno\" href=\"index.php?ind=ad_myscript\">Моя ссылка</a></td></tr>

После этого открываете файл admin/index.php
находим
'ad_review'	   =>   "ad_review",
добавляем ниже
'ad_myscript'       =>   "ad_myscript",
всё вроде

#10 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 18 April 2009 - 20:12

Собственно именно это мне и нужно было, спасибо.

Вот еще вопрос.
Скрипт, который пытась впихать в мкпортал:
<? 
INSERT INTO my_resources (id, type, name, descr)
VALUES (1, 'DC++', 'Official', 'The best');
Echo 'Added!';
?>
Не работает. Просто ничего не выдает. При этом в таблице след. поля:
`id`, `type`, `name`, `descr`, `online`, `adress`, `approved` FROM `mkp_my_resources`

Где ошибка?
P.S: только учусь :huh:

#11 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 18 April 2009 - 23:29

Если смотреть на вскидку то первая ошибка это название таблицы в запросе INSERT INTO my_resources  когда ниже у вас написано название таблицы mkp_my_resources то есть не хватает mkp_

#12 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 19 April 2009 - 10:25

Пофиксил. Ничего не поменялось.
<? 
INSERT INTO mkp_my_resources
VALUES (1, `DC++`,`Official`, `The best`);
Echo 'Added!';
?>
Самое обидное-зараза ни ошибок, ничего не выдает.
Таблицу создавал через пхпмайадмин, все что сделал-назначил тип полей и на все модификатор null.

#13 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 19 April 2009 - 11:51

  $DB->query("INSERT INTO mkp_my_resources (id, type, name, descr) VALUES ('1', 'DC++', 'Official', 'The best')");
Так попробуйте но такой вариант выполнится только в портале и если в функции прописано
global  $DB

#14 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 19 April 2009 - 12:33

Спасибо. Другое дело, все работает.

#15 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 20 April 2009 - 17:40

Еще одна проблема с которой столкнулся:
Если писать например в пхп коде
Echo 'Йа скриптег из портала' То будет выведено на самом верху, выше шапки и прочего.
А как выводить в страничке?

#16 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 20 April 2009 - 19:12

Ну по аналогии с другими модулями вот например для вывода на экран в портале в модуль или функцию модуля вставляем

$blocks .= $Skin->view_block("Название страницы", $output);
$mklib->printpage("1", "1", тайтл страницы, $blocks);

в коде видно что на экран выводит данные переменная $output
$blocks .= $Skin->view_block("Название страницы", $output);

То есть что бы что то вывести это нужно взять в эту переменную
например $output .="Тест вывода на экран";
И echo меняем на $output .=
Можно использовать конечно другую переменную но весь портал написан именно через $output так что её и используем

#17 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 20 April 2009 - 21:15

Близко, но...
$output .="Тест вывода на экран";
не выводит ничего.
$output ="Тест вывода на экран";
тоже ничего
$output ='Тест вывода на экран';
тоже ничего
$output =echo 'Тест вывода на экран';
тоже ничего

#18 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 20 April 2009 - 22:23

Любой из вариантов кроме последнего должен работать выкладывайте код вашей страницы разберёмся

#19 IRON

IRON

    Активный участник

  • Пользователи
  • PipPipPip
  • 88 сообщений
  • Форум:PHPBB3
  • Версия MKP:C1.2 RC2

Отправлено 20 April 2009 - 23:10

<?
$output .="Тест вывода на экран";
?>
пишу вот это в правке страницы, сохраняю, перехожу по ссылке с айди страницы для ее выполнения и получаю пустую страницу с надписью наверху "Заголовок".
P.S: не так давно химичил с chmod, может с ним что?

#20 DNP

DNP

    Активный участник

  • Администраторы
  • PipPipPip
  • 2561 сообщений
  • Пол:Мужчина
  • Город:RUS
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 20 April 2009 - 23:21

Серавно не чего не понял
вот простейший пример страницы для админки модуля
<?php

if (!defined("IN_MKP")) {
	die ("Sorry !! You cannot access this file directly.");
}



	
	$output .= "
		ghfghfghfgh
	";
	
	$output = $Skin->view_block("Название", "$output");
	$mklib->printpage_admin("Название", $output);
	


?>

а так же http://www.rusmkport...zdaniesoobmpdul



Ответить



  


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных