/* Plugin Name: Shortcoder Plugin URI: https://www.aakashweb.com/ Description: Shortcoder is a plugin which allows to create a custom shortcode and store HTML, JavaScript and other snippets in it. So if that shortcode is used in any post or pages, then the code stored in the shortcode get executed in that place. You can create a shortcode for Youtube videos, adsense ads, buttons and more. Author: Aakash Chakravarthy Version: 4.1.5 Author URI: https://www.aakashweb.com/ */ define( 'SC_VERSION', '4.1.5' ); define( 'SC_PATH', plugin_dir_path( __FILE__ ) ); // All have trailing slash define( 'SC_URL', plugin_dir_url( __FILE__ ) ); define( 'SC_ADMIN_URL', trailingslashit( plugin_dir_url( __FILE__ ) . 'admin' ) ); define( 'SC_BASE_NAME', plugin_basename( __FILE__ ) ); class Shortcoder{ public static function init(){ add_action( 'plugins_loaded', array( __class__, 'load_text_domain' ) ); register_activation_hook( __FILE__, array( __class__, 'on_activate' ) ); add_filter( 'the_content', array( __class__, 'wp_44_workaround' ), 5 ); // Register the shortcode add_shortcode( 'sc', array( __class__, 'execute_shortcode' ) ); // Include the required self::includes(); } public static function list_all(){ $shortcodes = get_option( 'shortcoder_data' ); return empty( $shortcodes ) ? array() : $shortcodes; } public static function includes(){ include_once( SC_PATH . 'includes/metadata.php' ); include_once( SC_PATH . 'includes/import.php' ); include_once( SC_PATH . 'admin/sc-admin.php' ); } public static function execute_shortcode( $atts, $content ) { $shortcodes = self::list_all(); if( empty( $shortcodes ) ){ return ''; } // Get the Shortcode name if(isset($atts[0])){ $sc_name = str_replace(array('"', "'", ":"), '', $atts[0]); unset($atts[0]); }else{ // Old version with "name" param support if(array_key_exists("name", $atts)){ $tVal = $atts['name']; if(array_key_exists($tVal, $shortcodes)){ $sc_name = $tVal; unset($atts['name']); } } } if(!isset($sc_name)){ return ''; } // Check whether shortcoder can execute if( self::check_conditions( $sc_name ) ){ $sc_content_final = ''; // If SC has parameters, then replace it if( !empty( $atts ) ){ $keys = array(); $values = array(); $i = 0; // Seperate key and value from atts foreach( $atts as $k => $v ){ if( $k !== 0 ){ $keys[$i] = "%%" . $k . "%%"; $values[$i] = $v; } $i++; } // Replace the params $sc_content = $shortcodes[ $sc_name ][ 'content' ]; $sc_content_rep1 = str_ireplace( $keys, $values, $sc_content ); $sc_content_final = preg_replace( '/%%[^%\s]+%%/', '', $sc_content_rep1 ); } else{ // If the SC has no params, then replace the %%vars%% $sc_content = $shortcodes[ $sc_name ][ 'content' ]; $sc_content_final = preg_replace( '/%%[^%\s]+%%/', '', $sc_content ); } $sc_content_final = self::replace_wp_params( $sc_content_final ); return '' . do_shortcode( $sc_content_final ) . ''; }else{ return ''; } } public static function check_conditions( $name ){ $shortcodes = self::list_all(); if( array_key_exists( $name, $shortcodes ) ){ $sc = wp_parse_args( $shortcodes[ $name ], self::defaults() ); $devices = $sc[ 'devices' ]; if( $devices == 'mobile_only' && !wp_is_mobile() ){ return false; } if( $devices == 'desktop_only' && wp_is_mobile() ){ return false; } if( $sc[ 'disabled' ] == 0 ){ if( current_user_can( 'level_10' ) && $sc[ 'hide_admin' ] == 1 ){ return false; }else{ return true; } }else{ return false; } }else{ return false; } } public static function replace_wp_params( $content ){ $params = self::wp_params_list(); $metadata = Shortcoder_Metadata::metadata(); $to_replace = array(); foreach( $params as $id => $name ){ if( array_key_exists( $id, $metadata ) ){ $placeholder = '$$' . $id . '$$'; $to_replace[ $placeholder ] = $metadata[ $id ]; } } $content = strtr( $content, $to_replace ); return $content; } public static function wp_params_list(){ return apply_filters( 'sc_mod_wp_params', array( 'url' => __( 'URL of the post/location', 'shortcoder' ), 'title' => __( 'Title of the post/location', 'shortcoder' ), 'short_url' => __( 'Short URL of the post/location', 'shortcoder' ), 'post_id' => __( 'Post ID', 'shortcoder' ), 'post_image' => __( 'Post featured image URL', 'shortcoder' ), 'post_excerpt' => __( 'Post excerpt', 'shortcoder' ), 'post_author' => __( 'Post author', 'shortcoder' ), 'post_date' => __( 'Post date', 'shortcoder' ), 'post_comments_count' => __( 'Post comments count', 'shortcoder' ), 'site_name' => __( 'Site title', 'shortcoder' ), 'site_description' => __( 'Site description', 'shortcoder' ), 'site_url' => __( 'Site URL', 'shortcoder' ), 'site_wpurl' => __( 'WordPress URL', 'shortcoder' ), 'site_charset' => __( 'Site character set', 'shortcoder' ), 'wp_version' => __( 'WordPress version', 'shortcoder' ), 'stylesheet_url' => __( 'Active theme\'s stylesheet URL', 'shortcoder' ), 'stylesheet_directory' => __( 'Active theme\'s directory', 'shortcoder' ), 'atom_url' => __( 'Atom feed URL', 'shortcoder' ), 'rss_url' => __( 'RSS 2.0 feed URL', 'shortcoder' ) )); } public static function on_activate(){ $shortcodes = self::list_all(); $sc_flags = get_option( 'shortcoder_flags' ); // Move the flag version fix to sc_flags option if( isset( $shortcodes[ '_version_fix' ] ) ){ unset( $shortcodes['_version_fix'] ); update_option( 'shortcoder_data', $shortcodes ); } $sc_flags[ 'version' ] = SC_VERSION; update_option( 'shortcoder_flags', $sc_flags ); } public static function defaults(){ return array( 'content' => '', 'disabled' => 0, 'hide_admin' => 0, 'devices' => 'all' ); } public static function can_edit_sc(){ return current_user_can( 'manage_options' ); } public static function wp_44_workaround( $content ){ return str_replace( '[sc:', '[sc name=', $content ); } public static function load_text_domain(){ load_plugin_textdomain( 'shortcoder', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' ); } } Shortcoder::init(); ?> МЧС информирует | ГУО "Социально педагогический центр"

