Пропустить контент

Функции, методы классов для разработки новых плагинов и тем

javascript
SMC_Post
адмика
графические утилиты
игроки
Локации
отладочные
условные
утилиты
функционал
элементы интерфейса

javascript

__ -1Переводит указанную строку в текущей локали посредством передачи словаря с сервера.

distination plugin

_add_content_klapan_3 globalОткрывает левый клапан на Главной Панели мета-игры и загружает в него указанный контент. Это происходит каждый раз, когда Игрок кликает на какой-либо объект на карте (Локация, Производство, Маршрут etc.). ermak_front.js

distination plugin ermak_front.js

a_alert globalОткрывает модальное диалоговое окно и загружает в него текстовое содержимое, указанное в аргументе. Окно не браузерное (которое всплывает по команде alert), а загруженное в DOM. ermak_front.js

Команда выведет плавающее модальное окно серого цвета и шириной 300 пикселей, содержащее сообщение "Hallo, world!".

a_alert("Hallo, world!", "alert", "modal window", "background-color:grey;width:300px;", "Modal window");

distination plugin ermak_front.js

a_alert_div globalВыводит в DOM модальное окно, содержащее div с id, указанным в аргументе ermak_front.js

Указанный код выведет в модальное окно сообщение "Hallo, world!".

jQuery(function($)
{
   $("body").append("<div id='foo'>Hallo, world!</div>");
   a_alert_div("foo");
});

distination plugin ermak_front.js

add_ermak_message globalдобавляет сообщение в строку сообщений Главной панели мета-игры ermak_front.js

Этот код поместите в блок

