Сегодня: 03:12:2024 Доброго вам вечера!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 

Страниц (116): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец

> Найдено сообщений: 1160
технарь Отправлено: 19 августа 2019 — 00:06 • Тема: Подключение Font Awesome к форуму • Форум: ExBB Community

Ответов: 0
Просмотров: 1622
Скопипастил себе с официального сайта ExBB статью WolfGeeN - надеюсь она не будет против.

Font-awesome - это иконочный шрифт, который содержит в себе более 650 иконок.
Преимущество использования иконочного шрифта над изображениями, в масштабировании иконок без потери качества при любом увеличении (обычно изображения, если только они не прилично большо́го разрешения, при масштабе расплываются) и отсутствие нагрузки при загружении страницы.
Подключить font awesome на форум можно 2 путями- скопировав папку со шрифтами на свой форум или через CDN, путем добавления одной единственной ссылки. В этом случае шрифт не будет занимать место на вашем сервере, но в случае неполадок с сайтом, на котором расположен font awesome, иконки перестанут отображаться и у вас.
Поэтому лично я рекомендую не жалеть этих полутора мегабайт, а скачать и загрузить шрифт к себе.
Инструкция по подключению шрифта.



- Для начала следует посетить официальный сайт разработчика font-awesome - http://fontawesome.io/icons/
- Если вы решили скачивать шрифт себе, то откройте эту страницу и нажмите на "Download" - ссылка .
- Распакуйте архив со шрифтом. Полученное у распакованной папки название измените на font_awesome (цель этого действия убрать пробелы и версию из путей).
- Скопируйте папку font_awesome без изменений в папку вашего стиля.
- Откройте /templates/ваш стиль/all_header.tpl и добавьте перед

code:
<link rel="alternate" type="application/rss+xml" title="<?php echo $GLOBALS['fm']->exbb['boardname']; ?>"
href="./tools.php?action=rss">



ссылку на шрифт

code:
<link rel="stylesheet" href="./templates/ваш стиль/font_awesome/css/font-awesome.min.css">


Внимание Не забудьте поменять в ссылке ваш стиль на название вашего стиля.

- Сохраните изменения. Если вы все сделали согласно инструкции, то теперь в вашем стиле подключен иконочный шрифт font awesome.

- Если вы не желаете скачивать и копировать шрифт к себе, то воспользуйтесь ссылкой CDN.
Для этого откройте /templates/ваш стиль/all_header.tpl и добавьте перед

code:
<link rel="alternate" type="application/rss+xml" title="<?php echo $GLOBALS['fm']->exbb['boardname']; ?>"
href="./tools.php?action=rss">


следующую строчку:

code:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">


Никаких правок проводить в ней не нужно. Просто сохраните файл и теперь font awesome будет подключен к вашему стилю дистанционно.

Самое простое использование font awesome - напрямую html тегом.
Для этого открываем ссылку на список иконок ссылка, находим понравившуюся и кликаем по ней.

Далее мы видим теги для задействования иконки. Например иконка рупора - "[icon]bullhorn[/icon]" имеет следующий код:

code:
<i class="fa fa-bullhorn" aria-hidden="true"></i>


Если нам нужно использовать иконку большего размера, то к классу добавляется fa-2x. Цифру 2 можно заменить на большую, для еще большего увеличения масштаба иконки.

Пример иконки с максимальным масштабом:

code:
<i class="fa fa-bullhorn fa-5x" aria-hidden="true"></i>


Иконки можно также подключать используя css - через content, before и after.
Пример подключения иконки перед элементом, через before

code:
.myclass:before { font-family: FontAwesome; content: "\f095"; }.


При этом название иконки заменяется на ее код - f095.
Код каждой иконки можно увидеть при ее детальном просмотре на сайте:

Также иконки можно поворачивать, анимировать, накладывать друг на друга и много другое. Об этом, вместе с примерами использования, вы можете почитать тут - ссылка.
технарь Отправлено: 17 мая 2019 — 11:35 • Тема: Базовые функции в SMF • Форум: SMF Community

Ответов: 1
Просмотров: 4390

Описанные здесь функции используются в коде SMF.

Они работают с разными версиями php, разными наборами символов и разными базами данных.

Общие служебные функции.

Эти функции объявлены в reloadSettings в файле Load.php. Некоторые из них имеют то же имя, что и стандартные функции PHP, но были переработаны для единого подхода к наборам символов UTF-8, сущностям HTML и различиям в поведении в разных версиях PHP. Рекомендуется использовать их вместо штатных функций PHP.
'entity_fix'
'htmlspecialchars'
'htmltrim'
'strlen'
'strpos'
'substr'
'strtolower'
'strtoupper'
'ucfirst'
'ucwords'

