Чтение RSS каналов

Форум

Открыть Ответить

SLAED CMS 6.2 Pro - Проблемы и решения

41
03.06.2017 16:27:1103.06.2017 16:53:03
с textarea не проверял, но больше чем уверен что у меня там всегда аргумент "1", проверю поправлю.

по поводу префикса (с конкретикой):

свой модуль "asset", - управление активами(оборудованием) компании, тянет данные из разных промышленных систем типа SAP HR, SAP ERP и т.д.
и вот этих всяких табличек (а там еще таблички со справочниками дополнительными ) их там уже столько... как следовских, и вот я эти два больших набора табличек префиксом разделяю для удобства нахождения и бекапов.
slaed.s6_blocks (стандартная следовская с префиксов s6) и slaed.assets_sklad (табличка модуля с префиксом assets)

теперь что получается в коде:
за основу берем например из модуля новостей function news_list() - нужен аналогичный вывод списка...
код....
...
$result = $db->sql_query("SELECT id, grmat, nn, name, factory FROM assets_sklad ".$order." ORDER BY factory, sklad, name LIMIT ".$offset.", ".$listnum);
	if ($db->sql_numrows($result) > 0) {
while(list($id, $grmat, $nn, $name) = $db->sql_fetchrow($result)) {
   .......
   .......
   }
}
echo $cont;

и тут вообще не каких проблем, я использую стандартный функционал и указываю FROM assets_sklad - нужный префикс в запросе.

но на выходе я получаю список из 7000!!! строк... логично что я хочу разбить вывод на страницы скажем по 100.
и для этого я беру функцию num_article()
и вот тут то и кроется вся ***опа
num_article("pagenum", "assets", $listnum, $field, "id", "_sklad", "", $ordernum, 10);

передать я могу ТОЛЬКО имя таблички БЕЗ ПРЕФИКСА _sklad , а эта мерзость конечно в запросе допишет s6 потому что кто то там (кто бы это мог быть?) жестко прописал переменю $prefix.
и конечно функция не чего не выведет, т.к. обращается к не существующей табличке.

а вот по уму в функцию нужно было сразу добавлять еще один аргумент для передачи своего префикса функции, и делать проверку на стороне выполнения этой функции пустой ли этот аргумент,

да конечно есть уйма способов мне это поправить в этой функции... но ведь там везде так, все ядро состоит из функций с жестко прописной в запросе $prefix, хотелось бы что бы это было переосмыслено, например что бы $prefix был (мог быть) массивом префиксов, а в функциях была возможность передать id префикса, и если аргумент "пуст" берем $prefix[0] - системный, заданный при инсталляции....

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
42
03.06.2017 21:27:45
Спасибо, теперь всё прояснилось. Хотелось бы заметить что случай весьма специфический, можно даже сказать уникальный, подобный функционал нужен явно не каждому.

В любом случае я постараюсь учесть ваше пожелание.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
43
04.06.2017 13:36:1704.06.2017 13:57:43

Ещё раз наглядно:

Если на странице две Textarea, то нужно использовать разные идентификаторы.

Пример:

Первая: textarea("1", "hometext", $hometext, "news", "5")
Вторая: textarea("2", "bodytext", $bodytext, "news", "15")



ну вот сами вводите в заблуждение, с энного раза разобрался, принципиально не "разные идентификаторы", а последовательные. скажем если на стр. textarea id=1 и textarea id=3 то "3" уже работать не будет.

получается тут лучше использовать $i++ , и не парится с подсчетом сколько их на стр.

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
44
04.06.2017 18:11:5804.06.2017 18:24:45

Обратите внимание, что для многих редакторов следует указывать уникальный идентификатор в случае использования двух и более полей форм ввода.

Было указано ранее, в посте от 01.06.2017 21:58:41

мама, мама, я накодил

Думаю что вам изначально следует более внимательно читать то что вам пишут Смайл - 13 Тогда не придётся "плакаться" маме...

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
45
05.06.2017 18:02:0805.06.2017 18:06:12
Флуд, но все же:

условие
Первая: textarea("1", "hometext", $hometext, "news", "5")
Вторая: textarea("3", "bodytext", $bodytext, "news", "15")

на 100% соответствует вашему высказыванию:

Обратите внимание, что для многих редакторов следует указывать уникальный идентификатор в случае использования двух и более полей форм ввода.


они уникальны,
и второму вашему высказыванию:

Если на странице две Textarea, то нужно использовать разные идентификаторы.


они разные.

Однако так работать не будет!

только так:
Первая: textarea("1", "hometext", $hometext, "news", "5")
Вторая: textarea("2", "bodytext", $bodytext, "news", "15")
Они должны идти последовательно (1,2,3,4....)