Рубрика: МЧС информирует

Широкомасштабный сход граждан прошел на территории Квасовского сельского Совета

Широкомасштабный сход граждан прошел на территории Квасовского сельского Совета. В здании дома культуры собрались граждане с активной жизненной позицией. В мероприятии принял участие первый заместитель начальника Гродненского районного отдела по чрезвычайным ситуациям Завиленчик Андрей Степанович. Кроме сухих цифр статистики, общих сведений о пожарах в республике и области, причин их возникновения, собравшиеся услышали примеры из жизни самых обычных жителей Гродненского района, которым пришлось дорого заплатить за недоработки в вопросах безопасности. В диалоге с гражданами приняли участие также представители...

Читать далее...

Учащиеся Гродненского района готовились к встрече со спасателями

Избежать пожаров поможет только ответственное отношение каждого гражданина к вопросам безопасности. В конце прошлой недели спасатели Гродненского района напомнили о причинах пожаров в рамках второго этапа республиканская акция «Безопасность в каждый дом». Работников МЧС приветствовали в Государственном сельскохозяйственном лицее, а также в средней школе №3 города Скиделя. С лицеистами спасатели Гродненского РОЧС встретились в общежитии, а учащиеся третьей школы с нетерпением ждали встречи в актовом зале. К акции готовились как спасатели, так и ребята. Как вести себя...

Читать далее...

АПИ доказывает свою эффективность

На 12 февраля 2018 года на территории Гродненской области произошло 92 пожара, погибло 9 человек. В Гродненском районе в этом году произошло 9 пожаров. В среду 7 февраля в 20-21 в службу МЧС поступило сообщение о пожаре жилого дома в д. Кунцевщина. В доме проживала семейная пара, работники СПК имени Денщикова. Как рассказала хозяйка дома, около 17 часов они протапливали печь, после чего сразу ушли на работу. Вернувшись, открыли входную дверь и увидели, что дом полностью заполнен...

Читать далее...

На случай ЧП

На Гродненщине действует запрет выхода на лёд, толщина которого меньше 7 см. Работники Гродненского РОЧС и Озерской спасательной станции проверили, как любители зимней рыбалки соблюдают правила безопасности. В «рыбацкий» рейд в Озеры вместе со спасателями отправилась и корреспондент «Перспективы». На озеро Белое – излюбленное место для рыбалки не только у жителей Гродненского района, но и областного центра – приехали в разгар дня. Термометр показывает минус 7. Рыбаков немного – человек 15. Как-никак будний день. Чтобы к ним...

Читать далее...

С электроприборами с осторожностью

Погода в последнее время преподносит нам сюрпризы. То снег в октябре, то дождь и “плюс” в январе. Не смотря на это гражданам нужно быть готовым к февральским морозам. При понижении температуры домовладельцы начинают активнее использовать отопительные приборы, в том числе и электрические. За прошедший 2017 год по причине нарушения правил пожарной безопасности при использовании неисправных электрических приборов, перегруза электрической сети, и как следствие короткого замыкания электропроводки в Гродненском области произошло 116 пожаров, 10 из которых  в Гродненском...

Читать далее...

Курение в постели убивает

Непотушенные и небрежно брошенные спички или окурки – за этими, казалось бы, обыденными вещами, невидимой тенью стоят сотни загубленных жизней, тысячи искалеченных судеб. Курящих у нас много, и, увы, год от года их число растет. О вреде курения с точки зрения медицины знает каждый. А вот, согласно статистики пожаров, одной из самых распространенных причин гибели на них является курение в постели в состоянии алкогольного опьянения. В Гродненской области за 2017 год, в сравнении с 2016 годом, число...

Читать далее...

Республиканская акция «Безопасность — в каждый дом» стартует в Гродненском районе

В 2017 году на Гродненщине произошло 715 пожаров, из них 60 в Гродненском районе. Пожары унесли жизни 50 человек, из них 4 в Гродненском районе. Статистика указывает на то, что преобладающей причиной гибели людей от пожаров в жилых домах и квартирах является беспечность и пренебрежение правилами безопасности. В целях повышения уровня безопасности населения в Гродненском районе с 1 по 28 февраля пройдет республиканская акция по предупреждению пожаров и гибели людей от них в жилом секторе «Безопасность –...

Читать далее...