jQuery( document ).ready(function( $ ) {}
. Тогда после полной загрузки первой страницы сайта в низу-слева Главной панели появится надпись "Hallo, world!".

add_ermak_message("Hallo, world!");

distination plugin ermak_front.js

add_select globalПрисоединяет метку к объекту, который Игрок выделил на Карте. ermak_front.js

distination plugin ermak_front.js

batch_card_resize -1Форматирует карточку партии товара в соответствии с размерами родительского контейнера. Рекомендуем запускать эту процедуру всякий раз, когда у вас изменяются размеры div-контейнера, содержащего карточки партий товара.

function batch_card_resize()
	{
		$('.smp-batch-card').each( function( n, elem )
		{
			var ww		= $(elem).parent().width() - 5;
			$(elem).css({"width":"100%"});
			//$(elem).width( ww );
			$(elem).children().children(".lp-batch-table").width( ww - 100 );
			$(elem).children().children().children().children().children(".lp-batch-col2").width(ww-200);
		});
		
			
	}

distination plugin

clear_muar -1Удаляет с экрана чёрный муар ожидания.

distination plugin

clear_select -1Функция удаляет метку текущего выделенного Игроком объекта на игровой карте.

distination plugin

close_klapan_2 -1Закрывает клапан контекстного контента в правой части Главной Панели Вашего проекта. Обычно в этот клапан загружается панели содержимого и управления объектом, который выбрал/кликнул Игрок на карте.

distination plugin

close_modal globalЗакрывает все модальные диалоги, запущенные посредством функций a_alert и a_alert_div. ermak_front.js

distination plugin ermak_front.js

disableScrolling globalудаляет полосу прокрутки со страницы. ermak_front.js

distination plugin ermak_front.js

enableScrolling globalВозвращает полосу прокрутки на страницу после того, как Вы удалили её командой disableScrolling. ermak_front.js

distination plugin ermak_front.js

fs globalпереводит браузер в состояние fullscreen ermak_front.js

distination plugin ermak_front.js

get_muar globalПокрывает весь экран чёрным муаром ожидания. ermak_front.js

distination plugin ermak_front.js

get_wait_form globalГенерирует форму ожидания (вращающаяся круглая фигура) для последующей установки её туда, куда Вам надо. Выбирается тип фигуры (разорванное кольцо, шестерёнка или стрела по кругу) и css-стиль. ermak_front.js

distination plugin ermak_front.js

hidden_content global ermak_front.js

distination plugin ermak_front.js

open_clapan globalОткрывает основной клапан в Главной панели. На главной странице Вашего проекта основной клапан содержит виджет "First Page in Metagame Panel". Ermak__front.js

distination plugin Ermak__front.js

open_klapan_2 -1Открывает клапан контекстного контента в правой части Главной Панели Вашего проекта. Обычно в этот клапан загружается панели содержимого и управления объектом, который выбрал/кликнул Игрок на карте.

distination plugin

open_metagame_panel -1открывает указанную в аргументах вкладку на Главной панели мета-игры. По умолчания доступны следующие значения:
      location
      carousel
Естественно, что вкладки "Карта" и "Медиа-карусель" должны быть включены в настройках мета-игры в админке. Количество вкладок можно расширить, написав необходимый код.

distination plugin

rgbToHex globalКонвертирует десятеричное число в хэш 16-ричного. Конечно, функция нужна для преобразования числа в стоку цвета для сss. ermak_front.js

distination plugin ermak_front.js

send globalпередает на сервер ajax-запрос. В аргументах функции указывается название запроса, аргументы запроса, и указание - покрывать или нет страницу черным муаром ожидания. ermak_front.js

distination plugin ermak_front.js

set_chosen globalПредаёт select-форме в элегантный вид. ermak_front.js

distination plugin ermak_front.js

set_range -1Преобразует input-форму в элегантный слайдер

distination plugin

SMC_Post

класс SMC_Post является наследником WordPress-класса Post. Все новые сущности, которые Вы, как разработчик расширений для Ермак будете создавать, должны наследовать именно этому классу.
get localВозвращает значение стандартного поля элемента класса. Стандартными являются поля, родные для класса WP_Post.
  • Имя элемента (post_title)
  • Содержимое (post_content)
  • Слаг (post_name)
  • ID автора(post_author)
  • дата создания (post_date)
  • статус (post_status)
Для получения значения post_type лучше использовать статический метод get_type. Этот метод, при создании нового типа данных необходимо переопределить.
SMC_Post.php

distination plugin SMC_Post.php

get_all staticВозвращает массив объектов всех элементов класса. Можно отфильтровать массив по значениям мета-полей. SMC_Post.php

distination plugin SMC_Post.php

get_all_ids staticВозвращает список ID всех элементов данного класса. Список можно отфильтровать по значениям мета-полей. SMC_Post.php

distination plugin SMC_Post.php

get_instance staticВозвращает и кэширует в пределах запроса элемент текущего класса. Дальнейшие обращения метода выдают ссылку на кэшированную ссылку уже существующего в памяти элемента. SMC_Post.php

distination plugin SMC_Post.php

get_meta localВозвращает значение указанного в аргументе мета-поля. SMC_Post.php

distination plugin SMC_Post.php

get_random staticВозвращает указанное число случайных элементов класса. SMC_Post.php

distination plugin SMC_Post.php

get_the_author localВозвращает display_name автора поста. Т.к. к этому методу прикреплены разнообразные хуки, то этот метод предпочтителен по отношению к аналогичному get('post_author'); SMC_Post.php

distination plugin SMC_Post.php

get_type staticВозвращает строковый тип надкласса SMC_Post. По умолчанию - 'post'. В надклассе этот метод надо переопределять и указывать значение 'post_type' нового типа данных. SMC_Post.php

distination plugin SMC_Post.php

set localИзменить значение основного поля элемента класса. Доступные значения:
  • Имя элемента (post_title)
  • Содержимое (post_content)
  • Слаг (post_name)
  • ID автора(post_author)
  • дата создания (post_date)
  • статус (post_status)
Значение поля post_type изменять НЕЛЬЗЯ. Это приведёт к исчезновению этого объекта и нарушению структуры данных.
SMC_Post.php

distination plugin SMC_Post.php

update_meta localИзменить значение одного мета-поля элемента класса. SMC_Post.php

distination plugin SMC_Post.php

update_metas localПакетное изменение значений нескольких мета-полей элемента класса. SMC_Post.php

distination plugin SMC_Post.php

wp_dropdown staticВозвращает выпадающий список всех объектов данного класса. Настраивается графический вид (class, style), имя, ID, фильтруется массив объектов по значениям мета-полей. Выбирается нужный элемент из списка (свойство selected). SMC_Post.php

distination plugin SMC_Post.php

адмика

doubled_post staticДублирует в базе объект-наследник класса SMC_Post. Assistants.php

distination plugin Assistants.php

графические утилиты

get_iface_color localВозвращает хэш (16-ричное число) цвета, который Игрок выбрал в качестве своего уникального декоративного цвета. Ermak.php

distination plugin Ermak.php

get_location_type_buttons local Ermak.php

distination plugin Ermak.php

get_main_map_svg_data localВозвращает графические данные основной карты Проекта в формате SVG. Ermak.php

distination plugin Ermak.php

HSVtoRGB staticПреобразует строку HTML-цвета (16-ричное число) в 10-ричное число Assistants.php

distination plugin Assistants.php

set_carousel_form local Ermak.php

игроки

check_user_role localПроверяет роль определенного пользователя. В настоящее время пользователи могут иметь следующие роли:
  • Администратор сайта - Admninstrator
  • Мастер - Master
  • Игрок - Player
  • Наблюдатель
Assistants.php

distination plugin Assistants.php

cur_user_is_owner localПроверяет, является ли текущий Игрок владельцем указанной Локации Ermak.php

distination plugin Ermak.php

user_is_owner localПроверяет, находится ли Локация, ID которой указан первым аргументом, во владении Игрока, ID которого указано вторым аргументом. Ermak.php

distination plugin Ermak.php

Локации

add_log staticДобавляет новое сообщение в публичную историю Локации. История демонстрируется, например, в экранной панели Локации (доступна через админку - страница "Локации"). SMC_Location.php

distination plugin SMC_Location.php

add_new_location staticДобавляет новую Локацию. SMC_Location.php

distination plugin SMC_Location.php

add_properties staticДобавляет всем Локациям очередное свойство. Если Вы - разработчик нового плагина для Ермак, и Вам необходимо расширить ряд свойств Локациям, то этот метод - единственный способ. Инициируйте его единожды в момент инсталляции Вашего плагина. SMC_Location.php

distination plugin SMC_Location.php

cur_user_is_owner localПроверяет, является ли текущий Игрок владельцем указанной Локации Ermak.php

distination plugin Ermak.php

get_all_usage_location_ids staticВозвращает массив с ID всех Локаций, у которых есть хотя бы один владелец из Игроков или Мастеров. SMC_Location.php

distination plugin SMC_Location.php

get_all_user_visible_location_ids staticВозвращает массив ID Локаций, которые видит указанный (по умолчанию - текущий) Игрок.

Видимость/невидимость Локаций настраивается Мастером. Функционал доступен только после установки стороннего WP-плагина User Access Manager.

SMC_Location.php

distination plugin SMC_Location.php

get_by_types staticВозвращает массив ID Локаций имеющих указанный Тип. SMC_Location.php

distination plugin SMC_Location.php

get_child_location_ids staticВозвращает массив ID Локаций, дочерних к указанной в аргументе. SMC_Location.php

distination plugin SMC_Location.php

get_filtered staticВозвращает список Локаций, отфильтрованный в соответствии со значением в аргументе. SMC_Location.php

distination plugin SMC_Location.php

get_location_hiding_name localВозвращает строку с надписью области видимости указанной Локации и подсказку с хинтом. Ermak.php

distination plugin Ermak.php

get_location_type localВозвращает класс Типа Локаций SMC_Location_Type, соответствующий указанной в аргументе Локации. Ermak.php

distination plugin Ermak.php

get_location_type_buttons local Ermak.php

distination plugin Ermak.php

get_location_type_id localВозвращает ID Типа указанной в аргументе Локации Ermak.php

distination plugin Ermak.php

get_term_link staticВозвращает адрес страницы Локации. От идентичной функции Wordpress отличается кэшированием результата в пределах одного запроса. Если в пределах одного запроса Вам необходимо получить одну и ту же ссылку несколько раз, то этот метод уменьшит нагрузку на сервер. SMC_Location.php
get_term_meta staticВозвращает значение указанного свойства у указанной Локации. SMC_Location.php

distination plugin SMC_Location.php

goto_to_location localвыдаёт html-ссылку на страницу Локации. Ermak.php

distination plugin Ermak.php

location_has_owners localВозвращает true, если указанна Локация управляется хотя бы одним Игроком или Мастером. Ermak.php

distination plugin Ermak.php

owners_form static SMC_Location.php

distination plugin SMC_Location.php

read_log local SMC_Location.php

distination plugin SMC_Location.php

update_term_meta staticОбновляет мета-свойства Локации. SMC_Location.php

distination plugin SMC_Location.php

user_is_owner localПроверяет, находится ли Локация, ID которой указан первым аргументом, во владении Игрока, ID которого указано вторым аргументом. Ermak.php

distination plugin Ermak.php

отладочные

echo_me staticВозвращает агрумент в виде строки, преобразованной с помощью var_dump. Второй аргумент разрешает заключить содержимое в текстовое поле для более удобного просмотра структуры данных. Assistants.php

distination plugin Assistants.php

insertLog globalСоздаёт строку в отладочной панели вида:

наименование сроки - дамп содержимого, которое необходимо получить.

Отладочная панель находится на странице Logs (она доступна через админку, вкладка "Страницы"). Содержимое панели показывается только Администратору.

Assistants.php

distination plugin Assistants.php

условные

cur_user_is_owner localПроверяет, является ли текущий Игрок владельцем указанной Локации Ermak.php

distination plugin Ermak.php

enable_zlib local Ermak.php

distination plugin Ermak.php

is_BatchOptEv localВключена ли указанная в аргументах функция управления партиями товаров в текущем проекте. SMPclass.php

distination plugin SMPclass.php

is_best_before localВключено ли в данном проекте отслеживание срока годности для партий товаров. SMPclass.php

distination plugin SMPclass.php

is_dislocation localВключено ли отслеживание свойство "Местоположение" для партий товаров в данном проекте. SMPclass.php

distination plugin SMPclass.php

is_finance staticВключены ли Финансы в данном проекте. SMPclass.php

distination plugin SMPclass.php

is_logistics staticОтслеживается ли Логистика в данном проекте. SMPclass.php

distination plugin SMPclass.php

isBatchOpt localСуществует ли и включена ли указанная в аргументе функция управления партиями товаров в текущем проекте. SMPclass.php

distination plugin SMPclass.php

утилиты

add_properties staticДобавляет всем Локациям очередное свойство. Если Вы - разработчик нового плагина для Ермак, и Вам необходимо расширить ряд свойств Локациям, то этот метод - единственный способ. Инициируйте его единожды в момент инсталляции Вашего плагина. SMC_Location.php

distination plugin SMC_Location.php

get_all_image_string localНаходит в строке html-элемнты картинок и возвращает их в виде массива. Assistants.php

distination plugin Assistants.php

get_youtube_id_from_url staticПолучает строку-URL с youtube.com ( в любом виде, из любого места) и выделяет из него ID указанного ролика. Мы даём возможность Игроку копировать-пастить URL c ю-тьюба, а дальнейшем Ermak манипулирует только с ID ролика. Assistants.php

distination plugin Assistants.php

getmicrotime global Ermak.php

distination plugin Ermak.php

location_has_owners localВозвращает true, если указанна Локация управляется хотя бы одним Игроком или Мастером. Ermak.php

distination plugin Ermak.php

save_main_map_svg_data local Ermak.php

distination plugin Ermak.php

функционал

add_log staticДобавляет новое сообщение в публичную историю Локации. История демонстрируется, например, в экранной панели Локации (доступна через админку - страница "Локации"). SMC_Location.php

distination plugin SMC_Location.php

all_user_locations localВозвращает массив Локаций, которыми управляет выбранный(по умолчанию - текущий) Игрок Ermak.php

distination plugin Ermak.php

get_gb_options localВозвращает массив ключей опций управления доступностью параметров партий товаров в текущем проекте. Для получения значения каждого ключа используйте метод get_gb_value.

По умолчанию доступны следующие значения партий товаров, которые Мастер может дать в управление Игрокам в своем проекте:

  • Местоположение партии (партии можно перемещать с места на место)
  • Владелец (партией может управлять только тот, кто ею владеет)
  • Качество товара. Идентичные по типу товара у разных производителей не одинаковые.
  • Срок годности (рано или поздно всё становится мусором)
  • Доступен Магазин и партии можно выставлять на свободную продажу и покупать
  • Удаление партии
SMPclass.php

distination plugin SMPclass.php

get_gb_value localВозвращает значение выбранного ключа доступа к управлению партией товара в текущем проекте. Список доступных ключей получаем по методу get_gb_options. SMPclass.php

distination plugin SMPclass.php

get_locations localВозвращает список Локаций, которые видны выбранным Игроком (по умолчанию - текущим). Видимость/невидимость Локаций определяется Мастерами при установленном стороннем Wordpress-плагине User Access Manager. Ermak.php

distination plugin Ermak.php

get_locations_id localВозвращает список ID Локаций, которые видны выбранным Игроком (по умолчанию - текущим). Видимость/невидимость Локаций определяется Мастерами при установленном стороннем Wordpress-плагине User Access Manager. Ermak.php

distination plugin Ermak.php

goto_to_location localвыдаёт html-ссылку на страницу Локации. Ermak.php

distination plugin Ermak.php

read_log local SMC_Location.php

distination plugin SMC_Location.php

элементы интерфейса

add_new_post_form_content localВозвращает содержимое формы создания нового поста, насыщенного медиа-содержанием. В случае, если Игрок кроме обязательного названия и содержания поста указывает какое-либо медиа-содержание (ссылку на ю-тьюб, ссылки на картинки, аудиофайл и т.п), его пост немедленно помещается в карусель медиа-постов. Assistants.php

distination plugin Assistants.php

draw_storage local

Отрисовывает графический вид ангаров для хранения партий товара. В каждом ангаре находятся партии-контейнеры. На складе столько ангаров, чтобы можно было уместить все партии, находящиеся в данной Локации (по 100 контейнеров в каждом ангаре).

Также есть форма поиска нужной партии, доступная для всех посетителей, а eщё форма быстрого создания новой партии, доступная Мастерам и Администраторам.

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

SMPclass.php

distination plugin SMPclass.php

get_call_to_owner_hinter staticвозвращает ссылку на диалоговое окно создания нового Сообщения "Связаться с Владельцем собственности". Сообщение, созданное при помощи этого окна, отправляется всем Игрокам-Владельцам Assistants.php

distination plugin Assistants.php

get_div_hint_helper localвозвращает символ знак вопроса в круге - сигнал интерактивной подсказки-хинта. Хинт (всплывающая подсказка) срабатывает при наведении мыши на символ. Содержимое подсказки - div-элемент с графическим форматированием. Эта функция - более сложное воплощение функции get_hint_helper Assistants.php

distination plugin Assistants.php

get_hint_helper localвозвращает символ знак вопроса в круге - сигнал интерактивной подсказки-хинта. Хинт (всплывающая подсказка) срабатывает при наведении мыши на символ. Содержимое подсказки -простая строка. Эта функция - более простое воплощение функции get_hint_helper Assistants.php

distination plugin Assistants.php

get_lists staticСоздаёт свитчер (переключатель между страницами), в котором вертикальное меню располагается справа. Этот механизм позволяет добавлять исполнение javascript-функций по нажатию кнопок-переключателей (например, ajax-запросы).

Присмотритесь также к методам get_tabs и get_switcher

Assistants.php

distination plugin Assistants.php

get_location_selecter localВозвращает выпадающее окно для выбора Пользователем Локации в блоках настройки. Настраивается фильтр выбранных Локаций. Ermak.php

distination plugin Ermak.php

get_not_your_label staticВозвращает черную ленту с жёлтым кантом и надписью на текущем языке "Это не Ваше", которая автоматически позиционируется по правому нижнему углу графического элемента. Assistants.php

distination plugin Assistants.php

get_numeric staticВозвращает элемент выбора числа, настроенный для манипуляций с тактильного экрана (таблетки, смартфоны). Кнопки уменьшения/увеличения значения располагаются с боков от числового поля. Assistants.php

distination plugin Assistants.php

get_pagi_form staticВыдаёт пагинацию страниц. Определяется количество элементов на странице, функция, которая собирает элементы для выбранной пользователем страницы. Assistants

distination plugin Assistants

get_register_form staticВозвращает форму регистрации нового Игрока. От стандартной формы WordPress отличается синхронизацией с функциональностью Ермака: регистрируемый пользователь автоматически становится Игроком. Вторая отличительная функция - возможность управлять содержимым формы и способом её обработки сторонними плагинами в зависимости от их функциональности. Assistants.php

distination plugin Assistants.php

get_short_your_label staticВозвращает тикер принадлежности графического элемента текущему игроку. Это зелёный треугольник произвольного размера, автоматически выставляемый в правом нижнем углу элемента. Assistants.php

distination plugin Assistants.php

get_tabs staticВозвращает графический свитчер с переключателями страниц, располагаемыми сверху. Позволяет "надевать" на клик кнопки-переключателя javascript-функции (например, ajax-запросы). От похожего элемента, возвращаемого функцией get_switcher отличается только графически. Этот стилизован под допотопную картотеку с вкладками.

другие свитчеры:

  • get_switcher
  • get_lists
Assistants.php

distination plugin Assistants.php

get_wait_form staticВозвращает графический символ "ожидайте" - вращающийся элемент в виде круговой стрелки. Assistants.php

distination plugin Assistants.php

get_your_label staticВозвращает графический элемент - зелёную ленту с надписью на текущем языке "Это Ваше". Лета автоматически располагается в правом нижнем углу выбранного графического элемента (div'а) Assistants.php

distination plugin Assistants.php

smc_get_user_avatar localВозвращает отформатированный аватар выбранного Игрока. Картинка, загружаемая с помощью стороннего плагина all-local-avatars Assistants.php

distination plugin Assistants.php

smc_login_form localВозвращает форму логирования текущего пользователя. От стандартной формы Wordpress отличается синхронизацией с функциональностью Ермака. Поэтому, мы рекомендуем ВСЕГДА пользоваться только ей. Assistants.php

distination plugin Assistants.php

smc_register_form local Assistants.php

distination plugin Assistants.php

wp_drop_location_by_user_owner localВозвращает выпадающий список Локаций, принадлежащих выбранному (или по-умолчанию - текущему) Игроку. Ermak.php

distination plugin Ermak.php

wp_dropdown_location_type localВозвращает выпадающий список всех типов Локаций в проекте. Метод устарел и в следующих версиях программы будет удалён.

В аналогичных случаях пользуйтесь методом wp_dropdown класса SMC_Location_Type.

Ermak.php

distination plugin Ermak.php