Database Functions

The following applies only to version 2.0
In SMF 2.0, multiple database support was introduced. This was implemented by developers as a new layer of database functions along with a new security model, which provides a fast and secure method to work across database systems. Below is a list of the database functions that currently exist in 2.0. Each of these links will direct you towards a section about that function that will help you understand what each one does, how its input is expected and if possible, the exact duplicate function for mysql. An example is provided as well for most of these, these examples come straight from the SMF Source code.

Please note our Function Database now has the latest SMF 2.0 functions for your information and may help in explaining the functions. They do not use the $smcFunc variables that this guide does. For most of your functions you will see "smf_db_xxx" where xxx is the function name such as "smf_db_insert" that is used by $smcFunc['db_insert'].

db_query
Usage $smcFunc['db_query'] (identifier, query, values, connection)

Works Similar to how db_query worked in 1.x versions.
identifier is used to identify specific query types in which it is necessary to replace portions of the query for compatability across all Database Management Systems supported by SMF. The query must be written for MYSQL. The db_query function will alter the query.
'substring' --- for the SQLite database, SUBSTRING will be replaced by SUBSTR
See the function smf_db_query in Subs-DB-{dbms}.php for the full list of replacements.
Values is an array of values you are intending to use in the query.
Example

$result = $smcFunc['db_query']('', '
SELECT poster_time
FROM {db_prefix}messages
WHERE id_msg = {int:id_msg}
LIMIT 1',
array(
'id_msg' => $user_settings['id_msg_last_visit'],
)
);
Example with identifier 'substring

$result = $smcFunc['db_query']('substring', '
SELECT m.subject,
'. ($mylimit > 0 ? SUBSTRING(m.body, 1, '.$mylimit.') as body : 'm.body'). ',
IFNULL(mem.real_name, m.poster_name) AS realName, m.poster_time as date, mem.avatar, mem.posts, mem.date_registered as dateRegistered,mem.last_login as lastLogin,
IFNULL(a.id_attach, 0) AS ID_ATTACH, a.filename, a.attachment_type as attachmentType, t.id_board as category, b.name as category_name,
array(
'id_msg' => $user_settings['id_msg_last_visit'],
)
);

db_quote
Usage $smcFunc['db_quote'] (query, values, connection)

Works Similar to how db_query works with the exception of no identifier.
Values is an array of values you are intending to use in the query.
Does not execute the query, Formats as if it where going to be and returns the string.
Example

$realNameMatches[] = $smcFunc['db_quote'](
'{string:possible_user}',
array(
'possible_user' => $possible_user
)
);

db_fetch_assoc
Usage $smcFunc['db_fetch_assoc'] ($result)

Will return exact same results as mysql_fetch_assoc
Example

while ($row = $smcFunc['db_fetch_assoc']($request))
$search_params['brd'][] = $row['id_board'];

db_fetch_row
Usage $smcFunc['db_fetch_row'] ($result)

Will return exact same results as mysql_fetch_row.
Emulated while using SQlite with smf_sqlite_fetch_row.
Example

while ($row = $smcFunc['db_fetch_row']($request))
$toDelete[] = $row[0];

db_free_result
Usage $smcFunc['db_free_result'] ($result)

Will return exact same results as mysql_free_result.
Emulated while using SQlite with smf_sqlite_free_result.
Example

$smcFunc['db_free_result']($request);

db_insert
Usage $smcFunc['db_insert'] (method, table, columns, data, keys, disable_trans, connection)

Emulated with smf_db_insert.
Method tells how to change the data. Accepts "replace" "ignore" or "insert".
Table: the data will be changed on.
Columns: An array ( column_name => input_type) set that holds all column names that will be changed and their expected input type.
Data holds an array that must be as long as the column array with all the data that will be used.
Keys is supposed to hold the tables key information, only appears to affect sqlite and postrgresql (when using "replace") versions.
Example

$smcFunc['db_insert']('replace',
'{db_prefix}log_topics',
array(
'id_member' => 'int', 'id_topic' => 'int', 'id_msg' => 'int',
),
array(
$user_info['id'], $topic, $modSettings['maxMsgID'],
),
array('id_member', 'id_topic')
);

db_insert_id
Usage $smcFunc['db_insert_id'] (table, field, connect)