так что в конкретно данном случае это относится к Вам:

Думаю что вам изначально следует более внимательно читать то что вам пишут Тогда не придётся "плакаться" маме...



P.C.
• При наличии идентичного идентификатор у всех textarea будет работать только первая и некоторые редакторы отрисуются только в первом textarea.
• При наличии уникальных НО не последовательных - отрисуются но НЕ будут работать кнопки (через окно разработки хрома можно наблюдать ошибку скрипта).
• А вот при последовательных идентификаторах - отрисовываются и работают все textarea
Смайл - 02

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
46
05.06.2017 18:15:00
После 1 идёт 2, и только после 2 идёт 3. Думал что это логично, тем более для человека работающего с кодом...

P.S.:Учитывая опыт работы на проекте начиная с 2005 года, меня уже мало что удивляет. Но вам это, как не странно, удалось Смайл - 13

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
47
07.06.2017 16:35:04

1. поставил SLAED 6.2 на xampp (локальный), в админке "Загрузки и шаблоны" при попытке загрузить "файл с компьютера" файл не копируется, пробовал даже на самых маленьких картинках которые точно удовлетворяют условия, аля / jpg / 100х100 / 8,00 КБ при этом если "копировать по ссылке" скажем положить этот же файлик в любую потдиректорию сайта и указать к нему путь в виде урла то файлик скопируется в нужную директорию например в /uploads/all, удаление тоже работает, проблема только с загрузкой через указание файла на компе.



Долго искал альтернативу и наконец нашёл оптимальное решение. После чего полностью перешёл на Open Server в виду его более точной имитации реального сетевого сервера.



Эдуард, последовал вашему совету, скачал Open Serve, настройки по умолчанию (выбрал apache-PHP-7-х64 и PHP-7.1-x64), поставил slaed 6.2.
так сказать все из коробки, а лыжи не едут....
какие еще обряды и таинства (а если необходимо то и бубен у меня есть) мне необходимо совершить, что-бы вопрос из разряда:

Скорей всего ....... Ничего более конкретного сказать не могу

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


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 7
Сервер: Локальный сервер

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
48
07.06.2017 22:40:4407.06.2017 22:44:54
shadow, в основном файле index.php
Попробуйте удалить участок кода:
$fdsize = isset($_FILES['Filedata']['size']) ? $_FILES['Filedata']['size'] : '';
	if (!intval($fdsize) && !stristr(getenv('HTTP_REFERER'), get_host())) die('Illegal file access');


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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
49
09.06.2017 12:19:2709.06.2017 12:21:36

Попробуйте удалить участок кода:


не помогло, что характерно при попытке загрузки (даже из коробки) страница на долго задумывается и в результате в ошибку не отваливается но и файл не загружает.

я не знаю что там на мудрено, в function uploads(). на проверке размера захлебывается или проверке прав папки(что вероятно),
но собрал по учебнику функцию для проверки:

$dir="uploads/assets/";
$uploadfile = $dir.basename($_FILES['userfile']['name']);
	$cont .= tpl_eval("open");
	$cont .= "<form enctype=\"multipart/form-data\" action=\"index.php?name=".$conf['name']."&t=".time()."\" method=\"post\"><table class=\"sl_table_form\">"
	."<tr><td>"._FILE_USER.":</td><td><input type=\"file\" name=\"userfile\" class=\"sl_form\" required></td></tr>"
	."<tr><td colspan=\"2\" class=\"sl_center\"><input type=\"hidden\" name=\"op\" value=\"test3\"><input type=\"hidden\" name=\"dir\" value=\"".$dir."\"><input type=\"submit\" value=\""._EXECUTE."\" class=\"sl_but_blue\"></td></tr></table></form>";
	$cont .= tpl_eval("close", "");

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Файл корректен и был успешно загружен.\n";
} else {
    echo "Возможная атака с помощью файловой загрузки!\n";
}
print_r($_FILES);


все прекрасно загружается на сервер.


Сервер: Локальный сервер

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
3

3
50
09.06.2017 17:45:4809.06.2017 17:53:36
Проверять тип файла необходимо. Поэтому данный метод не подойдёт для работы на сервере в сети, если конечно не хотите что бы вам загрузили вредоносный файл/скрипт.

Файл ядра: function/function.php
Функция загрузки файлов: upload()
Функция проверки типа файла: check_file()
Функция проверки размера файла: check_size()

Для отслеживания ошибок рекомендую в конфигурациях безопасности активировать:

Показывать сообщения об ошибках? - Да
Показывать сообщения об JavaScripts ошибках? - Да

Для отслеживания системной информации и запросов, в основных конфигурациях:

Активация расширений отладки - Все
Для выбора двух и более вариантов удерживайте клавишу «Ctrl или Strg».

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь