Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
23 июня 2015, 16:59
0
$options['freemax'] — правильное написание.
$options[freemax] — неправильное, вызывает E_NOTICE в логе.

Основы синтаксиса PHP нужно знать.

По хорошему, перед обращением нужно бы и isset($options['freemax']) проверять — именно обращение к несуществующему элементу массива и вызывает твой E_WARNING.
Василий Наумкин
23 июня 2015, 10:18
+1
Скорее
$(document).on('mse2_load', function() {
	//повторная инициализация masonry.js тут	
});
Василий Наумкин
23 июня 2015, 08:43
0
Ставь обратно старую версию pdoTools.
Василий Наумкин
23 июня 2015, 07:54
0
По идее, будет ложиться снова при любом использовании pdoTools, ибо на PHP 5.2 выходит ошибка синтаксиса из-за namespaces.

Ну и вообще, использовать PHP 5.2, последняя версия которого вышла аж в 2011 году — очень консервативно.

Хостинги, которые ставят 5.2 по умолчанию я понять не могу. Такое ощущение, что как настроили свои скрипты установки, так и не трогают годами.
Василий Наумкин
23 июня 2015, 06:43
0
Да её, наверное, и на bash можно решить, но я написал на Python.

Напиши на PHP этот небольшой скрипт, сравним.
Василий Наумкин
23 июня 2015, 05:54
1
+1
На bash я такое написать не смогу, но сделал на Python:
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
import os
import re


def rename(file_path):
    global duplicate
    base_path = os.path.dirname(os.path.realpath(file_path))
    filename = os.path.basename(file_path)
    extension = os.path.splitext(filename)[1]

    new_filename = re.sub(r'[^0-9\_\-]', '', filename)
    new_filepath = base_path + '/' + new_filename + extension
    if new_filepath == file_path:
        print(new_filename + extension)
        return

    while os.path.isfile(new_filepath):
        tmp_filename = os.path.basename(new_filepath)
        tmp_basename = os.path.splitext(tmp_filename)[0]
        idx = 1
        match = re.search(r'.*?\-(\d+)$', tmp_basename)
        if match:
            idx = int(match.group(1)) + 1
            new_filename = re.sub(r'\-(\d+)$', '-' + str(idx), tmp_basename)
        else:
            new_filename += '-' + str(idx)
        new_filepath = base_path + '/' + new_filename + extension
    try:
        os.rename(file_path, new_filepath)
        print("{0} => {1}".format(filename, new_filename + extension))
    except Exception as e:
        print(e)


if __name__ == "__main__":
    if len(sys.argv) < 2:
        exit("Нужно указать имя файла или директории")
    path = os.path.realpath(sys.argv[1].strip())

    if os.path.isdir(path):
        files = os.listdir(path)
        for file in files:
            rename(path + '/' + file)
    elif os.path.isfile(path):
        rename(path)

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

Скрипт переименует все файлы так, что останутся только символы 0-9- и _.

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

Благодарность можно перечислять вот здесь.

Скрипт поставляется «как есть» — вы используете его на свой страх и риск. Претензии по работе скрипта не принимаются.
Василий Наумкин
23 июня 2015, 04:55
0
Ну и где оплата?
Василий Наумкин
23 июня 2015, 03:49
0
pdoTools 2.0 требует PHP 5.3+.

Если видишь белый экран, значит, у тебя 5.2-. Или обнови PHP (если хостинг разрешает) или установи старый pdoTools без шаблонизатора.
Василий Наумкин
22 июня 2015, 19:20
+6
Для чего нужно дома убираться? Только для чистоты?
Василий Наумкин
22 июня 2015, 17:32
0
Да, у mFilter2 свой собственный jQuery. Я его переписываю, в свободное время. Подумываю еще и свой новый браузер сделать, чтобы уж совсем всё было круто.

Шутка.

Если компонент был куплен — задавай вопрос нормально в техподдержке. Если нет, учись сам правильно подключать javascript и разбираться с его ошибками.
Василий Наумкин
22 июня 2015, 17:30
+1
Так и будет, если сохранять в черновики.

Одну кнопку убрать, другую переименовать — вопрос задать дольше выходит.
Василий Наумкин
22 июня 2015, 16:22
+1
По умолчанию в форме 3 кнопки: предпросмотр, публиковать, и сохранить в черновики.

Можно убрать ненужное.
Василий Наумкин
22 июня 2015, 16:19
0
Потому что до версии 1.2.2 jQuery подключался автоматически. Но покупатели сетовали на лишний код в странице и на то, что jQuery уже и так есть на большинстве сайтов, поэтому я его убрал.

Об этом есть запись в changelog.

Так что, включи jQuery.
Василий Наумкин
22 июня 2015, 15:17
0
$ is not defined — говорит, что не включено.

Какой смысл утверждать, что подключено, если твой браузер сам тебе говорит обратное? Нет такой переменной, ищи. Может, где то указан jQuery.noConflict().

Василий Наумкин
22 июня 2015, 15:08
0
Обожемой, подключи jQuery.
Василий Наумкин
22 июня 2015, 15:07
0
Краудфандинг времени? Было бы круто, но вряд ли получится.
Василий Наумкин
22 июня 2015, 14:04
+3
А, ясно.

Я уже думаю написать отдельный компонент для импорта\экспорта MS2, но всё времени не хватает.