1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Генератор XML-файла смайлов для XenForo на Bash

Тема в разделе "Советы, руководства и видео-уроки", создана пользователем KitsuneSolar, 21.09.2015.

Загрузка
Метки:
  1. KitsuneSolar

    KitsuneSolar Местный

    Регистрация:
    13.09.14
    Сообщения:
    81
    Симпатии:
    69
    Версия XF:
    1.0.1
    Привет всем! Предоставляю вашему внимаю скрипт, написанный на Bash, и позволяющий создать XML-файл смайлов для последующего импорта в менеджере смайлов XenForo.

    Запускается скрипт из директории, в которой находятся изображения смайлов. Скрипт сканирует эту директорию и записывает все названия файлов, находящихся в ней. Далее этот список преобразуется в XML-файл.

    На Bash писать особо не умею. Так что прошу сильно не критиковать, но считаю, что для генерации XML для большого числа смайлов - этот скрипт справляется со своей задачей.

    Код:
    #!/bin/bash
    
    # ------------------------------------------------------------------------------
    # XenForo Smilie XML Generator
    # ------------------------------------------------------------------------------
    # @author Kitsune Solar <http://kitsune.solar>
    # @version 1.0.0
    # ------------------------------------------------------------------------------
    
    # ------------------------------------------------------------------------------
    # settings
    # ------------------------------------------------------------------------------
    
    # Имя генерируемого файла
    csiFileGen="01-smilies.xml"
    
    # ID категории смайликов
    csiCatID="1"
    
    # Название категории смайликов
    csiCatTitle="Анимированные (светлые)"
    
    # Порядок отображения категории смайликов
    csiCatDisplayOrder="1"
    
    # Префикс для смайликов
    sciSmPrefix="aiwan_light_"
    
    # Порядок отображения смайликов в категории
    csiSmDisplayOrder="10"
    
    # Включение / отключение отображения смайликов в редакторе
    csiSmDisplayInEditor="1"
    
    # Путь к директории со смайликами
    csiSmImageURL="styles/default/xenforo/smilies/aiwan/light"
    
    # ---------------------------------< script >--------------------------------- #
    
    cat > "${csiFileGen}" <<EOF
    <?xml version="1.0" encoding="utf-8"?>
    <smilies_export>
      <smilie_categories>
        <smilie_category id="${csiCatID}" title="${csiCatTitle}" display_order="${csiCatDisplayOrder}"/>
      </smilie_categories>
      <smilies>
    EOF
    
    for i in *.gif; do cat >> "${csiFileGen}" <<EOF
        <smilie smilie_category_id="${csiCatID}" title="${i%.*}" display_order="${csiSmDisplayOrder}" display_in_editor="${csiSmDisplayInEditor}">
          <image_url>${csiSmImageURL}/${i}</image_url>
          <smilie_text>:${sciSmPrefix}${i%.*}:</smilie_text>
        </smilie>
    EOF
    done
    
    cat >> "${csiFileGen}" <<EOF
      </smilies>
    </smilies_export>
    EOF
    
    exit 0
     
    awant13, Kolya groza morey и Mirovinger нравится это.

Поделиться этой страницей