Will return exact same results as mysql_insert_id.
Emulated while using PostgreSQL with smf_db_insert_id.
Table holds the table name that was affected.
Field holds the name of the field that was affected.
Example

$bcinfo['id_poll'] = $smcFunc['db_insert_id']('{db_prefix}polls', 'id_poll');

db_num_rows
Usage $smcFunc['db_num_rows'] ($result)

Will return exact same results as mysql_num_rows.
Example

if ($smcFunc['db_num_rows']($request) == 0)
fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename']));

db_data_seek
Usage $smcFunc['db_data_seek'] ($result, row_number)

Will return exact same results as mysql_data_seek.
Emulated while using PostgreSQL with db_data_seek.
Row_number is the row number you wish the pointer to be at.
Example

// Start from the beginning...
if ($reset)
return @$smcFunc['db_data_seek']($messages_request, 0);

db_num_fields
Usage $smcFunc['db_num_fields'] ($result)

Will return exact same results as mysql_num_fields.
Example

// Get the fields in this row...
$field_list = array();
for ($j = 0; $j < $smcFunc['db_num_fields']($result); $j++)
{
// Try to figure out the type of each field. (NULL, number, or 'string'.)
if (!isset($row[$j]))
$field_list[] = 'NULL';
elseif (is_numeric($row[$j]))
$field_list[] = $row[$j];
else
$field_list[] = ''' . $smcFunc['db_escape_string']($row[$j]) . ''';
}

db_escape_string
Usage $smcFunc['db_escape_string'] (uncleaned_string)

MySQL databases use addslashes function instead of mysql_escape_string.
Does not require a database connection to use this.
Example

// Add slashes to every element, even the indexes!
foreach ($var as $k => $v)
$new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v);

db_unescape_string
Usage $smcFunc['db_unescape_string'] (cleaned_string)

MySQL databases use stripslashes function.
PostgreSQL databases will emulate this with smf_postg_unescape_string.
SQlite databases will emulate this with smf_sqlite_unescape_string.
Does not require a database connection to use this.
Example

// Strip the slashes from every element.
foreach ($var as $k => $v)
$new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v);

db_server_info
Usage $smcFunc['db_server_info'] (connection)

Attempts to get database server information.
Example

// Some MySQL versions are superior to others.
$this->canDoBooleanSearch = version_compare($smcFunc['db_server_info']($db_connection), '4.0.1', '>=') == 1;

db_affected_rows
Usage $smcFunc['db_affected_rows'] (connection)

Will return exact same results as mysql_affected_rows.
Example

if ($smcFunc['db_affected_rows']() <= 0)
{
loadLanguage('Admin');
fatal_lang_error('salvaged_category_error', false);
}

db_transaction
Usage $smcFunc['db_transaction'] (type, connection)

Same as calling mysql queries for "BEGIN", "ROLLBACK", and "COMMIT".
Accepts "begin", "rollback", and "commit".
Example

$smcFunc['db_transaction']('begin');
// Do the table and indexes...
$smcFunc['db_query'](''', $table_query,
'security_override'
);
foreach ($index_queries as $query)
$smcFunc['db_query'](''', $query,
'security_override'
);

$smcFunc['db_transaction']('commit');

db_error
Usage $smcFunc['db_error'] (connection)

Will return the exact same results as mysql_error.
SQlite databases will emulate this with smf_sqlite_last_error, and the connection is ignored.
Example

// Language files aren't loaded yet.
$db_error = @$smcFunc['db_error']($db_connection);
@mail($webmaster_email, $mbname . ': SMF Database Error!', 'There has been a problem with the database!' . ($db_error == ''' ? ''' : "" . $smcFunc['db_title'] . ' reported:' . "" . $db_error) . "" . 'This is a notice email to let you know that SMF could not connect to the database, contact your host if this continues.');

db_select_db
Usage $smcFunc['db_select_db'] (database_name, connection)

Will return exact same results as mysql_select_db.
PostgreSQL functions will have this return true always in postg_select_db. PostgreSQL has database selected upon creating the connection.
SQlite will do nothing as there is only one database per file.
No Examples

db_title
Usage $smcFunc['db_title'] ()

Name of the database being used. Such as MySQL, PostgreSQL and SQlite.
Should not be called as a function, but used a string.
No Examples


db_sybase
Usage $smcFunc['db_sybase'] ()

Tells SMF whether the Database uses sybase or not.
PostgreSQL and SQlite use sybase, MySQL does not.
No Examples


db_case_sensitive
Usage $smcFunc['db_case_sensitive'] ()

