/* 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(); ?> ГУО "Социально-педагогический центр" Гродно.

Новости центра

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

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

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

У нас — «Неделя мальчиков»

В понедельник, 19 февраля, стартовала ставшая традиционной в нашем учреждении "Неделя мальчиков". В течение недели Вас ждут мероприятия: беседа «Сильные и смелые» (19.02), игровое занятие «Слово – не воробей» (20.02), праздник «Международный день родного языка»,  игра-конкурс «Из чего сделаны мальчишки» (21.02), беседа-рассуждение «Мужские обязанности» (22.02), развлечение «Мэн-шоу» (ко Дню защитников Отечества и Вооруженных сил РБ) (23.02), игра «Будьте внимательны!» (24.02), спортивный праздник «Играй и побеждай» (25.02) и многое другое. 

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

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

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

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

У нас — Неделя экономики

Формирование экономической грамотности воспитанников — важнейшее направление воспитательной работы нашего Центра. Экономическое воспитание сегодня необходимо для воспитания членов общества, способных правильно понимать происходящие социально-экономические процессы, выполнять экономические функции (потребителя, работника, соискателя рабочего места, собственника, налогоплательщика, вкладчика, предпринимателя и другие), а также для формирования основ экономических знаний и умений принимать решения в жизненно важных ситуациях социально-экономического характера. Ставшая традиционной, Неделя экономики, проводимая в Центре в феврале стартовала 12 февраля. Мы планируем организовать игру-общение «Что такое банк» (12.02), беседу...

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

Состоялась профилактическая беседа с представителями ОВД

С визитом к нашим ребятам приехали участковый инспектор ООПП ОВД Гродненского райисполкома Станислав Сергеевич Шутович и специалист I категории ИДН ОВД Гродненского райисполкома Ольга Николаевна Попко, провели профилактическую беседу.

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

Стартовала «Декада пожарной безопасности»

1 февраля стартовала "Декада пожарной безопасности", в рамках которой в Центре планируется проведение следующих мероприятий с воспитанниками: устный журнал «Опасность глазами детей» (01.02), игра – эстафета «Не шути с огнём» (02.02), конкурс рисунков "Береги дом от пожара!" (03.02), видеолекторий о пожарной безопасности (04.02), флеш-моб «Мы за безопасность!» (05.02),  практическое занятие по эвакуации в случае пожара (06.02), дискуссионные качели «Огонь – мой друг, огонь – мой враг» (07.02),  диспут «Пожар ошибок не прощает» (08.02),  акция «Мы за безопасность» (09.02),...

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

Проведено практическое занятие для специалистов СППС

31.01.2018 г.  в Центре в рамках постоянно действующего практикума состоялось практическое занятие для вновь назначенных (в 2017/2018 учебном году) специалистов СППС учреждений образования, ответственных за реализацию Декрета №18 учреждений дошкольного образования, на тему: «Основные требования к составлению ходатайства о необходимости признания несовершеннолетних нуждающимися в государственной защите. О деятельности совета профилактики в соответствии с обновлением законодательства». Информационные материалы, рассмотренные на занятии, размещены для педагогов в разделах "Педагогам", "В помощь педагогам СППС"  

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