Просмотр исходного кода

#3391 - Text based: Add Attach Link functionality like in Timeline. Forum & Classes Apps

RomanL 4 лет назад
Родитель
Сommit
46edd33834

+ 1 - 1
modules/base/text/classes/BxBaseModTextFormEntry.php

@@ -70,7 +70,7 @@ class BxBaseModTextFormEntry extends BxBaseModGeneralFormEntry
             $this->aInputs[$CNF['FIELD_VIDEO']]['ghost_template'] = $this->_oModule->_oTemplate->parseHtmlByName($this->_sGhostTemplateVideo, $this->_getVideoGhostTmplVars($aContentInfo));
         }
 
-        if(isset($this->aInputs[$CNF['FIELD_LINK']]))
+        if(isset($CNF['FIELD_LINK']) && isset($this->aInputs[$CNF['FIELD_LINK']]))
             $this->aInputs[$CNF['FIELD_LINK']]['content'] = $this->_oModule->_oTemplate->getAttachLinkField($iUserId, $iValueId);
         
         if (isset($CNF['FIELD_SOUND']) && isset($this->aInputs[$CNF['FIELD_SOUND']])) {

+ 1 - 1
modules/base/text/js/links.js

@@ -40,7 +40,7 @@ BxBaseModTextLinks.prototype.initFormPost = function(sFormId)
         window.glOnSpaceEnterInEditor = [];    
 
     window.glOnSpaceEnterInEditor.push(function (sData, sSelector) {
-        sSelector = '#bx_posts [name=text]';
+        sSelector = '#' + $this._sFormId + ' [name=text]';
         if(!oTextarea.is(sSelector))
             return;
 

+ 1 - 1
modules/base/text/template/attach_link_form_field.html

@@ -1 +1 @@
-<div id="__html_id__" class="__style_prefix__-attach-link-form-field bx-def-margin-sec-leftright-neg">__links__</div>
+<div id="__html_id__" class="__style_prefix__-attach-link-form-field bx-base-attach-link-form-field bx-def-margin-sec-leftright-neg">__links__</div>

+ 1 - 1
modules/base/text/template/css/main.css

@@ -292,4 +292,4 @@
 }
 .bx-media-desktop .bx-layout-column-half .bx-base-unit-showcase-wrapper .bx-base-pofile-unit-wo-info-showcase {
     width:calc(10.0%);
-}
+}

+ 6 - 0
modules/base/text/template/css/polls.css

@@ -26,6 +26,12 @@
     float: none;
 }
 
+.bx-base-attach-link-form-field .embed {
+    display: inline-block;
+    vertical-align: top;
+    width: 50%;
+}
+
 
 /*--- Polls list ---*/
 .bx-base-text-polls {

+ 6 - 0
modules/boonex/classes/classes/BxClssConfig.php

@@ -54,6 +54,7 @@ class BxClssConfig extends BxBaseModTextConfig
             'FIELD_FILE' => 'files',
             'FIELD_POLL' => 'polls',
             'FIELD_THUMB' => 'thumb',
+            'FIELD_LINK' => 'link',
             'FIELD_ATTACHMENTS' => 'attachments',
             'FIELD_VIEWS' => 'views',
             'FIELD_COMMENTS' => 'comments',
@@ -71,6 +72,7 @@ class BxClssConfig extends BxBaseModTextConfig
 
              // some params
             'PARAM_MULTICAT_ENABLED' => true,
+            'PARAM_LINKS_ENABLED' => true,
             'PARAM_MULTICAT_AUTO_ACTIVATION_FOR_CATEGORIES' => 'bx_classes_auto_activation_for_categories',
             
             // page URIs
@@ -210,6 +212,10 @@ class BxClssConfig extends BxBaseModTextConfig
             ),
         ));
         