Tells SMF whether the Database is case sensitive or not.
PostgreSQL is case sensitive, MySQL and SQlite are not.
No Examples

Database Package Functions only.
The below functions only exist when using db_extend('packages');

db_add_column
Usage $smcFunc['db_add_column'] (string $table_name, array $column_info, array $parameters, string $if_exists, string $error)

This function allows for adding a column to a table.

Parameters

table_name
an already existing table.
column_info
an array of data containing with keys
string 'name' of the column
string 'type' of the column
int 'size' of the column if required by type.
bool 'null', whether to use "null" or "not null"
string/int 'default' should contain the default value for the column
bool' auto' tells whether the column uses auto_increment or not.
bool 'unsigned' (true/false) specifies whether the column is unsigned or not.
parameters
deprecated as of 2.0 RC3, leave empty
if_exists
controls what to do if the column exists
'update' - updates the column
error
what to do if an error was encountered
fatal - Default
Returns bool true if column added (changed); false otherwise

db_add_index
Usage $smcFunc['db_add_index'] (table_name, index_info, parameters, if_exists, error)

This function allows for adding an index to a table.

Parameters

table_name - an already existing table
index_info - an array of data as follows:
string 'type' - index type. Can be one of 'primary', 'unique', or 'index'. Leave this entry out to keep a regular index.
string 'name' - name of index, can be left blank to use first column name.
'array 'columns' - column names
parameters
none, leave empty
if_exists
controls what to do if the index exists
'update' - updates the index but overwrites if primary
error
what to do if an error was encountered
fatal - Default
Returns bool false if no columns specified

db_calculate_type
Usage $smcFunc['db_calculate_type'] (type_name, type_size, reverse)

This function will calculate the type and size for a column.

Parameters

type_name should be the type of the column.
type_size contains the size of the column (can be empty
reverse whether or not to reverse things
Returns array the first value is the type, and the second value is the size

db_change_column
Usage $smcFunc['db_change_column'] (table_name, old_column, column_info, parameters, error)

This function allows for changing an existing column structure.

Parameters

table_name - an already existing table
old_column - the name of the column to change
column_info - an array of data containing with keys
string 'name' of the column
string 'type' of the column
int 'size' of the column if required by type.
bool 'null', whether to use "null" or "not null"
string/int 'default' should contain the default value for the column
bool' auto' tells whether the column uses auto_increment or not.
bool 'unsigned' (true/false) specifies whether the column is unsigned or not.
parameters
deprecated as of 2.0 RC3, leave empty
error
what to do if an error was encountered
fatal - Default
Returns bool true if column added (changed); false otherwise

db_create_table
Usage $smcFunc['db_create_table'] (table_name, columns, indexes, parameters, if_exists, error)

This function allows for creating a table. You can not create a SMF default table.

Parameters

table_name - name of the table
columns - a multi-dimensional array containing the columns to be in the table. The first-level elements are used as individual columns, depicted by the example. The second-level items are the column details as seen below.
string 'name' of the column
string 'type' of the column
int 'size' of the column if required by type.
bool 'null', whether to use "null" or "not null"
string/int 'default' should contain the default value for the column
bool' auto' tells whether the column uses auto_increment or not.
bool 'unsigned' (true/false) specifies whether the column is unsigned or not.
indexes - a multi-dimensional array containing the indexes to be in the table. The first-level elements are used as individual indexes, depicted by the example. The second-level items are the index details as seen below.
string 'type' - index type. Can be one of 'primary', 'unique', or 'index'. Leave this entry out to keep a regular index.
string 'name' - name of index, can be left blank to use first column name.
'array 'columns' - column names
parameters
deprecated as of 2.0 RC3, leave empty
if_exists - controls what to do if the table exists.
'ignore' will do nothing if the table exists. (And will return true)
'overwrite' will drop any existing table of the same name.
'error' will return false if the table already exists.
error - what to do if an error was encountered
fatal - Default
Returns bool false if the table name was a SMF table.

Example

$columns = array(
array(
'name' => 'id_article',
'type' => 'int',
'size' => 10,
'unsigned' => true,
'auto' => true,
),
array(
'name' => 'id_category',
'type' => 'int',
'size' => 10,
'unsigned' => true,
),
array(
'name' => 'poster_time',
'type' => 'int',
'size' => 10,
'unsigned' => true,
),
array(
'name' => 'content',
'type' => 'text',
),
);

$indexes = array(
array(
'type' => 'primary',
'columns' => array('id_article')
),
array(
'columns' => array('id_category')
),
);

$smcFunc['db_create_table']('{db_prefix}articles', $columns, $indexes, array(), 'update_remove');

$columns = array(
array(
'name' => 'id_category',
'type' => 'int',
'size' => 10,
'unsigned' => true,
'auto' => true,
),
array(
'name' => 'name',
'type' => 'tinytext',
),
);

$indexes = array(
array(
'type' => 'primary',
'columns' => array('id_category')
),
);

$smcFunc['db_create_table']('{db_prefix}article_categories', $columns, $indexes, array(), 'update_remove');

db_drop_table
Usage $smcFunc['db_drop_table'] (table_name, parameters, error)

with db_extend('packages');
This function allows for removal a table. You can not delete a SMF default table.
Table_name can have a database prefix. If you specific a database prefix, add 'no_prefix' to the parameters.
Parameters contains special items such in an array such as 'no_prefix' to not auto add a the database prefix.

db_table_structure
Usage $smcFunc['db_table_structure'] (table_name)

with db_extend('packages');
This function returns the structure of a table.
If you need to specific the database prefix use {db_prefix}.
Returns with an array with table name, columns, and indexes.

db_list_columns
Usage $smcFunc['db_list_columns'] (table_name, detail)

with db_extend('packages');
This function returns the current columns in a table in a multi-dimensional array
If you need to specific the database prefix use {db_prefix}.
If 'detail' is specified a formated array will be returned of the column info, otherwise the plain straight column info is returned. The detailed array is 'name', 'null', 'default', 'type', 'size', 'auto'.

db_list_indexes
Usage $smcFunc['db_list_indexes'] (table_name, detail)

with db_extend('packages');
This function returns the current indexes in a table in a multi-dimensional array
If you need to specific the database prefix use {db_prefix}.
If 'detail' is specified a formated array will be returned of the index info, otherwise the plain straight index info is returned. The detailed array is 'name', 'type', 'columns'

db_remove_column
Usage $smcFunc['db_remove_column'] (table_name, column_name, parameters, error)

with db_extend('packages');
This function removes a column
Table_name can have a database prefix. If you specific a database prefix, add 'no_prefix' to the parameters.

db_remove_index
Usage $smcFunc['db_remove_index'] (table_name, index_name, parameters, error)

with db_extend('packages');
This function removes a index
Table_name can have a database prefix. If you specific a database prefix, add 'no_prefix' to the parameters.
технарь Отправлено: 9 марта 2019 — 11:23 • Тема: Что мы любим слушать • Форум: Всё подряд

Ответов: 10
Просмотров: 4353
Димаш
Спойлер (Показать)
технарь Отправлено: 27 февраля 2019 — 23:16 • Тема: Простая настройка • Форум: Настройка роутера Mikrotik

Ответов: 9
Просмотров: 8218
 Цитата от Marych:
м.б. перезагрузить его надо?
Если честно даже не знаю что посоветовать. Попробвать перезагрузить самое наверное правильное. Растерялся
технарь Отправлено: 23 февраля 2019 — 21:11 • Тема: Простая настройка • Форум: Настройка роутера Mikrotik

Ответов: 9
Просмотров: 8218
 Цитата от Marych:
Напрягает, что wine придется ставить для winbox
Не понял - ты винду вообще не пользуешь?
технарь Отправлено: 21 февраля 2019 — 23:46 • Тема: Простая настройка • Форум: Настройка роутера Mikrotik

Ответов: 9
Просмотров: 8218
Вот ещё неплохая статья на Хабре.
технарь Отправлено: 13 февраля 2019 — 15:10 • Тема: Что мы любим слушать • Форум: Всё подряд

Ответов: 10
Просмотров: 4353

Павел Пиковский


Спойлер (Показать)


Скачать сборник песен можно здесь.
технарь Отправлено: 6 февраля 2019 — 21:20 • Тема: Новости дня • Форум: Всё подряд

Ответов: 272
Просмотров: 62006
Решил сохранить, что бы не потерять. Радость
технарь Отправлено: 5 февраля 2019 — 00:45 • Тема: Новости дня • Форум: Всё подряд

Ответов: 272
Просмотров: 62006
Мне пока вообще ничего не актуально - только домой приполз. Улыбка
технарь Отправлено: 28 января 2019 — 22:01 • Тема: Новости дня • Форум: Всё подряд

Ответов: 272
Просмотров: 62006
Очень хорошо. Александрам мы особенно рады. Улыбка

Страниц (116): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец

Powered by ExBB v1.1.180311