+        $this->_aPrefixes = array(
+            'style' => 'bx-clss',
+        );
+        
         $this->_aJsClasses = array_merge($this->_aJsClasses, array(
             'manage_tools' => 'BxClssManageTools',
             'categories' => 'BxDolCategories'

+ 15 - 0
modules/boonex/classes/install/langs/en.xml

@@ -170,6 +170,21 @@
     <string name="_bx_classes_menu_item_title_cpa_file_html5"><![CDATA[Add Files]]></string>
     <string name="_bx_classes_menu_item_title_system_cpa_poll"><![CDATA[Add Poll]]></string>
     <string name="_bx_classes_menu_item_title_cpa_poll"><![CDATA[Add Poll]]></string>
+    
+    <string name="_bx_classes_menu_item_title_system_add_link"><![CDATA[Add Link]]></string>
+    <string name="_bx_classes_menu_item_title_add_link"><![CDATA[Add Link]]></string>
+    <string name="_bx_classes_form_post_input_link_err_delete"><![CDATA[Cannot remove the link. Please report.]]></string>
+    <string name="_bx_classes_form_post_input_sys_link"><![CDATA[Link]]></string>
+    <string name="_bx_classes_form_post_input_link_alt"><![CDATA[Add Link]]></string>
+    <string name="_bx_classes_form_attach_link"><![CDATA[Attach Link]]></string>
+    <string name="_bx_classes_form_attach_link_display_add"><![CDATA[Attach Link]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_content_id"><![CDATA[Content Id]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_url"><![CDATA[Add Link]]></string>
+    <string name="_bx_classes_form_attach_link_input_url_err"><![CDATA[Correct Link is essential. Please, fill in this field.]]></string>
+    <string name="_bx_classes_form_attach_link_input_url"><![CDATA[Add Link]]></string>
+    <string name="_bx_classes_form_attach_link_input_do_submit"><![CDATA[Add]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_do_submit"><![CDATA[Add]]></string>
+    <string name="_bx_classes_form_attach_link_input_do_cancel"><![CDATA[Close]]></string>
 
     <string name="_bx_classes_menu_set_title_view_entry"><![CDATA[Class Actions]]></string>
     <string name="_bx_classes_menu_title_view_entry"><![CDATA[Class Actions]]></string>

+ 2 - 2
modules/boonex/classes/install/sql/enable.sql

@@ -131,10 +131,10 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_classes_entry_attachments', 'bx_classes', 'sound_html5', '_bx_classes_menu_item_title_system_cpa_sound_html5', '_bx_classes_menu_item_title_cpa_sound_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_sounds_html5}.showUploaderForm();', '_self', 'music', '', '', 2147483647, '', 1, 0, 1, 7),
 ('bx_classes_entry_attachments', 'bx_classes', 'file_simple', '_bx_classes_menu_item_title_system_cpa_file_simple', '_bx_classes_menu_item_title_cpa_file_simple', 'javascript:void(0)', 'javascript:{js_object_uploader_files_simple}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 0, 0, 1, 8),
 ('bx_classes_entry_attachments', 'bx_classes', 'file_html5', '_bx_classes_menu_item_title_system_cpa_file_html5', '_bx_classes_menu_item_title_cpa_file_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_files_html5}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 1, 0, 1, 9),
-('bx_classes_entry_attachments', 'bx_classes', 'poll', '_bx_classes_menu_item_title_system_cpa_poll', '_bx_classes_menu_item_title_cpa_poll', 'javascript:void(0)', 'javascript:{js_object}.showPollForm(this);', '_self', 'tasks', '', '', 2147483647, '', 1, 0, 1, 9);
+('bx_classes_entry_attachments', 'bx_classes', 'poll', '_bx_classes_menu_item_title_system_cpa_poll', '_bx_classes_menu_item_title_cpa_poll', 'javascript:void(0)', 'javascript:{js_object}.showPollForm(this);', '_self', 'tasks', '', '', 2147483647, '', 1, 0, 1, 9),
+('bx_classes_entry_attachments', 'bx_classes', 'add-link', '_bx_classes_menu_item_title_system_add_link', '_bx_classes_menu_item_title_add_link', 'javascript:void(0)', 'javascript:{js_object_link}.showAttachLink(this);', '_self', 'link', '', '', 2147483647, '', 1, 0, 1, 10);
 
 -- MENU: actions menu for view entry 
-
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
 ('bx_classes_view', '_bx_classes_menu_title_view_entry', 'bx_classes_view', 'bx_classes', 9, 0, 1, 'BxClssMenuView', 'modules/boonex/classes/classes/BxClssMenuView.php');
 

+ 71 - 26
modules/boonex/classes/install/sql/install.sql

@@ -191,6 +191,26 @@ CREATE TABLE IF NOT EXISTS `bx_classes_sounds_resized` (
   UNIQUE KEY `remote_id` (`remote_id`)
 );
 
+CREATE TABLE IF NOT EXISTS `bx_classes_links` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(10) unsigned NOT NULL,
+  `media_id` int(11) NOT NULL DEFAULT '0',
+  `url` varchar(255) NOT NULL,
+  `title` varchar(255) NOT NULL,
+  `text` text NOT NULL,
+  `added` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `profile_id` (`profile_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_classes_links2content` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `content_id` int(11) NOT NULL DEFAULT '0',
+  `link_id` int(11) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `link` (`link_id`, `content_id`)
+);
+
 -- TABLE: comments
 CREATE TABLE IF NOT EXISTS `bx_classes_cmts` (
   `cmt_id` int(11) NOT NULL AUTO_INCREMENT,
@@ -472,6 +492,7 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_classes', 'bx_classes', 'covers', 'a:1:{i:0;s:16:"bx_classes_html5";}', 'a:2:{s:17:"bx_classes_simple";s:26:"_sys_uploader_simple_title";s:16:"bx_classes_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_covers', '_bx_classes_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'pictures', 'a:1:{i:0;s:23:"bx_classes_photos_html5";}', 'a:2:{s:24:"bx_classes_photos_simple";s:26:"_sys_uploader_simple_title";s:23:"bx_classes_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_pictures', '_bx_classes_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'videos', 'a:2:{i:0;s:23:"bx_classes_videos_html5";i:1;s:30:"bx_classes_videos_record_video";}', 'a:3:{s:24:"bx_classes_videos_simple";s:26:"_sys_uploader_simple_title";s:23:"bx_classes_videos_html5";s:25:"_sys_uploader_html5_title";s:30:"bx_classes_videos_record_video";s:32:"_sys_uploader_record_video_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_videos', '_bx_classes_form_entry_input_videos', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_classes', 'bx_classes', 'link', '', '', 0, 'custom', '_bx_classes_form_post_input_sys_link', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'sounds', 'a:1:{i:0;s:23:"bx_classes_sounds_html5";}', 'a:2:{s:24:"bx_classes_sounds_simple";s:26:"_sys_uploader_simple_title";s:23:"bx_classes_sounds_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_sounds', '_bx_classes_form_entry_input_sounds', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'files', 'a:1:{i:0;s:22:"bx_classes_files_html5";}', 'a:2:{s:23:"bx_classes_files_simple";s:26:"_sys_uploader_simple_title";s:22:"bx_classes_files_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_files', '_bx_classes_form_entry_input_files', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'polls', '', '', 0, 'custom', '_bx_classes_form_entry_input_sys_polls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -497,19 +518,20 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_classes_entry_add', 'title', 2147483647, 1, 3),
 ('bx_classes_entry_add', 'text', 2147483647, 1, 4),
 ('bx_classes_entry_add', 'attachments', 2147483647, 1, 5),
-('bx_classes_entry_add', 'pictures', 2147483647, 1, 6),
-('bx_classes_entry_add', 'videos', 2147483647, 1, 7),
-('bx_classes_entry_add', 'sounds', 2147483647, 1, 8),
-('bx_classes_entry_add', 'files', 2147483647, 1, 9),
-('bx_classes_entry_add', 'polls', 2147483647, 1, 10),
-('bx_classes_entry_add', 'start_date', 2147483647, 1, 11),
-('bx_classes_entry_add', 'end_date', 2147483647, 1, 12),
-('bx_classes_entry_add', 'completed_when', 2147483647, 1, 13),
-('bx_classes_entry_add', 'avail', 2147483647, 1, 14),
-('bx_classes_entry_add', 'cmts', 2147483647, 1, 15),
-('bx_classes_entry_add', 'allow_view_to', 2147483647, 1, 16),
-('bx_classes_entry_add', 'cf', 2147483647, 1, 17),
-('bx_classes_entry_add', 'do_publish', 2147483647, 1, 18),
+('bx_classes_entry_add', 'link', 2147483647, 1, 6),
+('bx_classes_entry_add', 'pictures', 2147483647, 1, 7),
+('bx_classes_entry_add', 'videos', 2147483647, 1, 8),
+('bx_classes_entry_add', 'sounds', 2147483647, 1, 9),
+('bx_classes_entry_add', 'files', 2147483647, 1, 10),
+('bx_classes_entry_add', 'polls', 2147483647, 1, 11),
+('bx_classes_entry_add', 'start_date', 2147483647, 1, 12),
+('bx_classes_entry_add', 'end_date', 2147483647, 1, 13),
+('bx_classes_entry_add', 'completed_when', 2147483647, 1, 14),
+('bx_classes_entry_add', 'avail', 2147483647, 1, 15),
+('bx_classes_entry_add', 'cmts', 2147483647, 1, 16),
+('bx_classes_entry_add', 'allow_view_to', 2147483647, 1, 17),
+('bx_classes_entry_add', 'cf', 2147483647, 1, 18),
+('bx_classes_entry_add', 'do_publish', 2147483647, 1, 19),
 
 ('bx_classes_entry_delete', 'delete_confirm', 2147483647, 1, 1),
 ('bx_classes_entry_delete', 'do_submit', 2147483647, 1, 2),
@@ -519,19 +541,20 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_classes_entry_edit', 'title', 2147483647, 1, 3),
 ('bx_classes_entry_edit', 'text', 2147483647, 1, 4),
 ('bx_classes_entry_edit', 'attachments', 2147483647, 1, 5),
-('bx_classes_entry_edit', 'pictures', 2147483647, 1, 6),
-('bx_classes_entry_edit', 'videos', 2147483647, 1, 7),
-('bx_classes_entry_edit', 'sounds', 2147483647, 1, 8),
-('bx_classes_entry_edit', 'files', 2147483647, 1, 9),
-('bx_classes_entry_edit', 'polls', 2147483647, 1, 10),
-('bx_classes_entry_edit', 'start_date', 2147483647, 1, 11),
-('bx_classes_entry_edit', 'end_date', 2147483647, 1, 12),
-('bx_classes_entry_edit', 'completed_when', 2147483647, 1, 13),
-('bx_classes_entry_edit', 'avail', 2147483647, 1, 14),
-('bx_classes_entry_edit', 'cmts', 2147483647, 1, 15),
-('bx_classes_entry_edit', 'allow_view_to', 2147483647, 1, 16),
-('bx_classes_entry_edit', 'cf', 2147483647, 1, 17),
-('bx_classes_entry_edit', 'do_submit', 2147483647, 1, 18),
+('bx_classes_entry_edit', 'link', 2147483647, 1, 6),
+('bx_classes_entry_edit', 'pictures', 2147483647, 1, 7),
+('bx_classes_entry_edit', 'videos', 2147483647, 1, 8),
+('bx_classes_entry_edit', 'sounds', 2147483647, 1, 9),
+('bx_classes_entry_edit', 'files', 2147483647, 1, 10),
+('bx_classes_entry_edit', 'polls', 2147483647, 1, 11),
+('bx_classes_entry_edit', 'start_date', 2147483647, 1, 12),
+('bx_classes_entry_edit', 'end_date', 2147483647, 1, 13),
+('bx_classes_entry_edit', 'completed_when', 2147483647, 1, 14),
+('bx_classes_entry_edit', 'avail', 2147483647, 1, 15),
+('bx_classes_entry_edit', 'cmts', 2147483647, 1, 16),
+('bx_classes_entry_edit', 'allow_view_to', 2147483647, 1, 17),
+('bx_classes_entry_edit', 'cf', 2147483647, 1, 18),
+('bx_classes_entry_edit', 'do_submit', 2147483647, 1, 19),
 
 ('bx_classes_entry_view', 'module_id', 2147483647, 1, 1),
 ('bx_classes_entry_view', 'completed_when', 2147483647, 1, 2),
@@ -561,6 +584,28 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_classes_poll_add', 'do_submit', 2147483647, 1, 4),
 ('bx_classes_poll_add', 'do_cancel', 2147483647, 1, 5);
 
+
+-- Forms -> Attach link
+INSERT INTO `sys_objects_form` (`object`, `module`, `title`, `action`, `form_attrs`, `submit_name`, `table`, `key`, `uri`, `uri_title`, `params`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES
+('bx_classes_attach_link', 'bx_classes', '_bx_classes_form_attach_link', '', '', 'do_submit', 'bx_classes_links', 'id', '', '', '', 0, 1, '', '');
+
+INSERT INTO `sys_form_displays` (`display_name`, `module`, `object`, `title`, `view_mode`) VALUES
+('bx_classes_attach_link_add', 'bx_classes', 'bx_classes_attach_link', '_bx_classes_form_attach_link_display_add', 0);
+
+INSERT INTO `sys_form_inputs` (`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES
+('bx_classes_attach_link', 'bx_classes', 'content_id', '0', '', 0, 'hidden', '_bx_classes_form_attach_link_input_sys_content_id', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_classes_attach_link', 'bx_classes', 'url', '', '', 0, 'text', '_bx_classes_form_attach_link_input_sys_url', '_bx_classes_form_attach_link_input_url', '', 0, 0, 0, '', '', '', 'Preg', 'a:1:{s:4:"preg";s:0:"";}', '_bx_classes_form_attach_link_input_url_err', '', '', 0, 0),
+('bx_classes_attach_link', 'bx_classes', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_classes_attach_link', 'bx_classes', 'do_submit', '_bx_classes_form_attach_link_input_do_submit', '', 0, 'submit', '_bx_classes_form_attach_link_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_classes_attach_link', 'bx_classes', 'do_cancel', '_bx_classes_form_attach_link_input_do_cancel', '', 0, 'button', '_bx_classes_form_attach_link_input_do_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:45:"$(''.bx-popup-applied:visible'').dolPopupHide()";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0);
+
+INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
+('bx_classes_attach_link_add', 'content_id', 2147483647, 1, 1),
+('bx_classes_attach_link_add', 'url', 2147483647, 1, 2),
+('bx_classes_attach_link_add', 'controls', 2147483647, 1, 3),
+('bx_classes_attach_link_add', 'do_submit', 2147483647, 1, 4),
+('bx_classes_attach_link_add', 'do_cancel', 2147483647, 1, 5);
+
 -- PRE-VALUES
 
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES

+ 1 - 1
modules/boonex/classes/install/sql/uninstall.sql

@@ -1,6 +1,6 @@
 
 -- TABLES
-DROP TABLE IF EXISTS `bx_classes_classes`, `bx_classes_modules`, `bx_classes_statuses`, `bx_classes_covers`, `bx_classes_files`, `bx_classes_photos`, `bx_classes_photos_resized`, `bx_classes_videos`, `bx_classes_videos_resized`, `bx_classes_sounds`, `bx_classes_sounds_resized`, `bx_classes_cmts`, `bx_classes_cmts_notes`, `bx_classes_votes`, `bx_classes_votes_track`, `bx_classes_reactions`, `bx_classes_reactions_track`, `bx_classes_views_track`, `bx_classes_meta_keywords`, `bx_classes_meta_locations`, `bx_classes_meta_mentions`, `bx_classes_reports`, `bx_classes_reports_track`, `bx_classes_favorites_track`, `bx_classes_scores`, `bx_classes_scores_track`, `bx_classes_polls`, `bx_classes_polls_answers`, `bx_classes_polls_answers_votes`, `bx_classes_polls_answers_votes_track`;
+DROP TABLE IF EXISTS `bx_classes_classes`, `bx_classes_modules`, `bx_classes_statuses`, `bx_classes_covers`, `bx_classes_files`, `bx_classes_photos`, `bx_classes_photos_resized`, `bx_classes_videos`, `bx_classes_videos_resized`, `bx_classes_sounds`, `bx_classes_sounds_resized`, `bx_classes_links`, `bx_classes_links2content`, `bx_classes_cmts`, `bx_classes_cmts_notes`, `bx_classes_votes`, `bx_classes_votes_track`, `bx_classes_reactions`, `bx_classes_reactions_track`, `bx_classes_views_track`, `bx_classes_meta_keywords`, `bx_classes_meta_locations`, `bx_classes_meta_mentions`, `bx_classes_reports`, `bx_classes_reports_track`, `bx_classes_favorites_track`, `bx_classes_scores`, `bx_classes_scores_track`, `bx_classes_polls`, `bx_classes_polls_answers`, `bx_classes_polls_answers_votes`, `bx_classes_polls_answers_votes_track`;
 
 -- STORAGES & TRANSCODERS
 DELETE FROM `sys_objects_storage` WHERE `object` LIKE 'bx_classes_%';

+ 21 - 0
modules/boonex/classes/js/links.js

@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Classes Classes
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+function BxClssLinks(oOptions)
+{
+    BxBaseModTextLinks.call(this, oOptions);
+
+    this._sObjName = oOptions.sObjName == undefined ? 'oBxClssLinks' : oOptions.sObjName;
+}
+
+BxClssLinks.prototype = Object.create(BxBaseModTextLinks.prototype);
+BxClssLinks.prototype.constructor = BxClssLinks;
+
+/** @} */

+ 7 - 1
modules/boonex/forum/classes/BxForumConfig.php

@@ -63,6 +63,7 @@ class BxForumConfig extends BxBaseModTextConfig
             'FIELD_POLL' => 'polls',
             'FIELD_THUMB' => 'thumb',
             'FIELD_ATTACHMENTS' => 'attachments',
+            'FIELD_LINK' => 'link',
             'FIELD_VIEWS' => 'views',
             'FIELD_VOTES' => 'votes',
             'FIELD_COMMENTS' => 'comments',
@@ -109,7 +110,8 @@ class BxForumConfig extends BxBaseModTextConfig
             'PARAM_NUM_RSS' => 'bx_forum_rss_num',
             'PARAM_SEARCHABLE_FIELDS' => 'bx_forum_searchable_fields',
             'PARAM_AUTOSUBSCRIBE_CREATED' => 'bx_forum_autosubscribe_created',
-            'PARAM_AUTOSUBSCRIBE_REPLIED' => 'bx_forum_autosubscribe_replied',           
+            'PARAM_AUTOSUBSCRIBE_REPLIED' => 'bx_forum_autosubscribe_replied', 
+            'PARAM_LINKS_ENABLED' => true,
 
             // objects
             'OBJECT_GRID' => 'bx_forum',
@@ -230,6 +232,10 @@ class BxForumConfig extends BxBaseModTextConfig
             ),
         ));
 
+        $this->_aPrefixes = array(
+            'style' => 'bx-forum',
+        );
+        
         $this->_aJsClasses = array_merge($this->_aJsClasses, array(
             'main' => 'BxForumMain',
             'entry' => 'BxForumEntry',

+ 16 - 0
modules/boonex/forum/install/langs/en.xml

@@ -240,6 +240,22 @@
     <string name="_bx_forum_menu_item_title_cpa_file_html5"><![CDATA[Add Files]]></string>
     <string name="_bx_forum_menu_item_title_system_cpa_poll"><![CDATA[Add Poll]]></string>
     <string name="_bx_forum_menu_item_title_cpa_poll"><![CDATA[Add Poll]]></string>
+    
+    <string name="_bx_forum_menu_item_title_system_add_link"><![CDATA[Add Link]]></string>
+    <string name="_bx_forum_menu_item_title_add_link"><![CDATA[Add Link]]></string>
+    <string name="_bx_forum_form_post_input_link_err_delete"><![CDATA[Cannot remove the link. Please report.]]></string>
+    <string name="_bx_forum_form_post_input_sys_link"><![CDATA[Link]]></string>
+    <string name="_bx_forum_form_post_input_link_alt"><![CDATA[Add Link]]></string>
+    <string name="_bx_forum_form_attach_link"><![CDATA[Attach Link]]></string>
+    <string name="_bx_forum_form_attach_link_display_add"><![CDATA[Attach Link]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_content_id"><![CDATA[Content Id]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_url"><![CDATA[Add Link]]></string>
+    <string name="_bx_forum_form_attach_link_input_url_err"><![CDATA[Correct Link is essential. Please, fill in this field.]]></string>
+    <string name="_bx_forum_form_attach_link_input_url"><![CDATA[Add Link]]></string>
+    <string name="_bx_forum_form_attach_link_input_do_submit"><![CDATA[Add]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_do_submit"><![CDATA[Add]]></string>
+    <string name="_bx_forum_form_attach_link_input_do_cancel"><![CDATA[Close]]></string>
+    
 
     <string name="_bx_forum_menu_title_submenu"><![CDATA[Forum Submenu]]></string>
     <string name="_bx_forum_menu_set_title_submenu"><![CDATA[Forum Submenu]]></string>

+ 2 - 1
modules/boonex/forum/install/sql/enable.sql

@@ -247,7 +247,8 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_forum_entry_attachments', @sName, 'video_record_video', '_bx_forum_menu_item_title_system_cpa_video_record', '_bx_forum_menu_item_title_cpa_video_record', 'javascript:void(0)', 'javascript:{js_object_uploader_videos_record_video}.showUploaderForm();', '_self', 'fas circle', '', '', 2147483647, '', 1, 0, 1, 5),
 ('bx_forum_entry_attachments', @sName, 'file_simple', '_bx_forum_menu_item_title_system_cpa_file_simple', '_bx_forum_menu_item_title_cpa_file_simple', 'javascript:void(0)', 'javascript:{js_object_uploader_files_simple}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 0, 0, 1, 6),
 ('bx_forum_entry_attachments', @sName, 'file_html5', '_bx_forum_menu_item_title_system_cpa_file_html5', '_bx_forum_menu_item_title_cpa_file_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_files_html5}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 1, 0, 1, 7),
-('bx_forum_entry_attachments', @sName, 'poll', '_bx_forum_menu_item_title_system_cpa_poll', '_bx_forum_menu_item_title_cpa_poll', 'javascript:void(0)', 'javascript:{js_object}.showPollForm(this);', '_self', 'tasks', '', '', 2147483647, '', 1, 0, 1, 7);
+('bx_forum_entry_attachments', @sName, 'poll', '_bx_forum_menu_item_title_system_cpa_poll', '_bx_forum_menu_item_title_cpa_poll', 'javascript:void(0)', 'javascript:{js_object}.showPollForm(this);', '_self', 'tasks', '', '', 2147483647, '', 1, 0, 1, 8),
+('bx_forum_entry_attachments', @sName, 'add-link', '_bx_forum_menu_item_title_system_add_link', '_bx_forum_menu_item_title_add_link', 'javascript:void(0)', 'javascript:{js_object_link}.showAttachLink(this);', '_self', 'link', '', '', 2147483647, '', 1, 0, 1, 10);
 
 -- MENU: actions menu for view entry 
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 

+ 65 - 18
modules/boonex/forum/install/sql/install.sql

@@ -146,6 +146,27 @@ CREATE TABLE IF NOT EXISTS `bx_forum_videos_resized` (
   UNIQUE KEY `remote_id` (`remote_id`)
 );
 
+-- TABLES: LINKS
+CREATE TABLE IF NOT EXISTS `bx_forum_links` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(10) unsigned NOT NULL,
+  `media_id` int(11) NOT NULL DEFAULT '0',
+  `url` varchar(255) NOT NULL,
+  `title` varchar(255) NOT NULL,
+  `text` text NOT NULL,
+  `added` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `profile_id` (`profile_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_forum_links2content` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `content_id` int(11) NOT NULL DEFAULT '0',
+  `link_id` int(11) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `link` (`link_id`, `content_id`)
+);
+
 -- TABLE: subscribers
 CREATE TABLE IF NOT EXISTS `bx_forum_subscribers` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
@@ -445,6 +466,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 (@sName, @sName, 'covers', 'a:1:{i:0;s:14:"bx_forum_html5";}', 'a:2:{s:15:"bx_forum_simple";s:26:"_sys_uploader_simple_title";s:14:"bx_forum_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_forum_form_entry_input_sys_covers', '_bx_forum_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'pictures', 'a:1:{i:0;s:21:"bx_forum_photos_html5";}', 'a:2:{s:22:"bx_forum_photos_simple";s:26:"_sys_uploader_simple_title";s:21:"bx_forum_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_forum_form_entry_input_sys_pictures', '_bx_forum_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'videos', 'a:2:{i:0;s:21:"bx_forum_videos_html5";i:1;s:28:"bx_forum_videos_record_video";}', 'a:3:{s:22:"bx_forum_videos_simple";s:26:"_sys_uploader_simple_title";s:21:"bx_forum_videos_html5";s:25:"_sys_uploader_html5_title";s:28:"bx_forum_videos_record_video";s:32:"_sys_uploader_record_video_title";}', 0, 'files', '_bx_forum_form_entry_input_sys_videos', '_bx_forum_form_entry_input_videos', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+(@sName, @sName, 'link', '', '', 0, 'custom', '_bx_forum_form_post_input_sys_link', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+
 (@sName, @sName, 'files', 'a:1:{i:0;s:20:"bx_forum_files_html5";}', 'a:2:{s:21:"bx_forum_files_simple";s:26:"_sys_uploader_simple_title";s:20:"bx_forum_files_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_forum_form_entry_input_sys_files', '_bx_forum_form_entry_input_files', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'polls', '', '', 0, 'custom', '_bx_forum_form_entry_input_sys_polls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'labels', '', '', 0, 'custom', '_sys_form_input_sys_labels', '_sys_form_input_labels', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -463,29 +486,31 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_forum_entry_add', 'cat', 2147483647, 1, 2),
 ('bx_forum_entry_add', 'text', 2147483647, 1, 3),
 ('bx_forum_entry_add', 'attachments', 2147483647, 1, 4),
-('bx_forum_entry_add', 'pictures', 2147483647, 1, 5),
-('bx_forum_entry_add', 'videos', 2147483647, 1, 6),
-('bx_forum_entry_add', 'files', 2147483647, 1, 7),
-('bx_forum_entry_add', 'polls', 2147483647, 1, 8),
-('bx_forum_entry_add', 'covers', 2147483647, 1, 9),
-('bx_forum_entry_add', 'allow_view_to', 2147483647, 1, 10),
-('bx_forum_entry_add', 'cf', 2147483647, 1, 11),
-('bx_forum_entry_add', 'resolvable', 2147483647, 1, 12),
-('bx_forum_entry_add', 'do_submit', 2147483647, 1, 13),
+('bx_forum_entry_add', 'link', 2147483647, 1, 5),
+('bx_forum_entry_add', 'pictures', 2147483647, 1, 6),
+('bx_forum_entry_add', 'videos', 2147483647, 1, 7),
+('bx_forum_entry_add', 'files', 2147483647, 1, 8),
+('bx_forum_entry_add', 'polls', 2147483647, 1, 9),
+('bx_forum_entry_add', 'covers', 2147483647, 1, 10),
+('bx_forum_entry_add', 'allow_view_to', 2147483647, 1, 11),
+('bx_forum_entry_add', 'cf', 2147483647, 1, 12),
+('bx_forum_entry_add', 'resolvable', 2147483647, 1, 13),
+('bx_forum_entry_add', 'do_submit', 2147483647, 1, 14),
 
 ('bx_forum_entry_edit', 'title', 2147483647, 1, 1),
 ('bx_forum_entry_edit', 'cat', 2147483647, 1, 2),
 ('bx_forum_entry_edit', 'text', 2147483647, 1, 3),
 ('bx_forum_entry_edit', 'attachments', 2147483647, 1, 4),
-('bx_forum_entry_edit', 'pictures', 2147483647, 1, 5),
-('bx_forum_entry_edit', 'videos', 2147483647, 1, 6),
-('bx_forum_entry_edit', 'files', 2147483647, 1, 7),
-('bx_forum_entry_edit', 'polls', 2147483647, 1, 8),
-('bx_forum_entry_edit', 'covers', 2147483647, 1, 9),
-('bx_forum_entry_edit', 'allow_view_to', 2147483647, 1, 10),
-('bx_forum_entry_edit', 'cf', 2147483647, 1, 11),
-('bx_forum_entry_edit', 'resolvable', 2147483647, 1, 12),
-('bx_forum_entry_edit', 'do_submit', 2147483647, 1, 13),
+('bx_forum_entry_edit', 'link', 2147483647, 1, 5),
+('bx_forum_entry_edit', 'pictures', 2147483647, 1, 6),
+('bx_forum_entry_edit', 'videos', 2147483647, 1, 7),
+('bx_forum_entry_edit', 'files', 2147483647, 1, 8),
+('bx_forum_entry_edit', 'polls', 2147483647, 1, 9),
+('bx_forum_entry_edit', 'covers', 2147483647, 1, 10),
+('bx_forum_entry_edit', 'allow_view_to', 2147483647, 1, 11),
+('bx_forum_entry_edit', 'cf', 2147483647, 1, 12),
+('bx_forum_entry_edit', 'resolvable', 2147483647, 1, 13),
+('bx_forum_entry_edit', 'do_submit', 2147483647, 1, 14),
 
 ('bx_forum_entry_view', 'title', 2147483647, 1, 1),
 ('bx_forum_entry_view', 'cat', 2147483647, 1, 2),
@@ -521,6 +546,28 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_forum_poll_add', 'do_cancel', 2147483647, 1, 5);
 
 
+-- Forms -> Attach link
+INSERT INTO `sys_objects_form` (`object`, `module`, `title`, `action`, `form_attrs`, `submit_name`, `table`, `key`, `uri`, `uri_title`, `params`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES
+('bx_forum_attach_link', 'bx_forum', '_bx_forum_form_attach_link', '', '', 'do_submit', 'bx_forum_links', 'id', '', '', '', 0, 1, '', '');
+
+INSERT INTO `sys_form_displays` (`display_name`, `module`, `object`, `title`, `view_mode`) VALUES
+('bx_forum_attach_link_add', 'bx_forum', 'bx_forum_attach_link', '_bx_forum_form_attach_link_display_add', 0);
+
+INSERT INTO `sys_form_inputs` (`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES
+('bx_forum_attach_link', 'bx_forum', 'content_id', '0', '', 0, 'hidden', '_bx_forum_form_attach_link_input_sys_content_id', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_forum_attach_link', 'bx_forum', 'url', '', '', 0, 'text', '_bx_forum_form_attach_link_input_sys_url', '_bx_forum_form_attach_link_input_url', '', 0, 0, 0, '', '', '', 'Preg', 'a:1:{s:4:"preg";s:0:"";}', '_bx_forum_form_attach_link_input_url_err', '', '', 0, 0),
+('bx_forum_attach_link', 'bx_forum', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_forum_attach_link', 'bx_forum', 'do_submit', '_bx_forum_form_attach_link_input_do_submit', '', 0, 'submit', '_bx_forum_form_attach_link_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_forum_attach_link', 'bx_forum', 'do_cancel', '_bx_forum_form_attach_link_input_do_cancel', '', 0, 'button', '_bx_forum_form_attach_link_input_do_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:45:"$(''.bx-popup-applied:visible'').dolPopupHide()";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0);
+
+
+INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
+('bx_forum_attach_link_add', 'content_id', 2147483647, 1, 1),
+('bx_forum_attach_link_add', 'url', 2147483647, 1, 2),
+('bx_forum_attach_link_add', 'controls', 2147483647, 1, 3),
+('bx_forum_attach_link_add', 'do_submit', 2147483647, 1, 4),
+('bx_forum_attach_link_add', 'do_cancel', 2147483647, 1, 5);
+
 -- PRE-VALUES
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
 ('bx_forum_cats', '_bx_forum_pre_lists_cats', 'bx_forum', '0');

+ 1 - 1
modules/boonex/forum/install/sql/uninstall.sql

@@ -2,7 +2,7 @@ SET @sName = 'bx_forum';
 
 
 -- TABLES: entries
-DROP TABLE IF EXISTS `bx_forum_discussions`, `bx_forum_categories`, `bx_forum_covers`, `bx_forum_files`, `bx_forum_photos`, `bx_forum_photos_resized`, `bx_forum_videos`, `bx_forum_videos_resized`, `bx_forum_subscribers`, `bx_forum_cmts`, `bx_forum_cmts_notes`, `bx_forum_views_track`, `bx_forum_votes`, `bx_forum_votes_track`, `bx_forum_reactions`, `bx_forum_reactions_track`, `bx_forum_meta_keywords`, `bx_forum_meta_mentions`, `bx_forum_reports`, `bx_forum_reports_track`, `bx_forum_favorites_lists`, `bx_forum_favorites_track`, `bx_forum_scores`, `bx_forum_scores_track`, `bx_forum_polls`, `bx_forum_polls_answers`, `bx_forum_polls_answers_votes`, `bx_forum_polls_answers_votes_track`;
+DROP TABLE IF EXISTS `bx_forum_discussions`, `bx_forum_categories`, `bx_forum_covers`, `bx_forum_files`, `bx_forum_photos`, `bx_forum_photos_resized`, `bx_forum_videos`, `bx_forum_videos_resized`, `bx_forum_links`, `bx_forum_links2content`, `bx_forum_subscribers`, `bx_forum_cmts`, `bx_forum_cmts_notes`, `bx_forum_views_track`, `bx_forum_votes`, `bx_forum_votes_track`, `bx_forum_reactions`, `bx_forum_reactions_track`, `bx_forum_meta_keywords`, `bx_forum_meta_mentions`, `bx_forum_reports`, `bx_forum_reports_track`, `bx_forum_favorites_lists`, `bx_forum_favorites_track`, `bx_forum_scores`, `bx_forum_scores_track`, `bx_forum_polls`, `bx_forum_polls_answers`, `bx_forum_polls_answers_votes`, `bx_forum_polls_answers_votes_track`;
 
 
 -- STORAGES & TRANSCODERS

+ 21 - 0
modules/boonex/forum/js/links.js

@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Forum Forum
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+function BxForumLinks(oOptions)
+{
+    BxBaseModTextLinks.call(this, oOptions);
+
+    this._sObjName = oOptions.sObjName == undefined ? 'oBxForumLinks' : oOptions.sObjName;
+}
+
+BxForumLinks.prototype = Object.create(BxBaseModTextLinks.prototype);
+BxForumLinks.prototype.constructor = BxForumLinks;
+
+/** @} */

+ 15 - 0
modules/boonex/russian/data/langs/bx_classes/ru.xml

@@ -169,6 +169,21 @@
   <string name="_bx_classes_menu_item_title_cpa_file_html5"><![CDATA[Добавить файл]]></string>
   <string name="_bx_classes_menu_item_title_system_cpa_poll"><![CDATA[Добавить голосование]]></string>
   <string name="_bx_classes_menu_item_title_cpa_poll"><![CDATA[Добавить голосование]]></string>
+    
+    <string name="_bx_classes_menu_item_title_system_add_link"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_classes_menu_item_title_add_link"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_classes_form_post_input_link_err_delete"><![CDATA[Невозможно удалить ссылку. Пожалуйста, оповестите нас о проблеме.]]></string>
+    <string name="_bx_classes_form_post_input_sys_link"><![CDATA[Ссылка]]></string>
+    <string name="_bx_classes_form_post_input_link_alt"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_classes_form_attach_link"><![CDATA[Прикрепить ссылку]]></string>
+    <string name="_bx_classes_form_attach_link_display_add"><![CDATA[Прикрепить ссылку]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_content_id"><![CDATA[Content Id]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_url"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_classes_form_attach_link_input_url_err"><![CDATA[Необходима правильная ссылка. Пожалуйста, заполните это поле.]]></string>
+    <string name="_bx_classes_form_attach_link_input_url"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_classes_form_attach_link_input_do_submit"><![CDATA[Добавить]]></string>
+    <string name="_bx_classes_form_attach_link_input_sys_do_submit"><![CDATA[Добавить]]></string>
+    <string name="_bx_classes_form_attach_link_input_do_cancel"><![CDATA[Закрыть]]></string>
 
   <string name="_bx_classes_menu_set_title_view_entry"><![CDATA[Класс - Действия]]></string>
   <string name="_bx_classes_menu_title_view_entry"><![CDATA[Класс - Действия]]></string>

+ 15 - 0
modules/boonex/russian/data/langs/bx_forum/ru.xml

@@ -231,6 +231,21 @@
     <string name="_bx_forum_menu_item_title_cpa_file_html5"><![CDATA[Добавить файл]]></string>
     <string name="_bx_forum_menu_item_title_system_cpa_poll"><![CDATA[Добавить голосование]]></string>
     <string name="_bx_forum_menu_item_title_cpa_poll"><![CDATA[Добавить голосование]]></string>
+    
+    <string name="_bx_forum_menu_item_title_system_add_link"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_forum_menu_item_title_add_link"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_forum_form_post_input_link_err_delete"><![CDATA[Невозможно удалить ссылку. Пожалуйста, оповестите нас о проблеме.]]></string>
+    <string name="_bx_forum_form_post_input_sys_link"><![CDATA[Ссылка]]></string>
+    <string name="_bx_forum_form_post_input_link_alt"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_forum_form_attach_link"><![CDATA[Прикрепить ссылку]]></string>
+    <string name="_bx_forum_form_attach_link_display_add"><![CDATA[Прикрепить ссылку]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_content_id"><![CDATA[Content Id]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_url"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_forum_form_attach_link_input_url_err"><![CDATA[Необходима правильная ссылка. Пожалуйста, заполните это поле.]]></string>
+    <string name="_bx_forum_form_attach_link_input_url"><![CDATA[Добавить ссылку]]></string>
+    <string name="_bx_forum_form_attach_link_input_do_submit"><![CDATA[Добавить]]></string>
+    <string name="_bx_forum_form_attach_link_input_sys_do_submit"><![CDATA[Добавить]]></string>
+    <string name="_bx_forum_form_attach_link_input_do_cancel"><![CDATA[Закрыть]]></string>
 
     <string name="_bx_forum_menu_title_submenu"><![CDATA[Форум - Подменю]]></string>
     <string name="_bx_forum_menu_set_title_submenu"><![CDATA[Форум - Подменю]]></string>

+ 0 - 1
modules/boonex/timeline/js/post.js

@@ -101,7 +101,6 @@ BxTimelinePost.prototype.initFormPost = function(sFormId)
         window.glOnSpaceEnterInEditor = [];    
 
     window.glOnSpaceEnterInEditor.push(function (sData, sSelector) {
-        sSelector = '#bx_posts [name=text]';
         if(!oTextarea.is(sSelector))
             return;