AntonLV 7 ani în urmă
părinte
comite
282b438506
61 a modificat fișierele cu 2573 adăugiri și 1 ștergeri
  1. 2 1
      modules/boonex/convos/updates/9.0.14_10.0.0/install/langs/en.xml
  2. 51 0
      modules/boonex/massmailer/updates/9.0.5_9.0.6/install/config.php
  3. 13 0
      modules/boonex/massmailer/updates/9.0.5_9.0.6/install/installer.php
  4. 7 0
      modules/boonex/massmailer/updates/9.0.5_9.0.6/install/sql/enable.sql
  5. 51 0
      modules/boonex/notifications/updates/9.0.14_10.0.0/install/config.php
  6. 22 0
      modules/boonex/notifications/updates/9.0.14_10.0.0/install/installer.php
  7. 12 0
      modules/boonex/notifications/updates/9.0.14_10.0.0/install/langs/en.xml
  8. 19 0
      modules/boonex/notifications/updates/9.0.14_10.0.0/install/sql/enable.sql
  9. 17 0
      modules/boonex/notifications/updates/9.0.14_10.0.0/install/sql/install.sql
  10. 59 0
      modules/boonex/organizations/updates/9.0.12_10.0.0/install/config.php
  11. 23 0
      modules/boonex/organizations/updates/9.0.12_10.0.0/install/installer.php
  12. 57 0
      modules/boonex/organizations/updates/9.0.12_10.0.0/install/langs/en.xml
  13. 95 0
      modules/boonex/organizations/updates/9.0.12_10.0.0/install/sql/enable.sql
  14. 35 0
      modules/boonex/organizations/updates/9.0.12_10.0.0/install/sql/install.sql
  15. 51 0
      modules/boonex/payment/updates/9.0.13_10.0.0/install/config.php
  16. 13 0
      modules/boonex/payment/updates/9.0.13_10.0.0/install/installer.php
  17. 8 0
      modules/boonex/payment/updates/9.0.13_10.0.0/install/langs/en.xml
  18. 5 0
      modules/boonex/payment/updates/9.0.13_10.0.0/install/sql/install.sql
  19. 59 0
      modules/boonex/persons/updates/9.0.12_10.0.0/install/config.php
  20. 23 0
      modules/boonex/persons/updates/9.0.12_10.0.0/install/installer.php
  21. 35 0
      modules/boonex/persons/updates/9.0.12_10.0.0/install/langs/en.xml
  22. 92 0
      modules/boonex/persons/updates/9.0.12_10.0.0/install/sql/enable.sql
  23. 39 0
      modules/boonex/persons/updates/9.0.12_10.0.0/install/sql/install.sql
  24. 51 0
      modules/boonex/photos/updates/9.0.6_10.0.0/install/config.php
  25. 25 0
      modules/boonex/photos/updates/9.0.6_10.0.0/install/installer.php
  26. 7 0
      modules/boonex/photos/updates/9.0.6_10.0.0/install/langs/en.xml
  27. 8 0
      modules/boonex/photos/updates/9.0.6_10.0.0/install/sql/enable.sql
  28. 34 0
      modules/boonex/photos/updates/9.0.6_10.0.0/install/sql/install.sql
  29. 51 0
      modules/boonex/polls/updates/9.0.9_10.0.0/install/config.php
  30. 25 0
      modules/boonex/polls/updates/9.0.9_10.0.0/install/installer.php
  31. 7 0
      modules/boonex/polls/updates/9.0.9_10.0.0/install/langs/en.xml
  32. 8 0
      modules/boonex/polls/updates/9.0.9_10.0.0/install/sql/enable.sql
  33. 36 0
      modules/boonex/polls/updates/9.0.9_10.0.0/install/sql/install.sql
  34. 64 0
      modules/boonex/posts/updates/9.0.11_10.0.0/install/config.php
  35. 36 0
      modules/boonex/posts/updates/9.0.11_10.0.0/install/installer.php
  36. 58 0
      modules/boonex/posts/updates/9.0.11_10.0.0/install/langs/en.xml
  37. 59 0
      modules/boonex/posts/updates/9.0.11_10.0.0/install/sql/enable.sql
  38. 224 0
      modules/boonex/posts/updates/9.0.11_10.0.0/install/sql/install.sql
  39. 51 0
      modules/boonex/protean/updates/9.0.11_10.0.0/install/config.php
  40. 26 0
      modules/boonex/protean/updates/9.0.11_10.0.0/install/installer.php
  41. 7 0
      modules/boonex/protean/updates/9.0.11_10.0.0/install/langs/en.xml
  42. 537 0
      modules/boonex/protean/updates/9.0.11_10.0.0/install/sql/install.sql
  43. 51 0
      modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/config.php
  44. 13 0
      modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/installer.php
  45. 4 0
      modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/langs/en.xml
  46. 2 0
      modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/sql/enable.sql
  47. 51 0
      modules/boonex/shopify/updates/9.0.7_10.0.0/install/config.php
  48. 25 0
      modules/boonex/shopify/updates/9.0.7_10.0.0/install/installer.php
  49. 7 0
      modules/boonex/shopify/updates/9.0.7_10.0.0/install/langs/en.xml
  50. 8 0
      modules/boonex/shopify/updates/9.0.7_10.0.0/install/sql/enable.sql
  51. 28 0
      modules/boonex/shopify/updates/9.0.7_10.0.0/install/sql/install.sql
  52. 51 0
      modules/boonex/snipcart/updates/9.0.6_10.0.0/install/config.php
  53. 25 0
      modules/boonex/snipcart/updates/9.0.6_10.0.0/install/installer.php
  54. 7 0
      modules/boonex/snipcart/updates/9.0.6_10.0.0/install/langs/en.xml
  55. 8 0
      modules/boonex/snipcart/updates/9.0.6_10.0.0/install/sql/enable.sql
  56. 28 0
      modules/boonex/snipcart/updates/9.0.6_10.0.0/install/sql/install.sql
  57. 59 0
      modules/boonex/spaces/updates/9.0.5_10.0.0/install/config.php
  58. 23 0
      modules/boonex/spaces/updates/9.0.5_10.0.0/install/installer.php
  59. 13 0
      modules/boonex/spaces/updates/9.0.5_10.0.0/install/langs/en.xml
  60. 41 0
      modules/boonex/spaces/updates/9.0.5_10.0.0/install/sql/enable.sql
  61. 27 0
      modules/boonex/spaces/updates/9.0.5_10.0.0/install/sql/install.sql

+ 2 - 1
modules/boonex/convos/updates/9.0.14_10.0.0/install/langs/en.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources name="en" flag="gb" title="English">
-<string_add name="_bx_cnv_grid_filter_item_title_adm_all"><![CDATA[All]]></string_add>
+	<string_add name="_bx_cnv_grid_action_err_delete"><![CDATA[Cannot delete the selected conversation(s).]]></string_add>
+	<string_add name="_bx_cnv_grid_filter_item_title_adm_all"><![CDATA[All]]></string_add>
 	<string_add name="_bx_cnv_grid_filter_item_title_adm_unread"><![CDATA[Unread]]></string_add>
 
 	<string_upd name="_bx_cnv_grid_action_compose"><![CDATA[Compose]]></string_upd>

+ 51 - 0
modules/boonex/massmailer/updates/9.0.5_9.0.6/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Mass mailer',
+    'version_from' => '9.0.5',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/massmailer/updates/update_9.0.5_10.0.0/',
+    'home_uri' => 'massmailer_update_905_1000',
+
+    'module_dir' => 'boonex/massmailer/',
+    'module_uri' => 'massmailer',
+
+    'db_prefix' => 'bx_massmailer_',
+    'class_prefix' => 'BxMassMailer',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 0,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'MassMailer',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 13 - 0
modules/boonex/massmailer/updates/9.0.5_9.0.6/install/installer.php

@@ -0,0 +1,13 @@
+<?php
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ */
+
+class BxMassMailerUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+	{
+        parent::__construct($aConfig);
+    }
+}

+ 7 - 0
modules/boonex/massmailer/updates/9.0.5_9.0.6/install/sql/enable.sql

@@ -0,0 +1,7 @@
+SET @sName = 'bx_massmailer';
+
+
+-- MENUS
+UPDATE `sys_menu_items` SET `icon`='mail-bulk' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='massmailer-campaigns' AND `icon`='';
+
+UPDATE `sys_menu_items` SET `icon`='mail-bulk col-red' WHERE `set_name`='sys_account_dashboard' AND `name`='dashboard-massmailer' AND `icon`='envelope col-red';

+ 51 - 0
modules/boonex/notifications/updates/9.0.14_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Notifications',
+    'version_from' => '9.0.14',
+	'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+	'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/notifications/updates/update_9.0.14_10.0.0/',
+	'home_uri' => 'notifications_update_9014_1000',
+
+	'module_dir' => 'boonex/notifications/',
+	'module_uri' => 'notifications',
+
+    'db_prefix' => 'bx_notifications_',
+    'class_prefix' => 'BxNtfs',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+	/**
+     * Category for language keys.
+     */
+    'language_category' => 'Notifications',
+
+	/**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 22 - 0
modules/boonex/notifications/updates/9.0.14_10.0.0/install/installer.php

@@ -0,0 +1,22 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxNtfsUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            	if(!$this->oDb->isIndexExists('bx_notifications_events', 'object_owner_id'))
+            	    $this->oDb->query("ALTER TABLE `bx_notifications_events` ADD INDEX `object_owner_id` (`object_owner_id`)");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 12 - 0
modules/boonex/notifications/updates/9.0.14_10.0.0/install/langs/en.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+    <string_add name="_bx_ntfs_option_delivery_timeout"><![CDATA[Delay before sending Email and/or Push notifications (in seconds)]]></string_add>
+	<string_add name="_bx_ntfs_alert_action_doVoteUp_personal"><![CDATA[Someone adds an 'Up' vote to your content]]></string_add>
+    <string_add name="_bx_ntfs_alert_action_doVoteUp_follow_member"><![CDATA[New 'Up' votes]]></string_add>
+    <string_add name="_bx_ntfs_alert_action_doVoteUp_follow_context"><![CDATA[New 'Up' votes]]></string_add>
+    <string_add name="_bx_ntfs_alert_action_doVoteDown_personal"><![CDATA[Someone adds a 'Down' vote to your content]]></string_add>
+    <string_add name="_bx_ntfs_alert_action_doVoteDown_follow_member"><![CDATA[New 'Down' votes]]></string_add>
+    <string_add name="_bx_ntfs_alert_action_doVoteDown_follow_context"><![CDATA[New 'Down' votes]]></string_add>
+
+	<string_upd name="_bx_ntfs_setting_type_follow_context"><![CDATA[Activity in spaces (groups, events, etc.) you follow]]></string_upd>
+</resources>

+ 19 - 0
modules/boonex/notifications/updates/9.0.14_10.0.0/install/sql/enable.sql

@@ -0,0 +1,19 @@
+SET @sName = 'bx_notifications';
+
+
+-- SETTINGS
+SET @iCategId = (SELECT `id` FROM `sys_options_categories` WHERE `name`=@sName LIMIT 1);
+DELETE FROM `sys_options` WHERE `name`='bx_notifications_delivery_timeout';
+INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_params`, `check_error`, `extra`, `order`) VALUES
+('bx_notifications_delivery_timeout', '120', @iCategId, '_bx_ntfs_option_delivery_timeout', 'digit', '', '', '', '', 20);
+
+
+-- CRON
+DELETE FROM `sys_cron_jobs` WHERE `name`='bx_notifications_queue';
+INSERT INTO `sys_cron_jobs` (`name`, `time`, `class`, `file`, `service_call`) VALUES
+('bx_notifications_queue', '* * * * *', 'BxNtfsCronQueue', 'modules/boonex/notifications/classes/BxNtfsCronQueue.php', '');
+
+
+-- CUSTOM
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name`='bx_notifications' LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `unit`='bx_albums' AND `action`='media_added' AND `handler_id`=@iHandler;

+ 17 - 0
modules/boonex/notifications/updates/9.0.14_10.0.0/install/sql/install.sql

@@ -0,0 +1,17 @@
+SET @sName = 'bx_notifications';
+
+
+-- TABLES
+CREATE TABLE IF NOT EXISTS `bx_notifications_queue` (
+  `id` int(11) NOT NULL auto_increment,
+  `profile_id` int(11) NOT NULL DEFAULT '0',
+  `event_id` int(11) NOT NULL DEFAULT '0',
+  `delivery` varchar(64) NOT NULL default '',
+  `content` text NOT NULL,
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`id`)
+);
+
+
+-- CUSTOM
+UPDATE `bx_notifications_events` SET `content`=REPLACE(`content`, 's:8:"lang_key";s:34:"_bx_timeline_ntfs_txt_object_added";', 's:8:"lang_key";s:0:"";') WHERE `content` LIKE '%_bx_timeline_ntfs_txt_object_added%';

+ 59 - 0
modules/boonex/organizations/updates/9.0.12_10.0.0/install/config.php

@@ -0,0 +1,59 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Organizations',
+    'version_from' => '9.0.12',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/organizations/updates/update_9.0.12_10.0.0/',
+    'home_uri' => 'orgs_update_9012_1000',
+
+    'module_dir' => 'boonex/organizations/',
+    'module_uri' => 'orgs',
+
+    'db_prefix' => 'bx_organizations_',
+    'class_prefix' => 'BxOrgs',
+
+    /**
+     * Transcoders.
+     */
+    'transcoders' => array(
+        'bx_organizations_avatar_big'
+    ),
+    
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'register_transcoders' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Organizations',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 23 - 0
modules/boonex/organizations/updates/9.0.12_10.0.0/install/installer.php

@@ -0,0 +1,23 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxOrgsUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_organizations_data', 'allow_post_to'))
+        	        $this->oDb->query("ALTER TABLE `bx_organizations_data` ADD `allow_post_to` varchar(16) NOT NULL DEFAULT '3'");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 57 - 0
modules/boonex/organizations/updates/9.0.12_10.0.0/install/langs/en.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_orgs_form_profile_input_sys_allow_post_to"><![CDATA[Who can post to my profile]]></string_add>
+	<string_add name="_bx_orgs_form_profile_input_allow_post_to"><![CDATA[Who can post to my profile]]></string_add>
+	<string_add name="_bx_orgs_form_profile_input_sys_friends_count"><![CDATA[Friends count]]></string_add>
+	<string_add name="_bx_orgs_form_profile_input_friends_count"><![CDATA[Friends count]]></string_add>
+	<string_add name="_bx_orgs_form_profile_input_sys_followers_count"><![CDATA[Followers count]]></string_add>
+	<string_add name="_bx_orgs_form_profile_input_followers_count"><![CDATA[Followers count]]></string_add>
+	<string_add name="_bx_orgs_page_title_sys_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_page_title_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_page_block_title_system_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_page_block_title_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_page_block_title_system_profile_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_orgs_page_block_title_profile_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_view_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_view_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_relation_add"><![CDATA[Add Relationship]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_relation_add"><![CDATA[Add Relationship]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_relation_delete"><![CDATA[Remove Relationship]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_relation_delete"><![CDATA[Remove Relationship]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_system_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_orgs_menu_item_title_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_orgs_txt_sample_score_up_single"><![CDATA[score up vote to organization]]></string_add>
+	<string_add name="_bx_orgs_txt_sample_score_down_single"><![CDATA[score down vote to organization]]></string_add>
+	<string_add name="_bx_orgs_ps_group_title_participants"><![CDATA[Employees]]></string_add>
+
+	<string_upd name="_bx_orgs_menu_item_title_admt_organizations"><![CDATA[Organizations]]></string_upd>
+	<string_upd name="_bx_orgs_grid_column_title_adm_last_online"><![CDATA[Last Logged]]></string_upd>
+	<string_upd name="_bx_orgs_email_friend_request_body"><![CDATA[{email_header}
+<p><a href="{SenderUrl}">{SenderDisplayName}</a> wants to be friends with you. <a href="{FriendsLink}">Respond</a>.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_join_request_body"><![CDATA[{email_header}
+<p>New request to join <a href="{EntryUrl}">{EntryTitle}</a> organization from <a href="{NewMemberUrl}">{NewMemberDisplayName}</a></p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_join_reject_body"><![CDATA[{email_header}
+<p>Your request to join <a href="{EntryUrl}">{EntryTitle}</a> organization was rejected by the organization admin.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_join_confirm_body"><![CDATA[{email_header}
+<p>Your request to join <a href="{EntryUrl}">{EntryTitle}</a> organization was confirmed by the organization admin.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_fan_remove_body"><![CDATA[{email_header}
+<p>Your profile was removed from <a href="{EntryUrl}">{EntryTitle}</a> organization by the organization admin.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_fan_become_admin_body"><![CDATA[{email_header}
+<p>You are an admin of <a href="{EntryUrl}">{EntryTitle}</a> organization now.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_admin_become_fan_body"><![CDATA[{email_header}
+<p>Your admin status was revoked from <a href="{EntryUrl}">{EntryTitle}</a> organization.</p>
+{email_footer}]]></string_upd>
+	<string_upd name="_bx_orgs_email_invitation_body"><![CDATA[{email_header}
+<p><a href="{InviterUrl}">{InviterDisplayName}</a> invited you to <a href="{EntryUrl}">{EntryTitle}</a> organization.</p>
+{email_footer}]]></string_upd>
+</resources>

+ 95 - 0
modules/boonex/organizations/updates/9.0.12_10.0.0/install/sql/enable.sql

@@ -0,0 +1,95 @@
+-- SETTINGS
+DELETE FROM `sys_options` WHERE `name`='bx_organizations_labels';
+
+
+-- PAGES
+DELETE FROM `sys_pages_blocks` WHERE `object`='bx_organizations_view_profile' AND `title` IN ('_bx_orgs_page_block_title_profile_related_me', '_bx_orgs_page_block_title_profile_relations');
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES
+('bx_organizations_view_profile', 2, 'bx_organizations', '', '_bx_orgs_page_block_title_profile_related_me', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:16:"bx_organizations";s:6:"method";s:18:"profile_related_me";}', 0, 1, 0, 0),
+('bx_organizations_view_profile', 2, 'bx_organizations', '', '_bx_orgs_page_block_title_profile_relations', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:16:"bx_organizations";s:6:"method";s:17:"profile_relations";}', 0, 1, 0, 0);
+
+
+DELETE FROM `sys_objects_page` WHERE `object`='bx_organizations_profile_relations';
+INSERT INTO `sys_objects_page`(`object`, `uri`, `title_system`, `title`, `module`, `layout_id`, `visible_for_levels`, `visible_for_levels_editable`, `url`, `meta_description`, `meta_keywords`, `meta_robots`, `cache_lifetime`, `cache_editable`, `deletable`, `override_class_name`, `override_class_file`) VALUES 
+('bx_organizations_profile_relations', 'organization-profile-relations', '_bx_orgs_page_title_sys_profile_relations', '_bx_orgs_page_title_profile_relations', 'bx_organizations', 5, 2147483647, 1, 'page.php?i=organization-profile-relations', '', '', '', 0, 1, 0, 'BxOrgsPageEntry', 'modules/boonex/organizations/classes/BxOrgsPageEntry.php');
+
+DELETE FROM `sys_pages_blocks` WHERE `object`='bx_organizations_profile_relations';
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
+('bx_organizations_profile_relations', 1, 'bx_organizations', '_bx_orgs_page_block_title_system_profile_relations', '_bx_orgs_page_block_title_profile_relations', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:15:"relations_table";s:5:"class";s:23:"TemplServiceConnections";}', 0, 0, 1, 1),
+('bx_organizations_profile_relations', 1, 'bx_organizations', '_bx_orgs_page_block_title_system_profile_related_me', '_bx_orgs_page_block_title_profile_related_me', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:16:"related_me_table";s:5:"class";s:23:"TemplServiceConnections";}', 0, 0, 1, 2);
+
+
+-- MENUS
+UPDATE `sys_objects_menu` SET `override_class_name`='BxOrgsMenuViewActions', `override_class_file`='modules/boonex/organizations/classes/BxOrgsMenuViewActions.php' WHERE `object`='bx_organizations_view_actions';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_organizations_view_actions' AND `name`='profile-relation-add';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `editable`, `order`) VALUES 
+('bx_organizations_view_actions', 'bx_organizations', 'profile-relation-add', '_bx_orgs_menu_item_title_system_relation_add', '_bx_orgs_menu_item_title_relation_add', 'javascript:void(0)', 'bx_menu_popup(''sys_add_relation'', window, {}, {profile_id: {profile_id}});', '', 'sync', '', '', 0, 2147483647, '', 1, 0, 1, 15);
+
+UPDATE `sys_objects_menu` SET `override_class_name`='BxOrgsMenuViewActions', `override_class_file`='modules/boonex/organizations/classes/BxOrgsMenuViewActions.php' WHERE `object`='bx_organizations_view_actions_more';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_organizations_view_actions_more' AND `name`='profile-relation-remove';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
+('bx_organizations_view_actions_more', 'bx_organizations', 'profile-relation-remove', '_bx_orgs_menu_item_title_system_relation_delete', '_bx_orgs_menu_item_title_relation_delete', 'javascript:void(0)', 'bx_conn_action(this, \'sys_profiles_relations\', \'remove\', \'{profile_id}\')', '', 'sync', '', '', 2147483647, '', 1, 0, 15);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_organizations_view_actions_all' AND `name` IN ('profile-relation-add', 'profile-relation-remove', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_organizations_view_actions_all', 'bx_organizations', 'profile-relation-add', '_bx_orgs_menu_item_title_system_relation_add', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 43),
+('bx_organizations_view_actions_all', 'bx_organizations', 'profile-relation-remove', '_bx_orgs_menu_item_title_system_relation_delete', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 47);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_organizations_view_submenu' AND `name` IN ('organization-profile-relations', 'more-auto');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_organizations_view_submenu', 'bx_organizations', 'organization-profile-relations', '_bx_orgs_menu_item_title_system_view_profile_relations', '_bx_orgs_menu_item_title_view_profile_relations', 'page.php?i=organization-profile-relations&profile_id={profile_id}', '', '', 'sync col-blue3', '', '', 0, 2147483647, '', 1, 0, 5),
+('bx_organizations_view_submenu', 'bx_organizations', 'more-auto', '_bx_orgs_menu_item_title_system_view_profile_more_auto', '_bx_orgs_menu_item_title_view_profile_more_auto', 'javascript:void(0)', '', '', 'ellipsis-v', '', '', 0, 2147483647, '', 1, 0, 9999);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='nl';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `editable`, `order`) VALUES
+('bx_organizations_snippet_meta', 'bx_organizations', 'nl', '_sys_menu_item_title_system_sm_nl', '_sys_menu_item_title_sm_nl', '', '', '', '', '', '', 2147483647, '', 1, 0, 1, 9);
+
+UPDATE `sys_menu_items` SET `order`='1' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='date';
+UPDATE `sys_menu_items` SET `order`='2' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='tags';
+UPDATE `sys_menu_items` SET `order`='3' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='views';
+UPDATE `sys_menu_items` SET `order`='4' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='comments';
+UPDATE `sys_menu_items` SET `order`='5' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='members';
+UPDATE `sys_menu_items` SET `order`='6' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='friends';
+UPDATE `sys_menu_items` SET `order`='7' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='subscribers';
+UPDATE `sys_menu_items` SET `order`='8' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='membership';
+UPDATE `sys_menu_items` SET `order`='10' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='join';
+UPDATE `sys_menu_items` SET `order`='11' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='leave';
+UPDATE `sys_menu_items` SET `order`='12' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='befriend';
+UPDATE `sys_menu_items` SET `order`='13' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='unfriend';
+UPDATE `sys_menu_items` SET `order`='14' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='subscribe';
+UPDATE `sys_menu_items` SET `order`='15' WHERE `set_name`='bx_organizations_snippet_meta' AND `name`='unsubscribe';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='sys_account_notifications' AND `module`='bx_organizations' AND `name`='notifications-relation-requests';
+SET @iNotifMenuOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_menu_items` WHERE `set_name` = 'sys_account_notifications' AND `active` = 1 AND `order` < 9999 ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
+('sys_account_notifications', 'bx_organizations', 'notifications-relation-requests', '_bx_orgs_menu_item_title_system_relations', '_bx_orgs_menu_item_title_relations', 'page.php?i=organization-profile-relations&profile_id={member_id}', '', '', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:31:"get_unconfirmed_connections_num";s:6:"params";a:1:{i:0;s:22:"sys_profiles_relations";}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 1);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='sys_profile_stats' AND `module`='bx_organizations' AND `name` IN ('profile-stats-relations', 'profile-stats-related-me');
+SET @iNotifMenuOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_menu_items` WHERE `set_name` = 'sys_profile_stats' AND `active` = 1 LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
+('sys_profile_stats', 'bx_organizations', 'profile-stats-relations', '_bx_orgs_menu_item_title_system_relations', '_bx_orgs_menu_item_title_relations', 'page.php?i=organization-profile-relations&profile_id={member_id}#relations', '', '_self', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:25:"get_connected_content_num";s:6:"params";a:3:{i:0;s:22:"sys_profiles_relations";i:1;i:0;i:2;i:1;}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 6),
+('sys_profile_stats', 'bx_organizations', 'profile-stats-related-me', '_bx_orgs_menu_item_title_system_related_me', '_bx_orgs_menu_item_title_related_me', 'page.php?i=organization-profile-relations&profile_id={member_id}#related-me', '', '_self', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:28:"get_connected_initiators_num";s:6:"params";a:3:{i:0;s:22:"sys_profiles_relations";i:1;i:0;i:2;i:1;}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 7);
+
+UPDATE `sys_menu_items` SET `icon`='briefcase' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='organizations-administration' AND `icon`='';
+
+
+-- GRIDS:
+UPDATE `sys_objects_grid` SET `filter_fields`='org_name,email' WHERE `object`='bx_organizations_administration';
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name`='bx_organizations' LIMIT 1);
+
+DELETE FROM `sys_alerts` WHERE `unit`='bx_organizations' AND `action` IN ('timeline_score', 'timeline_pin', 'timeline_promote') AND `handler_id`=@iHandler;
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('bx_organizations', 'timeline_score', @iHandler),
+('bx_organizations', 'timeline_pin', @iHandler),
+('bx_organizations', 'timeline_promote', @iHandler);
+
+
+-- PRIVACY 
+DELETE FROM `sys_objects_privacy` WHERE `object`='bx_organizations_allow_post_to';
+INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
+('bx_organizations_allow_post_to', 'bx_organizations', 'post', '_bx_orgs_form_profile_input_allow_post_to', '3', '', 'bx_organizations_data', 'id', 'author', 'BxOrgsPrivacyPost', 'modules/boonex/organizations/classes/BxOrgsPrivacyPost.php');

+ 35 - 0
modules/boonex/organizations/updates/9.0.12_10.0.0/install/sql/install.sql

@@ -0,0 +1,35 @@
+-- STORAGES & TRANSCODERS
+DELETE FROM `sys_objects_transcoder` WHERE `object`='bx_organizations_avatar_big';
+INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`, `override_class_name`, `override_class_file`) VALUES 
+('bx_organizations_avatar_big', 'bx_organizations_pics_resized', 'Storage', 'a:1:{s:6:"object";s:21:"bx_organizations_pics";}', 'no', '1', '2592000', '0', '', '');
+
+DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object`='bx_organizations_avatar_big';
+INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES 
+('bx_organizations_avatar_big', 'Resize', 'a:3:{s:1:"w";s:3:"200";s:1:"h";s:3:"200";s:13:"square_resize";s:1:"1";}', '0');
+
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"30";s:1:"h";s:2:"30";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_organizations_icon';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"50";s:1:"h";s:2:"50";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_organizations_thumb';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:3:"100";s:1:"h";s:3:"100";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_organizations_avatar';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:2:{s:1:"w";s:3:"960";s:1:"h";s:3:"480";}' WHERE `transcoder_object`='bx_organizations_cover';
+
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_organization' AND `name` IN ('allow_post_to', 'friends_count', 'followers_count');
+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_organization', 'bx_organizations', 'allow_post_to', 3, '', 0, 'custom', '_bx_orgs_form_profile_input_sys_allow_post_to', '_bx_orgs_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_organization', 'bx_organizations', 'friends_count', '', '', 0, 'text', '_bx_orgs_form_profile_input_sys_friends_count', '_bx_orgs_form_profile_input_friends_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_organization', 'bx_organizations', 'followers_count', '', '', 0, 'text', '_bx_orgs_form_profile_input_sys_followers_count', '_bx_orgs_form_profile_input_followers_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
+
+UPDATE `sys_form_inputs` SET `editable`='0' WHERE `object`='bx_organization' AND `name` IN ('profile_email', 'profile_status', 'profile_ip');
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN ('bx_organization_add', 'bx_organization_edit') AND `input_name`='allow_post_to';
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
+('bx_organization_add', 'allow_post_to', 2147483647, 1, 9),
+('bx_organization_edit', 'allow_post_to', 2147483647, 1, 8);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name`='bx_organization_view' AND `input_name` IN ('friends_count', 'followers_count');
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
+('bx_organization_view', 'friends_count', 2147483647, 1, 8),
+('bx_organization_view', 'followers_count', 2147483647, 1, 9);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name`='bx_organization_view_full' AND `input_name`='org_desc';

+ 51 - 0
modules/boonex/payment/updates/9.0.13_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Payment',
+    'version_from' => '9.0.13',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/payment/updates/update_9.0.13_10.0.0/',
+    'home_uri' => 'payment_update_9013_1000',
+
+    'module_dir' => 'boonex/payment/',
+    'module_uri' => 'payment',
+
+    'db_prefix' => 'bx_payment_',
+    'class_prefix' => 'BxPayment',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Payment',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 13 - 0
modules/boonex/payment/updates/9.0.13_10.0.0/install/installer.php

@@ -0,0 +1,13 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxPaymentUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+}

+ 8 - 0
modules/boonex/payment/updates/9.0.13_10.0.0/install/langs/en.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_payment_msg_confirm_cancelation"><![CDATA[Are you sure you want to cancel your subscription?]]></string_add>
+	<string_add name="_bx_payment_txt_unsubscribe_yes"><![CDATA[Cancel automatically]]></string_add>
+	<string_add name="_bx_payment_txt_unsubscribe_no"><![CDATA[Do not cancel]]></string_add>
+
+	<string_upd name="_bx_payment_err_self_purchase"><![CDATA[Buying from your own store is not permitted.]]></string_upd>
+</resources>

+ 5 - 0
modules/boonex/payment/updates/9.0.13_10.0.0/install/sql/install.sql

@@ -0,0 +1,5 @@
+SET @sName = 'bx_payment';
+
+
+-- PROVIDERS
+UPDATE `bx_payment_providers_options` SET `check_type`='EmailOrEmpty', `check_error`='_sys_form_account_input_email_error' WHERE `name`='strp_cancellation_email';

+ 59 - 0
modules/boonex/persons/updates/9.0.12_10.0.0/install/config.php

@@ -0,0 +1,59 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Persons',
+    'version_from' => '9.0.12',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/persons/updates/update_9.0.12_10.0.0/',
+    'home_uri' => 'persons_update_9012_1000',
+
+    'module_dir' => 'boonex/persons/',
+    'module_uri' => 'persons',
+
+    'db_prefix' => 'bx_persons_',
+    'class_prefix' => 'BxPersons',
+
+    /**
+     * Transcoders.
+     */
+    'transcoders' => array(
+        'bx_persons_avatar_big'
+    ),
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'register_transcoders' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Persons',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 23 - 0
modules/boonex/persons/updates/9.0.12_10.0.0/install/installer.php

@@ -0,0 +1,23 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxPersonsUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_persons_data', 'allow_post_to'))
+        	        $this->oDb->query("ALTER TABLE `bx_persons_data` ADD `allow_post_to` varchar(16) NOT NULL DEFAULT '3'");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 35 - 0
modules/boonex/persons/updates/9.0.12_10.0.0/install/langs/en.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_persons_form_profile_input_sys_allow_post_to"><![CDATA[Who can post to my profile]]></string_add>
+	<string_add name="_bx_persons_form_profile_input_allow_post_to"><![CDATA[Who can post to my profile]]></string_add>
+	<string_add name="_bx_persons_form_profile_input_sys_friends_count"><![CDATA[Friends count]]></string_add>
+	<string_add name="_bx_persons_form_profile_input_friends_count"><![CDATA[Friends count]]></string_add>
+	<string_add name="_bx_persons_form_profile_input_sys_followers_count"><![CDATA[Followers count]]></string_add>
+	<string_add name="_bx_persons_form_profile_input_followers_count"><![CDATA[Followers count]]></string_add>
+	<string_add name="_bx_persons_page_title_sys_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_page_title_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_page_block_title_system_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_page_block_title_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_page_block_title_system_profile_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_persons_page_block_title_profile_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_view_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_view_profile_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_relation_add"><![CDATA[Add Relationship]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_relation_add"><![CDATA[Add Relationship]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_relation_delete"><![CDATA[Remove Relationship]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_relation_delete"><![CDATA[Remove Relationship]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_relations"><![CDATA[Relationships]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_system_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_persons_menu_item_title_related_me"><![CDATA[Relationships with Me]]></string_add>
+	<string_add name="_bx_persons_txt_sample_score_up_single"><![CDATA[score up vote to person]]></string_add>
+	<string_add name="_bx_persons_txt_sample_score_down_single"><![CDATA[score down vote to person]]></string_add>
+
+	<string_upd name="_bx_persons_menu_item_title_admt_persons"><![CDATA[Profiles]]></string_upd>
+	<string_upd name="_bx_persons_grid_column_title_adm_last_online"><![CDATA[Last Logged]]></string_upd>
+	<string_upd name="_bx_persons_email_friend_request_body"><![CDATA[{email_header}
+<p><a href="{SenderUrl}">{SenderDisplayName}</a> wants to be friends with you. <a href="{FriendsLink}">Respond</a>.</p>
+{email_footer}]]></string_upd>
+</resources>

+ 92 - 0
modules/boonex/persons/updates/9.0.12_10.0.0/install/sql/enable.sql

@@ -0,0 +1,92 @@
+-- SETTINGS
+DELETE FROM `sys_options` WHERE `name`='bx_persons_labels';
+
+
+-- PAGES
+DELETE FROM `sys_pages_blocks` WHERE `object`='bx_persons_view_profile' AND `title` IN ('_bx_persons_page_block_title_profile_related_me', '_bx_persons_page_block_title_profile_relations');
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES
+('bx_persons_view_profile', 2, 'bx_persons', '', '_bx_persons_page_block_title_profile_related_me', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_persons";s:6:"method";s:18:"profile_related_me";}', 0, 1, 0, 0),
+('bx_persons_view_profile', 2, 'bx_persons', '', '_bx_persons_page_block_title_profile_relations', 11, 2147483647, 'service', 'a:2:{s:6:"module";s:10:"bx_persons";s:6:"method";s:17:"profile_relations";}', 0, 1, 1, 3);
+
+DELETE FROM `sys_objects_page` WHERE `object`='bx_persons_profile_relations';
+INSERT INTO `sys_objects_page`(`object`, `uri`, `title_system`, `title`, `module`, `layout_id`, `visible_for_levels`, `visible_for_levels_editable`, `url`, `meta_description`, `meta_keywords`, `meta_robots`, `cache_lifetime`, `cache_editable`, `deletable`, `override_class_name`, `override_class_file`) VALUES 
+('bx_persons_profile_relations', 'persons-profile-relations', '_bx_persons_page_title_sys_profile_relations', '_bx_persons_page_title_profile_relations', 'bx_persons', 5, 2147483647, 1, 'page.php?i=persons-profile-relations', '', '', '', 0, 1, 0, 'BxPersonsPageEntry', 'modules/boonex/persons/classes/BxPersonsPageEntry.php');
+
+DELETE FROM `sys_pages_blocks` WHERE `object`='bx_persons_profile_relations';
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
+('bx_persons_profile_relations', 1, 'bx_persons', '_bx_persons_page_block_title_system_profile_relations', '_bx_persons_page_block_title_profile_relations', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:15:"relations_table";s:5:"class";s:23:"TemplServiceConnections";}', 0, 0, 1, 1),
+('bx_persons_profile_relations', 1, 'bx_persons', '_bx_persons_page_block_title_system_profile_related_me', '_bx_persons_page_block_title_profile_related_me', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:16:"related_me_table";s:5:"class";s:23:"TemplServiceConnections";}', 0, 0, 1, 2);
+
+
+-- MENUS
+UPDATE `sys_objects_menu` SET `override_class_name`='BxPersonsMenuViewActions', `override_class_file`='modules/boonex/persons/classes/BxPersonsMenuViewActions.php' WHERE `object`='bx_persons_view_actions';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_persons_view_actions' AND `name`='profile-relation-add';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_persons_view_actions', 'bx_persons', 'profile-relation-add', '_bx_persons_menu_item_title_system_relation_add', '_bx_persons_menu_item_title_relation_add', 'javascript:void(0)', 'bx_menu_popup(''sys_add_relation'', window, {}, {profile_id: {profile_id}});', '', 'sync', '', '', 0, 2147483647, '', 1, 0, 15);
+
+UPDATE `sys_objects_menu` SET `override_class_name`='BxPersonsMenuViewActions', `override_class_file`='modules/boonex/persons/classes/BxPersonsMenuViewActions.php' WHERE `object`='bx_persons_view_actions_more';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_persons_view_actions_more' AND `name`='profile-relation-remove';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_persons_view_actions_more', 'bx_persons', 'profile-relation-remove', '_bx_persons_menu_item_title_system_relation_delete', '_bx_persons_menu_item_title_relation_delete', 'javascript:void(0)', 'bx_conn_action(this, \'sys_profiles_relations\', \'remove\', \'{profile_id}\')', '', 'sync', '', '', 2147483647, '', 1, 0, 15);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_persons_view_actions_all' AND `name` IN ('profile-relation-add', 'profile-relation-remove');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_persons_view_actions_all', 'bx_persons', 'profile-relation-add', '_bx_persons_menu_item_title_system_relation_add', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 23),
+('bx_persons_view_actions_all', 'bx_persons', 'profile-relation-remove', '_bx_persons_menu_item_title_system_relation_delete', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 27);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_persons_view_submenu' AND `name` IN ('persons-profile-relations', 'more-auto');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_persons_view_submenu', 'bx_persons', 'persons-profile-relations', '_bx_persons_menu_item_title_system_view_profile_relations', '_bx_persons_menu_item_title_view_profile_relations', 'page.php?i=persons-profile-relations&profile_id={profile_id}', '', '', 'sync col-blue3', '', '', 0, 2147483647, '', 1, 0, 4),
+('bx_persons_view_submenu', 'bx_persons', 'more-auto', '_bx_persons_menu_item_title_system_view_profile_more_auto', '_bx_persons_menu_item_title_view_profile_more_auto', 'javascript:void(0)', '', '', 'ellipsis-v', '', '', 0, 2147483647, '', 1, 0, 9999);
+
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_persons_snippet_meta' AND `name`='nl';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `editable`, `order`) VALUES
+('bx_persons_snippet_meta', 'bx_persons', 'nl', '_sys_menu_item_title_system_sm_nl', '_sys_menu_item_title_sm_nl', '', '', '', '', '', '', 2147483647, '', 1, 0, 1, 8);
+
+UPDATE `sys_menu_items` SET `order`='1' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='date';
+UPDATE `sys_menu_items` SET `order`='2' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='tags';
+UPDATE `sys_menu_items` SET `order`='3' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='views';
+UPDATE `sys_menu_items` SET `order`='4' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='comments';
+UPDATE `sys_menu_items` SET `order`='5' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='friends';
+UPDATE `sys_menu_items` SET `order`='6' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='subscribers';
+UPDATE `sys_menu_items` SET `order`='7' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='membership';
+UPDATE `sys_menu_items` SET `order`='9' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='befriend';
+UPDATE `sys_menu_items` SET `order`='10' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='unfriend';
+UPDATE `sys_menu_items` SET `order`='11' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='subscribe';
+UPDATE `sys_menu_items` SET `order`='12' WHERE `set_name`='bx_persons_snippet_meta' AND `name`='unsubscribe';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='sys_account_notifications' AND `module`='bx_persons' AND `name`='notifications-relation-requests';
+SET @iNotifMenuOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_menu_items` WHERE `set_name` = 'sys_account_notifications' AND `active` = 1 AND `order` < 9999 ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
+('sys_account_notifications', 'bx_persons', 'notifications-relation-requests', '_bx_persons_menu_item_title_system_relations', '_bx_persons_menu_item_title_relations', 'page.php?i=persons-profile-relations&profile_id={member_id}', '', '', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:31:"get_unconfirmed_connections_num";s:6:"params";a:1:{i:0;s:22:"sys_profiles_relations";}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 1);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='sys_profile_stats' AND `module`='bx_persons' AND `name` IN ('profile-stats-relations', 'profile-stats-related-me');
+SET @iNotifMenuOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_menu_items` WHERE `set_name` = 'sys_profile_stats' AND `active` = 1 LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
+('sys_profile_stats', 'bx_persons', 'profile-stats-relations', '_bx_persons_menu_item_title_system_relations', '_bx_persons_menu_item_title_relations', 'page.php?i=persons-profile-relations&profile_id={member_id}#relations', '', '_self', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:25:"get_connected_content_num";s:6:"params";a:3:{i:0;s:22:"sys_profiles_relations";i:1;i:0;i:2;i:1;}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 1),
+('sys_profile_stats', 'bx_persons', 'profile-stats-related-me', '_bx_persons_menu_item_title_system_related_me', '_bx_persons_menu_item_title_related_me', 'page.php?i=persons-profile-relations&profile_id={member_id}#related-me', '', '_self', 'sync col-blue3', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:28:"get_connected_initiators_num";s:6:"params";a:3:{i:0;s:22:"sys_profiles_relations";i:1;i:0;i:2;i:1;}s:5:"class";s:23:"TemplServiceConnections";}', '', 2147483646, '', 1, 0, @iNotifMenuOrder + 2);
+
+UPDATE `sys_menu_items` SET `icon`='user' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='persons-administration' AND `icon`='';
+
+
+-- GRIDS
+UPDATE `sys_objects_grid` SET `filter_fields`='fullname,email' WHERE `object`='bx_persons_administration';
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name`='bx_persons' LIMIT 1);
+
+DELETE FROM `sys_alerts` WHERE `unit`='bx_persons' AND `action` IN ('timeline_score', 'timeline_pin', 'timeline_promote') AND `handler_id`=@iHandler;
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('bx_persons', 'timeline_score', @iHandler),
+('bx_persons', 'timeline_pin', @iHandler),
+('bx_persons', 'timeline_promote', @iHandler);
+
+
+-- PRIVACY 
+DELETE FROM `sys_objects_privacy` WHERE `object`='bx_persons_allow_post_to';
+INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
+('bx_persons_allow_post_to', 'bx_persons', 'post', '_bx_persons_form_profile_input_allow_post_to', '3', '', 'bx_persons_data', 'id', 'author', 'BxPersonsPrivacyPost', 'modules/boonex/persons/classes/BxPersonsPrivacyPost.php');

+ 39 - 0
modules/boonex/persons/updates/9.0.12_10.0.0/install/sql/install.sql

@@ -0,0 +1,39 @@
+-- TABLES
+ALTER TABLE `bx_persons_data` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+
+-- STORAGES & TRANSCODERS
+DELETE FROM `sys_objects_transcoder` WHERE `object`='bx_persons_avatar_big';
+INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`, `override_class_name`, `override_class_file`) VALUES 
+('bx_persons_avatar_big', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0', '', '');
+
+DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object`='bx_persons_avatar_big';
+INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES 
+('bx_persons_avatar_big', 'Resize', 'a:3:{s:1:"w";s:3:"200";s:1:"h";s:3:"200";s:13:"square_resize";s:1:"1";}', '0');
+
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"30";s:1:"h";s:2:"30";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_persons_icon';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"50";s:1:"h";s:2:"50";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_persons_thumb';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:3:"100";s:1:"h";s:3:"100";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_persons_avatar';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:2:{s:1:"w";s:3:"960";s:1:"h";s:3:"480";}' WHERE `transcoder_object`='bx_persons_cover';
+
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_person' AND `name` IN ('allow_post_to', 'friends_count', 'followers_count');
+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_person', 'bx_persons', 'allow_post_to', 3, '', 0, 'custom', '_bx_persons_form_profile_input_sys_allow_post_to', '_bx_persons_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_person', 'bx_persons', 'friends_count', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_friends_count', '_bx_persons_form_profile_input_friends_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_person', 'bx_persons', 'followers_count', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_followers_count', '_bx_persons_form_profile_input_followers_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
+
+UPDATE `sys_form_inputs` SET `editable`='0' WHERE `object`='bx_person' AND `name` IN ('profile_email', 'profile_status', 'profile_ip');
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN ('bx_person_add', 'bx_person_edit') AND `input_name`='allow_post_to';
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES 
+('bx_person_add', 'allow_post_to', 2147483647, 1, 8),
+('bx_person_edit', 'allow_post_to', 2147483647, 1, 8);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name`='bx_person_view' AND `input_name` IN ('friends_count', 'followers_count');
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES 
+('bx_person_view', 'friends_count', 2147483647, 1, 9),
+('bx_person_view', 'followers_count', 2147483647, 1, 10);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name`='bx_person_view_full' AND `input_name`='description';

+ 51 - 0
modules/boonex/photos/updates/9.0.6_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Photos',
+    'version_from' => '9.0.6',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/photos/updates/update_9.0.6_10.0.0/',
+    'home_uri' => 'photos_update_906_1000',
+
+    'module_dir' => 'boonex/photos/',
+    'module_uri' => 'photos',
+
+    'db_prefix' => 'bx_photos_',
+    'class_prefix' => 'BxPhotos',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Photos',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 25 - 0
modules/boonex/photos/updates/9.0.6_10.0.0/install/installer.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxPhotosUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_photos_entries', 'rrate'))
+        	        $this->oDb->query("ALTER TABLE `bx_photos_entries` ADD `rrate` float NOT NULL default '0' AFTER `svotes`");
+            if(!$this->oDb->isFieldExists('bx_photos_entries', 'rvotes'))
+        	        $this->oDb->query("ALTER TABLE `bx_photos_entries` ADD `rvotes` int(11) NOT NULL default '0' AFTER `rrate`");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 7 - 0
modules/boonex/photos/updates/9.0.6_10.0.0/install/langs/en.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_photos_txt_sample_score_up_single"><![CDATA[score up vote to photo]]></string_add>
+    <string_add name="_bx_photos_txt_sample_score_down_single"><![CDATA[score down vote to photo]]></string_add>
+
+    <string_upd name="_bx_photos_menu_item_title_admt_photos"><![CDATA[Photos]]></string_upd>
+</resources>

+ 8 - 0
modules/boonex/photos/updates/9.0.6_10.0.0/install/sql/enable.sql

@@ -0,0 +1,8 @@
+-- MENUS
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_photos_view_actions' AND `name` IN ('reaction', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_photos_view_actions', 'bx_photos', 'reaction', '_sys_menu_item_title_system_va_reaction', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 225);
+
+UPDATE `sys_menu_items` SET `active`='0' WHERE `set_name`='bx_photos_view_actions' AND `name`='vote';
+
+UPDATE `sys_menu_items` SET `icon`='camera-retro' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='photos-administration' AND `icon`='';

+ 34 - 0
modules/boonex/photos/updates/9.0.6_10.0.0/install/sql/install.sql

@@ -0,0 +1,34 @@
+-- TABLES
+ALTER TABLE `bx_photos_entries` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+CREATE TABLE IF NOT EXISTS `bx_photos_reactions` (
+  `object_id` int(11) NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `reaction` (`object_id`, `reaction`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_photos_reactions_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_photos' AND `name`='labels';
+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_photos', 'bx_photos', 'labels', '', '', 0, 'custom', '_sys_form_input_sys_labels', '_sys_form_input_labels', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
+
+
+-- VOTES
+DELETE FROM `sys_objects_vote` WHERE `Name`='bx_photos_reactions';
+INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
+('bx_photos_reactions', 'bx_photos_reactions', 'bx_photos_reactions_track', '604800', '1', '1', '1', '1', 'bx_photos_entries', 'id', 'author', 'rrate', 'rvotes', 'BxTemplVoteReactions', '');

+ 51 - 0
modules/boonex/polls/updates/9.0.9_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Polls',
+    'version_from' => '9.0.9',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/polls/updates/update_9.0.9_10.0.0/',
+    'home_uri' => 'polls_update_909_1000',
+
+    'module_dir' => 'boonex/polls/',
+    'module_uri' => 'polls',
+
+    'db_prefix' => 'bx_polls_',
+    'class_prefix' => 'BxPolls',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Polls',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 25 - 0
modules/boonex/polls/updates/9.0.9_10.0.0/install/installer.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxPollsUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_polls_entries', 'rrate'))
+        	        $this->oDb->query("ALTER TABLE `bx_polls_entries` ADD `rrate` float NOT NULL default '0' AFTER `votes`");
+            if(!$this->oDb->isFieldExists('bx_polls_entries', 'rvotes'))
+        	        $this->oDb->query("ALTER TABLE `bx_polls_entries` ADD `rvotes` int(11) NOT NULL default '0' AFTER `rrate`");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 7 - 0
modules/boonex/polls/updates/9.0.9_10.0.0/install/langs/en.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_polls_txt_sample_score_up_single"><![CDATA[score up vote to poll]]></string_add>
+	<string_add name="_bx_polls_txt_sample_score_down_single"><![CDATA[score down vote to poll]]></string_add>
+
+	<string_upd name="_bx_polls_menu_item_title_admt_polls"><![CDATA[Polls]]></string_upd>
+</resources>

+ 8 - 0
modules/boonex/polls/updates/9.0.9_10.0.0/install/sql/enable.sql

@@ -0,0 +1,8 @@
+-- MENUS
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_polls_view_actions' AND `name` IN ('reaction', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_polls_view_actions', 'bx_polls', 'reaction', '_sys_menu_item_title_system_va_reaction', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 225);
+
+UPDATE `sys_menu_items` SET `active`='0' WHERE `set_name`='bx_polls_view_actions' AND `name`='vote';
+
+UPDATE `sys_menu_items` SET `icon`='tasks' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='polls-administration' AND `icon`='';

+ 36 - 0
modules/boonex/polls/updates/9.0.9_10.0.0/install/sql/install.sql

@@ -0,0 +1,36 @@
+-- TABLES
+ALTER TABLE `bx_polls_entries` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+CREATE TABLE IF NOT EXISTS `bx_polls_reactions` (
+  `object_id` int(11) NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `reaction` (`object_id`, `reaction`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_polls_reactions_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_polls' AND `name`='labels';
+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_polls', 'bx_polls', 'labels', '', '', 0, 'custom', '_sys_form_input_sys_labels', '_sys_form_input_labels', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
+
+UPDATE `sys_form_inputs` SET `info`='' WHERE `object`='bx_polls' AND `name`='subentries';
+
+
+-- VOTES
+DELETE FROM `sys_objects_vote` WHERE `Name`='bx_polls_reactions';
+INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
+('bx_polls_reactions', 'bx_polls_reactions', 'bx_polls_reactions_track', '604800', '1', '1', '1', '1', 'bx_polls_entries', 'id', 'author', 'rrate', 'rvotes', 'BxTemplVoteReactions', '');

+ 64 - 0
modules/boonex/posts/updates/9.0.11_10.0.0/install/config.php

@@ -0,0 +1,64 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Posts',
+    'version_from' => '9.0.11',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/posts/updates/update_9.0.11_10.0.0/',
+    'home_uri' => 'posts_update_9011_1000',
+
+    'module_dir' => 'boonex/posts/',
+    'module_uri' => 'posts',
+
+    'db_prefix' => 'bx_posts_',
+    'class_prefix' => 'BxPosts',
+
+    /**
+     * Transcoders.
+     */
+    'transcoders' => array(
+        'bx_posts_videos_poster',
+        'bx_posts_videos_poster_preview',
+        'bx_posts_videos_mp4',
+        'bx_posts_videos_mp4_hd',
+        'bx_posts_preview_files',
+        'bx_posts_gallery_files'
+    ),
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'register_transcoders' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Posts',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 36 - 0
modules/boonex/posts/updates/9.0.11_10.0.0/install/installer.php

@@ -0,0 +1,36 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxPostsUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_posts_posts', 'rrate'))
+        	        $this->oDb->query("ALTER TABLE `bx_posts_posts` ADD `rrate` float NOT NULL default '0' AFTER `votes`");
+            if(!$this->oDb->isFieldExists('bx_posts_posts', 'rvotes'))
+        	        $this->oDb->query("ALTER TABLE `bx_posts_posts` ADD `rvotes` int(11) NOT NULL default '0' AFTER `rrate`");
+            if(!$this->oDb->isFieldExists('bx_posts_posts', 'disable_comments'))
+        	        $this->oDb->query("ALTER TABLE `bx_posts_posts` ADD `disable_comments` tinyint(4) NOT NULL DEFAULT '0' AFTER `allow_view_to`");
+
+            if($this->oDb->isTableExists('bx_posts_files') && !$this->oDb->isTableExists('bx_posts_covers')) {
+                $this->oDb->query("RENAME TABLE `bx_posts_files` TO `bx_posts_covers`");
+
+                $this->oDb->query("UPDATE `sys_objects_storage` SET `object`='bx_posts_covers', `table_files`='bx_posts_covers' WHERE `object`='bx_posts_files'");
+                $this->oDb->query("UPDATE `sys_storage_deletions` SET `object`='bx_posts_covers' WHERE `object`='bx_posts_files'");
+                $this->oDb->query("UPDATE `sys_storage_ghosts` SET `object`='bx_posts_covers' WHERE `object`='bx_posts_files'");
+
+            }
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 58 - 0
modules/boonex/posts/updates/9.0.11_10.0.0/install/langs/en.xml

@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_posts_form_entry_input_sys_videos"><![CDATA[Videos]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_videos"><![CDATA[]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_sys_files"><![CDATA[Files]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_files"><![CDATA[]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_sys_polls"><![CDATA[Polls]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_sys_attachments"><![CDATA[Attachments]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_sys_disable_comments"><![CDATA[Disable comments]]></string_add>
+	<string_add name="_bx_posts_form_entry_input_disable_comments"><![CDATA[Disable comments]]></string_add>
+	<string_add name="_bx_posts_form_poll"><![CDATA[Polls]]></string_add>
+	<string_add name="_bx_posts_form_poll_display_add"><![CDATA[Add Poll]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_sys_text"><![CDATA[Question]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_text"><![CDATA[Question]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_text_err"><![CDATA[Question is essential. Please, fill in this field]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_sys_answers"><![CDATA[Answers]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_answers"><![CDATA[Answers]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_answers_err"><![CDATA[Poll should have at least 2 non-empty answers.]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_answers_add"><![CDATA[Add More]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_sys_do_submit"><![CDATA[Add]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_do_submit"><![CDATA[Add]]></string_add>
+	<string_add name="_bx_posts_form_poll_input_do_cancel"><![CDATA[Close]]></string_add>
+	<string_add name="_bx_posts_page_block_title_entry_polls"><![CDATA[Polls]]></string_add>
+	<string_add name="_bx_posts_menu_title_entry_attachments"><![CDATA[Form Attachments]]></string_add>
+	<string_add name="_bx_posts_menu_set_title_entry_attachments"><![CDATA[Form Attachments]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_photo_simple"><![CDATA[Add Photo (simple)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_photo_simple"><![CDATA[Add Photo]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_photo_html5"><![CDATA[Add Photo (html5)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_photo_html5"><![CDATA[Add Photos]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_video_simple"><![CDATA[Add Video (simple)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_video_simple"><![CDATA[Add Video]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_video_html5"><![CDATA[Add Video (html5)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_video_html5"><![CDATA[Add Videos]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_file_simple"><![CDATA[Add File (simple)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_file_simple"><![CDATA[Add File]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_file_html5"><![CDATA[Add File (html5)]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_file_html5"><![CDATA[Add Files]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_system_cpa_poll"><![CDATA[Add Poll]]></string_add>
+	<string_add name="_bx_posts_menu_item_title_cpa_poll"><![CDATA[Add Poll]]></string_add>
+	<string_add name="_bx_posts_txt_sample_score_up_single"><![CDATA[score up vote to post]]></string_add>
+	<string_add name="_bx_posts_txt_sample_score_down_single"><![CDATA[score down vote to post]]></string_add>
+	<string_add name="_bx_posts_txt_processing_awaiting"><![CDATA[Post will be published as soon as video is converted]]></string_add>
+	<string_add name="_bx_posts_txt_processing_failed"><![CDATA[Post isn't published because video conversion failed, edit video to fix the issue.]]></string_add>
+	<string_add name="_bx_posts_txt_scheduled_awaiting"><![CDATA[Post publishing date is {date_publish_uf}]]></string_add>
+	<string_add name="_bx_posts_txt_err_cannot_perform_action"><![CDATA[Cannot perform action. Please report.]]></string_add>
+	<string_add name="_bx_posts_txt_poll_view_answers"><![CDATA[poll]]></string_add>
+	<string_add name="_bx_posts_txt_poll_view_results"><![CDATA[results]]></string_add>
+	<string_add name="_bx_posts_txt_poll_answer_vote_do_by"><![CDATA[Voted for]]></string_add>
+	<string_add name="_bx_posts_txt_poll_answer_vote_counter"><![CDATA[{0} votes]]></string_add>
+	<string_add name="_bx_posts_txt_poll_answer_vote_percent"><![CDATA[({0}%)]]></string_add>
+
+	<string_upd name="_bx_posts_form_entry_input_sys_pictures"><![CDATA[Images]]></string_upd>
+	<string_upd name="_bx_posts_form_entry_input_pictures"><![CDATA[]]></string_upd>
+	<string_upd name="_bx_posts_acl_action_set_thumb"><![CDATA[Set Post Header Image]]></string_upd>
+	<string_upd name="_bx_posts_menu_item_title_admt_posts"><![CDATA[Posts]]></string_upd>
+
+	<string_del name="_bx_posts_form_entry_input_picture_use_as_thumb"><![CDATA[Cover Image]]></string_del>
+</resources>

+ 59 - 0
modules/boonex/posts/updates/9.0.11_10.0.0/install/sql/enable.sql

@@ -0,0 +1,59 @@
+-- SETTINGS
+DELETE FROM `sys_options` WHERE `name`='bx_posts_labels';
+
+
+-- PAGE
+UPDATE `sys_pages_blocks` SET `cell_id`='2', `active`='1', `order`='4' WHERE `object`='bx_posts_view_entry' AND `title`='_bx_posts_page_block_title_entry_attachments';
+UPDATE `sys_pages_blocks` SET `order`='5' WHERE `object`='bx_posts_view_entry' AND `title`='_bx_posts_page_block_title_entry_comments';
+UPDATE `sys_pages_blocks` SET `order`='5' WHERE `object`='bx_posts_view_entry' AND `title`='_bx_posts_page_block_title_featured_entries_view_extended';
+
+DELETE FROM `sys_pages_blocks` WHERE `object`='bx_posts_view_entry' AND `title`='_bx_posts_page_block_title_entry_polls';
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
+('bx_posts_view_entry', 3, 'bx_posts', '', '_bx_posts_page_block_title_entry_polls', 11, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_posts\";s:6:\"method\";s:12:\"entity_polls\";}', 0, 0, 1, 4);
+
+
+-- MENUS
+DELETE FROM `sys_objects_menu` WHERE `object`='bx_posts_entry_attachments';
+INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
+('bx_posts_entry_attachments', '_bx_posts_menu_title_entry_attachments', 'bx_posts_entry_attachments', 'bx_posts', 23, 0, 1, 'BxPostsMenuAttachments', 'modules/boonex/posts/classes/BxPostsMenuAttachments.php');
+
+DELETE FROM `sys_menu_sets` WHERE `set_name`='bx_posts_entry_attachments';
+INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
+('bx_posts_entry_attachments', 'bx_posts', '_bx_posts_menu_set_title_entry_attachments', 0);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_posts_entry_attachments';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `editable`, `order`) VALUES 
+('bx_posts_entry_attachments', 'bx_posts', 'photo_simple', '_bx_posts_menu_item_title_system_cpa_photo_simple', '_bx_posts_menu_item_title_cpa_photo_simple', 'javascript:void(0)', 'javascript:{js_object_uploader_photos_simple}.showUploaderForm();', '_self', 'camera', '', '', 2147483647, '', 0, 0, 1, 1),
+('bx_posts_entry_attachments', 'bx_posts', 'photo_html5', '_bx_posts_menu_item_title_system_cpa_photo_html5', '_bx_posts_menu_item_title_cpa_photo_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_photos_html5}.showUploaderForm();', '_self', 'camera', '', '', 2147483647, '', 1, 0, 1, 2),
+('bx_posts_entry_attachments', 'bx_posts', 'video_simple', '_bx_posts_menu_item_title_system_cpa_video_simple', '_bx_posts_menu_item_title_cpa_video_simple', 'javascript:void(0)', 'javascript:{js_object_uploader_videos_simple}.showUploaderForm();', '_self', 'video', '', '', 2147483647, '', 0, 0, 1, 3),
+('bx_posts_entry_attachments', 'bx_posts', 'video_html5', '_bx_posts_menu_item_title_system_cpa_video_html5', '_bx_posts_menu_item_title_cpa_video_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_videos_html5}.showUploaderForm();', '_self', 'video', '', '', 2147483647, '', 1, 0, 1, 4),
+('bx_posts_entry_attachments', 'bx_posts', 'file_simple', '_bx_posts_menu_item_title_system_cpa_file_simple', '_bx_posts_menu_item_title_cpa_file_simple', 'javascript:void(0)', 'javascript:{js_object_uploader_files_simple}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 0, 0, 1, 5),
+('bx_posts_entry_attachments', 'bx_posts', 'file_html5', '_bx_posts_menu_item_title_system_cpa_file_html5', '_bx_posts_menu_item_title_cpa_file_html5', 'javascript:void(0)', 'javascript:{js_object_uploader_files_html5}.showUploaderForm();', '_self', 'file', '', '', 2147483647, '', 1, 0, 1, 6),
+('bx_posts_entry_attachments', 'bx_posts', 'poll', '_bx_posts_menu_item_title_system_cpa_poll', '_bx_posts_menu_item_title_cpa_poll', 'javascript:void(0)', 'javascript:{js_object}.showPollForm(this);', '_self', 'tasks', '', '', 2147483647, '', 1, 0, 1, 7);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_posts_view_actions' AND `name` IN ('reaction', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_posts_view_actions', 'bx_posts', 'reaction', '_sys_menu_item_title_system_va_reaction', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 225);
+
+UPDATE `sys_menu_items` SET `active`='0' WHERE `set_name`='bx_posts_view_actions' AND `name`='vote';
+
+UPDATE `sys_menu_items` SET `icon`='file-alt' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='posts-administration' AND `icon`='';
+
+
+-- UPLOADERS
+DELETE FROM `sys_objects_uploader` WHERE `object` IN ('bx_posts_photos_simple', 'bx_posts_photos_html5', 'bx_posts_videos_simple', 'bx_posts_videos_html5', 'bx_posts_files_simple', 'bx_posts_files_html5');
+INSERT INTO `sys_objects_uploader` (`object`, `active`, `override_class_name`, `override_class_file`) VALUES
+('bx_posts_photos_simple', 1, 'BxPostsUploaderSimpleAttach', 'modules/boonex/posts/classes/BxPostsUploaderSimpleAttach.php'),
+('bx_posts_photos_html5', 1, 'BxPostsUploaderHTML5Attach', 'modules/boonex/posts/classes/BxPostsUploaderHTML5Attach.php'),
+('bx_posts_videos_simple', 1, 'BxPostsUploaderSimpleAttach', 'modules/boonex/posts/classes/BxPostsUploaderSimpleAttach.php'),
+('bx_posts_videos_html5', 1, 'BxPostsUploaderHTML5Attach', 'modules/boonex/posts/classes/BxPostsUploaderHTML5Attach.php'),
+('bx_posts_files_simple', 1, 'BxPostsUploaderSimpleAttach', 'modules/boonex/posts/classes/BxPostsUploaderSimpleAttach.php'),
+('bx_posts_files_html5', 1, 'BxPostsUploaderHTML5Attach', 'modules/boonex/posts/classes/BxPostsUploaderHTML5Attach.php');
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name`='bx_posts' LIMIT 1);
+
+DELETE FROM `sys_alerts` WHERE `unit`='bx_posts_videos_mp4' AND `action`='transcoded' AND `handler_id`=@iHandler;
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('bx_posts_videos_mp4', 'transcoded', @iHandler);

+ 224 - 0
modules/boonex/posts/updates/9.0.11_10.0.0/install/sql/install.sql

@@ -0,0 +1,224 @@
+-- TABLES
+ALTER TABLE `bx_posts_posts` CHANGE `text` `text` mediumtext NOT NULL;
+ALTER TABLE `bx_posts_posts` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+ALTER TABLE `bx_posts_posts` CHANGE `status` `status` enum('active','awaiting','failed','hidden') NOT NULL DEFAULT 'active';
+
+CREATE TABLE IF NOT EXISTS `bx_posts_files` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(10) unsigned NOT NULL,
+  `remote_id` varchar(128) NOT NULL,
+  `path` varchar(255) NOT NULL,
+  `file_name` varchar(255) NOT NULL,
+  `mime_type` varchar(128) NOT NULL,
+  `ext` varchar(32) NOT NULL,
+  `size` int(11) NOT NULL,
+  `added` int(11) NOT NULL,
+  `modified` int(11) NOT NULL,
+  `private` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `remote_id` (`remote_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_videos` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(10) unsigned NOT NULL,
+  `remote_id` varchar(128) NOT NULL,
+  `path` varchar(255) NOT NULL,
+  `file_name` varchar(255) NOT NULL,
+  `mime_type` varchar(128) NOT NULL,
+  `ext` varchar(32) NOT NULL,
+  `size` int(11) NOT NULL,
+  `added` int(11) NOT NULL,
+  `modified` int(11) NOT NULL,
+  `private` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `remote_id` (`remote_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_videos_resized` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(10) unsigned NOT NULL,
+  `remote_id` varchar(128) NOT NULL,
+  `path` varchar(255) NOT NULL,
+  `file_name` varchar(255) NOT NULL,
+  `mime_type` varchar(128) NOT NULL,
+  `ext` varchar(32) NOT NULL,
+  `size` int(11) NOT NULL,
+  `added` int(11) NOT NULL,
+  `modified` int(11) NOT NULL,
+  `private` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `remote_id` (`remote_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_reactions` (
+  `object_id` int(11) NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `reaction` (`object_id`, `reaction`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_reactions_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_polls` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `author_id` int(11) NOT NULL default '0',
+  `content_id` int(11) NOT NULL default '0',
+  `text` text NOT NULL,
+  PRIMARY KEY (`id`),
+  FULLTEXT KEY `search_fields` (`text`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_polls_answers` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `poll_id` int(11) unsigned NOT NULL default '0',
+  `title` varchar(255) NOT NULL,
+  `rate` float NOT NULL default '0',
+  `votes` int(11) NOT NULL default '0',
+  `order` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  FULLTEXT KEY `title` (`title`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_polls_answers_votes` (
+  `object_id` int(11) NOT NULL default '0',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `object_id` (`object_id`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_posts_polls_answers_votes_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+
+
+-- STORAGES & TRANSCODERS
+SET @sStorageEngine = (SELECT `value` FROM `sys_options` WHERE `name` = 'sys_storage_default');
+
+DELETE FROM `sys_objects_storage` WHERE `object` IN ('bx_posts_videos', 'bx_posts_videos_resized', 'bx_posts_files');
+INSERT INTO `sys_objects_storage` (`object`, `engine`, `params`, `token_life`, `cache_control`, `levels`, `table_files`, `ext_mode`, `ext_allow`, `ext_deny`, `quota_size`, `current_size`, `quota_number`, `current_number`, `max_file_size`, `ts`) VALUES
+('bx_posts_videos', @sStorageEngine, '', 360, 2592000, 3, 'bx_posts_videos', 'allow-deny', 'avi,flv,mpg,mpeg,wmv,mp4,m4v,mov,qt,divx,xvid,3gp,3g2,webm,mkv,ogv,ogg,rm,rmvb,asf,drc', '', 0, 0, 0, 0, 0, 0),
+('bx_posts_videos_resized', @sStorageEngine, '', 360, 2592000, 3, 'bx_posts_videos_resized', 'allow-deny', 'jpg,jpeg,jpe,gif,png,avi,flv,mpg,mpeg,wmv,mp4,m4v,mov,qt,divx,xvid,3gp,3g2,webm,mkv,ogv,ogg,rm,rmvb,asf,drc', '', 0, 0, 0, 0, 0, 0),
+('bx_posts_files', @sStorageEngine, '', 360, 2592000, 3, 'bx_posts_files', 'deny-allow', '', 'action,apk,app,bat,bin,cmd,com,command,cpl,csh,exe,gadget,inf,ins,inx,ipa,isu,job,jse,ksh,lnk,msc,msi,msp,mst,osx,out,paf,pif,prg,ps1,reg,rgs,run,sct,shb,shs,u3p,vb,vbe,vbs,vbscript,workflow,ws,wsf', 0, 0, 0, 0, 0, 0);
+
+UPDATE `sys_objects_transcoder` SET `source_params`='a:1:{s:6:"object";s:15:"bx_posts_covers";}' WHERE `object`='bx_posts_preview';
+UPDATE `sys_objects_transcoder` SET `source_params`='a:1:{s:6:"object";s:15:"bx_posts_covers";}' WHERE `object`='bx_posts_gallery';
+UPDATE `sys_objects_transcoder` SET `source_params`='a:1:{s:6:"object";s:15:"bx_posts_covers";}' WHERE `object`='bx_posts_cover';
+
+DELETE FROM `sys_objects_transcoder` WHERE `object` IN ('bx_posts_videos_poster', 'bx_posts_videos_poster_preview', 'bx_posts_videos_mp4', 'bx_posts_videos_mp4_hd', 'bx_posts_preview_files', 'bx_posts_gallery_files');
+INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`, `override_class_name`, `override_class_file`) VALUES 
+('bx_posts_videos_poster', 'bx_posts_videos_resized', 'Storage', 'a:1:{s:6:"object";s:15:"bx_posts_videos";}', 'no', '0', '0', '0', 'BxDolTranscoderVideo', ''),
+('bx_posts_videos_poster_preview', 'bx_posts_videos_resized', 'Storage', 'a:1:{s:6:"object";s:15:"bx_posts_videos";}', 'no', '0', '0', '0', 'BxDolTranscoderVideo', ''),
+('bx_posts_videos_mp4', 'bx_posts_videos_resized', 'Storage', 'a:1:{s:6:"object";s:15:"bx_posts_videos";}', 'no', '0', '0', '0', 'BxDolTranscoderVideo', ''),
+('bx_posts_videos_mp4_hd', 'bx_posts_videos_resized', 'Storage', 'a:1:{s:6:"object";s:15:"bx_posts_videos";}', 'no', '0', '0', '0', 'BxDolTranscoderVideo', ''),
+('bx_posts_preview_files', 'bx_posts_photos_resized', 'Storage', 'a:1:{s:6:"object";s:14:"bx_posts_files";}', 'no', '1', '2592000', '0', '', ''),
+('bx_posts_gallery_files', 'bx_posts_photos_resized', 'Storage', 'a:1:{s:6:"object";s:14:"bx_posts_files";}', 'no', '1', '2592000', '0', '', '');
+
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:1:{s:1:"w";s:4:"2000";}' WHERE `transcoder_object`='bx_posts_gallery_photos';
+
+DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object` IN ('bx_posts_videos_poster_preview', 'bx_posts_videos_poster', 'bx_posts_videos_mp4', 'bx_posts_videos_mp4_hd', 'bx_posts_preview_files', 'bx_posts_gallery_files');
+INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES 
+('bx_posts_videos_poster_preview', 'Resize', 'a:3:{s:1:"w";s:3:"300";s:1:"h";s:3:"200";s:13:"square_resize";s:1:"1";}', 10),
+('bx_posts_videos_poster_preview', 'Poster', 'a:2:{s:1:"h";s:3:"480";s:10:"force_type";s:3:"jpg";}', 0),
+('bx_posts_videos_poster', 'Poster', 'a:2:{s:1:"h";s:3:"318";s:10:"force_type";s:3:"jpg";}', 0),
+('bx_posts_videos_mp4', 'Mp4', 'a:2:{s:1:"h";s:3:"318";s:10:"force_type";s:3:"mp4";}', 0),
+('bx_posts_videos_mp4_hd', 'Mp4', 'a:3:{s:1:"h";s:3:"720";s:13:"video_bitrate";s:4:"1536";s:10:"force_type";s:3:"mp4";}', 0),
+('bx_posts_preview_files', 'Resize', 'a:3:{s:1:"w";s:3:"300";s:1:"h";s:3:"200";s:11:"crop_resize";s:1:"1";}', '0'),
+('bx_posts_gallery_files', 'Resize', 'a:1:{s:1:"w";s:3:"500";}', '0');
+
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_posts' AND `name` IN ('videos', 'files', 'polls', 'attachments', 'disable_comments');
+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_posts', 'bx_posts', 'videos', 'a:1:{i:0;s:21:"bx_posts_videos_html5";}', 'a:2:{s:22:"bx_posts_videos_simple";s:26:"_sys_uploader_simple_title";s:21:"bx_posts_videos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_videos', '_bx_posts_form_entry_input_videos', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_posts', 'bx_posts', 'files', 'a:1:{i:0;s:20:"bx_posts_files_html5";}', 'a:2:{s:21:"bx_posts_files_simple";s:26:"_sys_uploader_simple_title";s:20:"bx_posts_files_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_files', '_bx_posts_form_entry_input_files', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_posts', 'bx_posts', 'polls', '', '', 0, 'custom', '_bx_posts_form_entry_input_sys_polls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_posts', 'bx_posts', 'attachments', '', '', 0, 'custom', '_bx_posts_form_entry_input_sys_attachments', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_posts', 'bx_posts', 'disable_comments', '1', '', 0, 'switcher', '_bx_posts_form_entry_input_sys_disable_comments', '_bx_posts_form_entry_input_disable_comments', '', 0, 0, 0, '', '', '', '', '', '', 'Int', '', 1, 0);
+
+UPDATE `sys_form_inputs` SET `value`='a:1:{i:0;s:21:"bx_posts_photos_html5";}', `values`='a:2:{s:22:"bx_posts_photos_simple";s:26:"_sys_uploader_simple_title";s:21:"bx_posts_photos_html5";s:25:"_sys_uploader_html5_title";}' WHERE `object`='bx_posts' AND `name`='pictures';
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN ('bx_posts_entry_add', 'bx_posts_entry_edit');
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES 
+('bx_posts_entry_add', 'delete_confirm', 2147483647, 0, 1),
+('bx_posts_entry_add', 'title', 2147483647, 1, 2),
+('bx_posts_entry_add', 'cat', 2147483647, 1, 3),
+('bx_posts_entry_add', 'text', 2147483647, 1, 4),
+('bx_posts_entry_add', 'attachments', 2147483647, 1, 5),
+('bx_posts_entry_add', 'pictures', 2147483647, 1, 6),
+('bx_posts_entry_add', 'videos', 2147483647, 1, 7),
+('bx_posts_entry_add', 'files', 2147483647, 1, 8),
+('bx_posts_entry_add', 'polls', 2147483647, 1, 9),
+('bx_posts_entry_add', 'covers', 2147483647, 1, 10),
+('bx_posts_entry_add', 'allow_view_to', 2147483647, 1, 11),
+('bx_posts_entry_add', 'location', 2147483647, 1, 12),
+('bx_posts_entry_add', 'published', 192, 1, 13),
+('bx_posts_entry_add', 'disable_comments', 192, 1, 14),
+('bx_posts_entry_add', 'do_publish', 2147483647, 1, 15),
+
+('bx_posts_entry_edit', 'do_publish', 2147483647, 0, 1),
+('bx_posts_entry_edit', 'delete_confirm', 2147483647, 0, 2),
+('bx_posts_entry_edit', 'title', 2147483647, 1, 3),
+('bx_posts_entry_edit', 'cat', 2147483647, 1, 4),
+('bx_posts_entry_edit', 'text', 2147483647, 1, 5),
+('bx_posts_entry_edit', 'attachments', 2147483647, 1, 6),
+('bx_posts_entry_edit', 'pictures', 2147483647, 1, 7),
+('bx_posts_entry_edit', 'videos', 2147483647, 1, 8),
+('bx_posts_entry_edit', 'files', 2147483647, 1, 9),
+('bx_posts_entry_edit', 'polls', 2147483647, 1, 10),
+('bx_posts_entry_edit', 'covers', 2147483647, 1, 11),
+('bx_posts_entry_edit', 'allow_view_to', 2147483647, 1, 12),
+('bx_posts_entry_edit', 'location', 2147483647, 1, 13),
+('bx_posts_entry_edit', 'disable_comments', 192, 1, 14),
+('bx_posts_entry_edit', 'published', 192, 1, 15),
+('bx_posts_entry_edit', 'do_submit', 2147483647, 1, 16);
+
+DELETE FROM `sys_objects_form` WHERE `object`='bx_posts_poll';
+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_posts_poll', 'bx_posts', '_bx_posts_form_poll', '', '', 'do_submit', 'bx_posts_polls', 'id', '', '', 'a:1:{s:14:"checker_helper";s:28:"BxPostsFormPollCheckerHelper";}', 0, 1, 'BxPostsFormPoll', 'modules/boonex/posts/classes/BxPostsFormPoll.php');
+
+DELETE FROM `sys_form_displays` WHERE `object`='bx_posts_poll';
+INSERT INTO `sys_form_displays` (`display_name`, `module`, `object`, `title`, `view_mode`) VALUES
+('bx_posts_poll_add', 'bx_posts', 'bx_posts_poll', '_bx_posts_form_poll_display_add', 0);
+
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_posts_poll';
+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_posts_poll', 'bx_posts', 'text', '', '', 0, 'textarea', '_bx_posts_form_poll_input_sys_text', '_bx_posts_form_poll_input_text', '', 1, 0, 3, '', '', '', 'Avail', '', '_bx_posts_form_poll_input_text_err', 'Xss', '', 1, 0),
+('bx_posts_poll', 'bx_posts', 'answers', '', '', 0, 'custom', '_bx_posts_form_poll_input_sys_answers', '_bx_posts_form_poll_input_answers', '', 1, 0, 0, '', '', '', 'AvailAnswers', '', '_bx_posts_form_poll_input_answers_err', '', '', 1, 0),
+('bx_posts_poll', 'bx_posts', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_posts_poll', 'bx_posts', 'do_submit', '_bx_posts_form_poll_input_do_submit', '', 0, 'submit', '_bx_posts_form_poll_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
+('bx_posts_poll', 'bx_posts', 'do_cancel', '_bx_posts_form_poll_input_do_cancel', '', 0, 'button', '_bx_posts_form_poll_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);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name`='bx_posts_poll_add';
+INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
+('bx_posts_poll_add', 'text', 2147483647, 1, 1),
+('bx_posts_poll_add', 'answers', 2147483647, 1, 2),
+('bx_posts_poll_add', 'controls', 2147483647, 1, 3),
+('bx_posts_poll_add', 'do_submit', 2147483647, 1, 4),
+('bx_posts_poll_add', 'do_cancel', 2147483647, 1, 5);
+
+
+-- VOTES
+DELETE FROM `sys_objects_vote` WHERE `Name` IN ('bx_posts_reactions', 'bx_posts_poll_answers');
+INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
+('bx_posts_reactions', 'bx_posts_reactions', 'bx_posts_reactions_track', '604800', '1', '1', '1', '1', 'bx_posts_posts', 'id', 'author', 'rrate', 'rvotes', 'BxTemplVoteReactions', ''),
+('bx_posts_poll_answers', 'bx_posts_polls_answers_votes', 'bx_posts_polls_answers_votes_track', '604800', '1', '1', '0', '1', 'bx_posts_polls_answers', 'id', 'author_id', 'rate', 'votes', 'BxPostsVotePollAnswers', 'modules/boonex/posts/classes/BxPostsVotePollAnswers.php');

+ 51 - 0
modules/boonex/protean/updates/9.0.11_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Protean',
+    'version_from' => '9.0.11',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/protean/updates/update_9.0.11_10.0.0/',
+    'home_uri' => 'protean_update_9011_1000',
+
+    'module_dir' => 'boonex/protean/',
+    'module_uri' => 'protean',
+
+    'db_prefix' => 'bx_protean_',
+    'class_prefix' => 'BxProtean',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+		'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+		'clear_db_cache' => 1,
+    ),
+
+	/**
+     * Category for language keys.
+     */
+    'language_category' => 'Boonex Protean Template',
+
+	/**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 26 - 0
modules/boonex/protean/updates/9.0.11_10.0.0/install/installer.php

@@ -0,0 +1,26 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxProteanUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function update($aParams)
+    {
+        $aResult = parent::update($aParams);
+        if(!$aResult['result'])
+            	return $aResult;
+
+        $oCacheUtilities = BxDolCacheUtilities::getInstance();
+        $oCacheUtilities->clear('css');
+        $oCacheUtilities->clear('template');
+
+        return $aResult;
+    }
+}

+ 7 - 0
modules/boonex/protean/updates/9.0.11_10.0.0/install/langs/en.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_protean_stg_cpt_option_general_item_bg_color_disabled"><![CDATA[Disabled item background color]]></string_add>
+	<string_add name="_bx_protean_stg_cpt_option_form_input_editor_skin"><![CDATA[Editor skin]]></string_add>
+	<string_add name="_bx_protean_stg_cpt_option_form_input_editor_skin_select"><![CDATA[Select skin...]]></string_add>
+	<string_add name="_bx_protean_stg_cpt_option_form_input_editor_skin_unavailable"><![CDATA[Skins are unavailable]]></string_add>
+</resources>

+ 537 - 0
modules/boonex/protean/updates/9.0.11_10.0.0/install/sql/install.sql

@@ -0,0 +1,537 @@
+SET @sName = 'bx_protean';
+
+
+-- SETTINGS
+SET @iCategoryId = (SELECT `id` FROM `sys_options_categories` WHERE `name`=CONCAT(@sName, '_styles_general') LIMIT 1);
+DELETE FROM `sys_options` WHERE `name`=CONCAT(@sName, '_general_item_bg_color_disabled');
+INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_params`, `check_error`, `order`) VALUES
+(@iCategoryId, CONCAT(@sName, '_general_item_bg_color_disabled'), '_bx_protean_stg_cpt_option_general_item_bg_color_disabled', 'rgba(221, 221, 221, 1.0)', 'rgba', '', '', '', '', 3);
+
+SET @iCategoryId = (SELECT `id` FROM `sys_options_categories` WHERE `name`=CONCAT(@sName, '_styles_form') LIMIT 1);
+DELETE FROM `sys_options` WHERE `name`=CONCAT(@sName, '_form_input_editor_skin');
+INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_params`, `check_error`, `order`) VALUES
+(@iCategoryId, CONCAT(@sName, '_form_input_editor_skin'), '_bx_protean_stg_cpt_option_form_input_editor_skin', '', 'select', 'a:2:{s:6:"module";s:10:"bx_protean";s:6:"method";s:34:"get_options_form_input_editor_skin";}', '', '', '', 11);
+
+UPDATE `sys_options` SET `value`='93.75%' WHERE `name`=CONCAT(@sName, '_vpt_font_size_scale');
+UPDATE `sys_options` SET `value`='85%' WHERE `name`=CONCAT(@sName, '_vpm_font_size_scale');
+
+
+-- MIXES
+UPDATE `sys_options_mixes` SET `active`='0', `published`='0' WHERE `name`='Neat-Mix';
+
+SET @iMixId = (SELECT `id` FROM `sys_options_mixes` WHERE `type`=@sName AND `name`='Neat-Mix' LIMIT 1);
+UPDATE `sys_options_mixes2options` SET `value`='rgba(255, 255, 255, 1)' WHERE `option`='bx_protean_card_bg_color' AND `mix_id`=@iMixId;
+UPDATE `sys_options_mixes2options` SET `value`='rgba(255, 255, 255, 0.5)' WHERE `option`='bx_protean_card_bg_color_hover' AND `mix_id`=@iMixId;
+UPDATE `sys_options_mixes2options` SET `value`='93.75%' WHERE `option`='bx_protean_vpt_font_size_scale' AND `mix_id`=@iMixId;
+
+
+DELETE FROM `tm`, `tmo` 
+USING `sys_options_mixes` AS `tm`, `sys_options_mixes2options` AS `tmo`
+WHERE `tm`.`id` = `tmo`.`mix_id` AND `tm`.`type`=@sName AND `tm`.`name`='Protean-Light-Mix';
+
+INSERT INTO `sys_options_mixes` (`type`, `category`, `name`, `title`, `active`, `published`, `editable`) VALUES
+(@sName, '', 'Protean-Light-Mix', 'Light Mix', 1, 1, 0);
+SET @iMixId = LAST_INSERT_ID();
+
+INSERT INTO `sys_options_mixes2options` (`option`, `mix_id`, `value`) VALUES
+('bx_protean_block_bg_color', @iMixId, 'rgba(252, 253, 254, 1)'),
+('bx_protean_block_bg_image', @iMixId, '0'),
+('bx_protean_block_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_block_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_block_bg_image_size', @iMixId, 'cover'),
+('bx_protean_block_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_block_border_radius', @iMixId, '5px'),
+('bx_protean_block_border_size', @iMixId, '1px'),
+('bx_protean_block_content_padding', @iMixId, '1rem'),
+('bx_protean_block_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_block_title_bg_color', @iMixId, 'rgba(252, 253, 254, 0)'),
+('bx_protean_block_title_border_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_block_title_border_radius', @iMixId, '4px 4px 0px 0px'),
+('bx_protean_block_title_border_size', @iMixId, '0px'),
+('bx_protean_block_title_div_bg_color', @iMixId, 'rgba(255, 255, 255, 0)'),
+('bx_protean_block_title_div_height', @iMixId, '0px'),
+('bx_protean_block_title_font_color', @iMixId, 'rgba(40, 60, 80, 0.9)'),
+('bx_protean_block_title_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_block_title_font_size', @iMixId, '1.25rem'),
+('bx_protean_block_title_font_weight', @iMixId, '500'),
+('bx_protean_block_title_padding', @iMixId, '0.2rem 1rem 0.2rem 1rem'),
+('bx_protean_body_bg_color', @iMixId, 'rgb(229, 229, 229)'),
+('bx_protean_body_bg_image', @iMixId, '0'),
+('bx_protean_body_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_body_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_body_bg_image_size', @iMixId, 'cover'),
+('bx_protean_body_icon_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_body_icon_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_body_link_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_body_link_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_button_lg_bg_color_hover', @iMixId, 'rgba(243, 244, 245, 0.8)'),
+('bx_protean_button_lg_border_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_lg_border_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_border_radius', @iMixId, '5px'),
+('bx_protean_button_lg_border_size', @iMixId, '1px'),
+('bx_protean_button_lg_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_lg_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_button_lg_font_shadow', @iMixId, 'none'),
+('bx_protean_button_lg_font_size', @iMixId, '1rem'),
+('bx_protean_button_lg_font_weight', @iMixId, '400'),
+('bx_protean_button_lg_height', @iMixId, '2rem'),
+('bx_protean_button_lg_shadow', @iMixId, 'none'),
+('bx_protean_button_sm_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_button_sm_bg_color_hover', @iMixId, 'rgba(243, 244, 245, 0.8)'),
+('bx_protean_button_sm_border_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_sm_border_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_sm_border_radius', @iMixId, '3px'),
+('bx_protean_button_sm_border_size', @iMixId, '1px'),
+('bx_protean_button_sm_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_sm_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_sm_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_button_sm_font_shadow', @iMixId, 'none'),
+('bx_protean_button_sm_font_size', @iMixId, '0.75rem'),
+('bx_protean_button_sm_font_weight', @iMixId, '400'),
+('bx_protean_button_sm_height', @iMixId, '1.5rem'),
+('bx_protean_button_sm_shadow', @iMixId, 'none'),
+('bx_protean_card_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_card_bg_color_hover', @iMixId, 'rgba(255, 255, 255, 0.8)'),
+('bx_protean_card_bg_image', @iMixId, '0'),
+('bx_protean_card_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_card_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_card_bg_image_size', @iMixId, 'cover'),
+('bx_protean_card_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_card_border_radius', @iMixId, '5px'),
+('bx_protean_card_border_size', @iMixId, '1px'),
+('bx_protean_card_content_padding', @iMixId, '1rem'),
+('bx_protean_card_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_cover_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_cover_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_cover_border_radius', @iMixId, '0px'),
+('bx_protean_cover_border_size', @iMixId, '0px 1px 0px 1px'),
+('bx_protean_cover_content_padding', @iMixId, '2rem 3rem 2rem 3rem'),
+('bx_protean_cover_font_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_cover_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_cover_font_size', @iMixId, '2.0rem'),
+('bx_protean_cover_font_weight', @iMixId, '700'),
+('bx_protean_cover_height', @iMixId, '30vh'),
+('bx_protean_cover_icon_border_color', @iMixId, 'rgba(208, 208, 208, 1)'),
+('bx_protean_cover_icon_border_radius', @iMixId, '3px'),
+('bx_protean_cover_icon_border_size', @iMixId, '1px'),
+('bx_protean_cover_icon_shadow', @iMixId, 'none'),
+('bx_protean_cover_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_cover_text_align', @iMixId, 'center'),
+('bx_protean_cover_text_shadow', @iMixId, '0px 1px 3px rgba(0, 0, 0, .3)'),
+('bx_protean_font_color_contrasted', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_contrasted_h1', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_contrasted_h2', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_contrasted_h3', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_default', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_font_color_default_h1', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_font_color_default_h2', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_font_color_default_h3', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_font_color_grayed', @iMixId, 'rgba(51, 68, 85, 0.5)'),
+('bx_protean_font_color_grayed_h1', @iMixId, 'rgba(17, 34, 51, 0.5)'),
+('bx_protean_font_color_grayed_h2', @iMixId, 'rgba(17, 34, 51, 0.5)'),
+('bx_protean_font_color_grayed_h3', @iMixId, 'rgba(17, 34, 51, 0.5)'),
+('bx_protean_font_color_large', @iMixId, 'rgba(40, 60, 80, 0.9)'),
+('bx_protean_font_color_link_h1', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h1_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_font_color_link_h2', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h2_hover', @iMixId, 'rgba(68, 136, 255, 0.5)'),
+('bx_protean_font_color_link_h3', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h3_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_font_color_middle', @iMixId, 'rgba(40, 60, 80, 0.9)'),
+('bx_protean_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_font_size_default', @iMixId, '15px'),
+('bx_protean_font_size_h1', @iMixId, '30px'),
+('bx_protean_font_size_h2', @iMixId, '24px'),
+('bx_protean_font_size_h3', @iMixId, '18px'),
+('bx_protean_font_size_large', @iMixId, '16px'),
+('bx_protean_font_size_middle', @iMixId, '14px'),
+('bx_protean_font_size_small', @iMixId, '12px'),
+('bx_protean_font_weight_h1', @iMixId, '700'),
+('bx_protean_font_weight_h2', @iMixId, '700'),
+('bx_protean_font_weight_h3', @iMixId, '700'),
+('bx_protean_footer_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_footer_bg_image', @iMixId, '0'),
+('bx_protean_footer_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_footer_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_footer_bg_image_size', @iMixId, 'cover'),
+('bx_protean_footer_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_footer_border_size', @iMixId, '1px'),
+('bx_protean_footer_content_padding', @iMixId, '1rem'),
+('bx_protean_footer_font_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_footer_icon_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_footer_icon_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_footer_link_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_footer_link_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_footer_shadow', @iMixId, 'none'),
+('bx_protean_form_input_bg_color', @iMixId, 'rgba(245, 250, 255, 0.5)'),
+('bx_protean_form_input_bg_color_active', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_form_input_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_form_input_border_color_active', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_form_input_border_size', @iMixId, '1px'),
+('bx_protean_form_input_font_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_form_input_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_form_input_font_size', @iMixId, '1rem'),
+('bx_protean_form_input_height', @iMixId, '2.5rem'),
+('bx_protean_form_input_shadow', @iMixId, 'inset 0px 0px 2px 1px rgba(0, 0, 0, 0.01)'),
+('bx_protean_form_input_editor_skin', @iMixId, 'gray'),
+('bx_protean_general_item_bg_color_active', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_general_item_bg_color_disabled', @iMixId, 'rgba(233, 234, 235, 1)'),
+('bx_protean_general_item_bg_color_hover', @iMixId, 'rgba(243, 244, 245, 0.8)'),
+('bx_protean_header_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_header_bg_image', @iMixId, '0'),
+('bx_protean_header_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_header_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_header_bg_image_size', @iMixId, 'cover'),
+('bx_protean_header_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_header_border_size', @iMixId, '1px'),
+('bx_protean_header_content_padding', @iMixId, '0.5rem 0px 0.5rem 0px'),
+('bx_protean_header_height', @iMixId, '4rem'),
+('bx_protean_header_icon_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_header_icon_color_hover', @iMixId, 'rgba(51, 68, 85, 0.8)'),
+('bx_protean_header_link_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_header_link_color_hover', @iMixId, 'rgba(51, 68, 85, 0.8)'),
+('bx_protean_header_shadow', @iMixId, 'none'),
+('bx_protean_menu_account_bg_color', @iMixId, 'rgba(255, 255, 255, 0.95)'),
+('bx_protean_menu_account_bg_image', @iMixId, '0'),
+('bx_protean_menu_account_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_account_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_account_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_account_border_color', @iMixId, 'rgba(208, 208, 208, 1)'),
+('bx_protean_menu_account_border_size', @iMixId, '0px'),
+('bx_protean_menu_account_content_padding', @iMixId, '0px'),
+('bx_protean_menu_account_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_account_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_account_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_account_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_account_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_account_font_size', @iMixId, '1.0rem'),
+('bx_protean_menu_account_font_weight', @iMixId, '400'),
+('bx_protean_menu_account_shadow', @iMixId, 'none'),
+('bx_protean_menu_main_bg_color', @iMixId, 'rgba(255, 255, 255, 0.9)'),
+('bx_protean_menu_main_bg_image', @iMixId, '0'),
+('bx_protean_menu_main_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_main_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_main_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_main_border_color', @iMixId, 'rgba(208, 208, 208, 1)'),
+('bx_protean_menu_main_border_size', @iMixId, '0px'),
+('bx_protean_menu_main_content_padding', @iMixId, '0px'),
+('bx_protean_menu_main_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_main_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_main_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_main_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_main_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_main_font_size', @iMixId, '1.125rem'),
+('bx_protean_menu_main_font_weight', @iMixId, '400'),
+('bx_protean_menu_main_shadow', @iMixId, 'none'),
+('bx_protean_menu_page_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_menu_page_bg_image', @iMixId, '0'),
+('bx_protean_menu_page_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_page_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_page_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_page_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_page_border_size', @iMixId, '1px'),
+('bx_protean_menu_page_content_padding', @iMixId, '0px'),
+('bx_protean_menu_page_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_page_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_page_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_page_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_page_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_page_font_size', @iMixId, '1.2rem'),
+('bx_protean_menu_page_font_weight', @iMixId, '400'),
+('bx_protean_menu_page_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_menu_slide_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_menu_slide_bg_image', @iMixId, '0'),
+('bx_protean_menu_slide_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_slide_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_slide_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_slide_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_slide_border_size', @iMixId, '1px 0px 1px 0px'),
+('bx_protean_menu_slide_content_padding', @iMixId, '1.25rem'),
+('bx_protean_menu_slide_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_slide_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_slide_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_slide_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_slide_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_slide_font_size', @iMixId, '1.0rem'),
+('bx_protean_menu_slide_font_weight', @iMixId, '400'),
+('bx_protean_menu_slide_shadow', @iMixId, 'none'),
+('bx_protean_page_width', @iMixId, '1024'),
+('bx_protean_popup_bg_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_popup_bg_image', @iMixId, '0'),
+('bx_protean_popup_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_popup_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_popup_bg_image_size', @iMixId, 'cover'),
+('bx_protean_popup_border_color', @iMixId, 'rgba(119, 136, 153, 0.3)'),
+('bx_protean_popup_border_radius', @iMixId, '5px'),
+('bx_protean_popup_border_size', @iMixId, '1px'),
+('bx_protean_popup_content_padding', @iMixId, '1.25rem'),
+('bx_protean_popup_menu_shadow', @iMixId, 'none'),
+('bx_protean_popup_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_popup_title_bg_color', @iMixId, 'rgba(40, 60, 80, 0.9)'),
+('bx_protean_popup_title_font_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_popup_title_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_popup_title_font_size', @iMixId, '1.5rem'),
+('bx_protean_popup_title_padding', @iMixId, '1.25rem'),
+('bx_protean_site_logo', @iMixId, '0'),
+('bx_protean_site_logo_alt', @iMixId, ''),
+('bx_protean_site_logo_height', @iMixId, '48'),
+('bx_protean_site_logo_width', @iMixId, '240'),
+('bx_protean_styles_custom', @iMixId, 'div.bx-base-pofile-cover {\r\nborder: 1px solid rgba(136, 153, 170, 0.3);\r\nborder-bottom-width: 0;\r\n}\r\n\r\n\r\ndiv.bx-market-unit-cover div.bx-base-text-unit-no-thumb {\r\nborder-width: 0px;\r\n}\r\n\r\n\r\n.bx-def-font {\r\nline-height:18px;\r\nline-height:1.2rem;\r\n}\r\nh1,\r\n.bx-def-font-h1 {\r\nline-height:36px;\r\nline-height:2.4rem;\r\n}\r\nh2,\r\n.bx-def-font-h2 {\r\nline-height:29px;\r\nline-height:1.92rem;\r\n}\r\nh3,\r\n.bx-def-font-h3 {\r\nline-height:22px;\r\nline-height:1.44rem;\r\n}\r\n'),
+('bx_protean_vpm_font_size_scale', @iMixId, '85%'),
+('bx_protean_vpt_font_size_scale', @iMixId, '93.75%');
+
+DELETE FROM `tm`, `tmo` 
+USING `sys_options_mixes` AS `tm`, `sys_options_mixes2options` AS `tmo`
+WHERE `tm`.`id` = `tmo`.`mix_id` AND `tm`.`type`=@sName AND `tm`.`name`='Protean-Dark-Mix';
+
+INSERT INTO `sys_options_mixes` (`type`, `category`, `name`, `title`, `active`, `published`, `editable`) VALUES
+(@sName, '', 'Protean-Dark-Mix', 'Dark Mix', 0, 1, 0);
+SET @iMixId = LAST_INSERT_ID();
+
+INSERT INTO `sys_options_mixes2options` (`option`, `mix_id`, `value`) VALUES
+('bx_protean_block_bg_color', @iMixId, 'rgba(34, 51, 68, 1)'),
+('bx_protean_block_bg_image', @iMixId, '0'),
+('bx_protean_block_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_block_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_block_bg_image_size', @iMixId, 'cover'),
+('bx_protean_block_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_block_border_radius', @iMixId, '5px'),
+('bx_protean_block_border_size', @iMixId, '1px'),
+('bx_protean_block_content_padding', @iMixId, '1rem'),
+('bx_protean_block_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_block_title_bg_color', @iMixId, 'rgba(255, 255, 255, 0)'),
+('bx_protean_block_title_border_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_block_title_border_radius', @iMixId, '4px 4px 0px 0px'),
+('bx_protean_block_title_border_size', @iMixId, '0px'),
+('bx_protean_block_title_div_bg_color', @iMixId, 'rgba(255, 255, 255, 0)'),
+('bx_protean_block_title_div_height', @iMixId, '0px'),
+('bx_protean_block_title_font_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_block_title_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_block_title_font_size', @iMixId, '1.25rem'),
+('bx_protean_block_title_font_weight', @iMixId, '500'),
+('bx_protean_block_title_padding', @iMixId, '0.2rem 1rem 0.2rem 1rem'),
+('bx_protean_body_bg_color', @iMixId, 'rgb(17, 34, 51)'),
+('bx_protean_body_bg_image', @iMixId, '0'),
+('bx_protean_body_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_body_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_body_bg_image_size', @iMixId, 'cover'),
+('bx_protean_body_icon_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_body_icon_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_body_link_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_body_link_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_button_lg_bg_color_hover', @iMixId, 'rgba(51, 68, 85, 0.8)'),
+('bx_protean_button_lg_border_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_lg_border_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_border_radius', @iMixId, '5px'),
+('bx_protean_button_lg_border_size', @iMixId, '1px'),
+('bx_protean_button_lg_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_lg_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_lg_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_button_lg_font_shadow', @iMixId, 'none'),
+('bx_protean_button_lg_font_size', @iMixId, '1rem'),
+('bx_protean_button_lg_font_weight', @iMixId, '400'),
+('bx_protean_button_lg_height', @iMixId, '2rem'),
+('bx_protean_button_lg_shadow', @iMixId, 'none'),
+('bx_protean_button_sm_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_button_sm_bg_color_hover', @iMixId, 'rgba(51, 68, 85, 0.8)'),
+('bx_protean_button_sm_border_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_sm_border_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_sm_border_radius', @iMixId, '2px'),
+('bx_protean_button_sm_border_size', @iMixId, '1px'),
+('bx_protean_button_sm_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_button_sm_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_button_sm_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_button_sm_font_shadow', @iMixId, 'none'),
+('bx_protean_button_sm_font_size', @iMixId, '0.75rem'),
+('bx_protean_button_sm_font_weight', @iMixId, '400'),
+('bx_protean_button_sm_height', @iMixId, '1.5rem'),
+('bx_protean_button_sm_shadow', @iMixId, 'none'),
+('bx_protean_card_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_card_bg_color_hover', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_card_bg_image', @iMixId, '0'),
+('bx_protean_card_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_card_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_card_bg_image_size', @iMixId, 'cover'),
+('bx_protean_card_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_card_border_radius', @iMixId, '5px'),
+('bx_protean_card_border_size', @iMixId, '1px'),
+('bx_protean_card_content_padding', @iMixId, '1rem'),
+('bx_protean_card_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_cover_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_cover_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_cover_border_radius', @iMixId, '0px'),
+('bx_protean_cover_border_size', @iMixId, '0px 1px 0px 1px'),
+('bx_protean_cover_content_padding', @iMixId, '2rem 3rem 2rem 3rem'),
+('bx_protean_cover_font_color', @iMixId, 'rgba(255, 255, 255, 1)'),
+('bx_protean_cover_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_cover_font_size', @iMixId, '2.0rem'),
+('bx_protean_cover_font_weight', @iMixId, '700'),
+('bx_protean_cover_height', @iMixId, '30vh'),
+('bx_protean_cover_icon_border_color', @iMixId, 'rgba(208, 208, 208, 1)'),
+('bx_protean_cover_icon_border_radius', @iMixId, '3px'),
+('bx_protean_cover_icon_border_size', @iMixId, '1px'),
+('bx_protean_cover_icon_shadow', @iMixId, 'none'),
+('bx_protean_cover_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_cover_text_align', @iMixId, 'center'),
+('bx_protean_cover_text_shadow', @iMixId, '0px 1px 3px rgba(0, 0, 0, .3)'),
+('bx_protean_font_color_contrasted', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_font_color_contrasted_h1', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_font_color_contrasted_h2', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_font_color_contrasted_h3', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_font_color_default', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_default_h1', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_default_h2', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_default_h3', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_font_color_grayed', @iMixId, 'rgba(243, 244, 245, 0.5)'),
+('bx_protean_font_color_grayed_h1', @iMixId, 'rgba(243, 244, 245, 0.5)'),
+('bx_protean_font_color_grayed_h2', @iMixId, 'rgba(243, 244, 245, 0.5)'),
+('bx_protean_font_color_grayed_h3', @iMixId, 'rgba(243, 244, 245, 0.5)'),
+('bx_protean_font_color_link_h1', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h1_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_font_color_link_h2', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h2_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_font_color_link_h3', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_font_color_link_h3_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_font_size_default', @iMixId, '15px'),
+('bx_protean_font_size_h1', @iMixId, '30px'),
+('bx_protean_font_size_h2', @iMixId, '24px'),
+('bx_protean_font_size_h3', @iMixId, '20px'),
+('bx_protean_font_size_large', @iMixId, '16px'),
+('bx_protean_font_size_middle', @iMixId, '14px'),
+('bx_protean_font_size_small', @iMixId, '12px'),
+('bx_protean_font_weight_h1', @iMixId, '700'),
+('bx_protean_font_weight_h2', @iMixId, '700'),
+('bx_protean_font_weight_h3', @iMixId, '500'),
+('bx_protean_footer_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_footer_bg_image', @iMixId, '0'),
+('bx_protean_footer_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_footer_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_footer_bg_image_size', @iMixId, 'cover'),
+('bx_protean_footer_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_footer_border_size', @iMixId, '1px'),
+('bx_protean_footer_content_padding', @iMixId, '1rem'),
+('bx_protean_footer_font_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_footer_icon_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_footer_icon_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_footer_link_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_footer_link_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_footer_shadow', @iMixId, 'none'),
+('bx_protean_form_input_bg_color', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_form_input_bg_color_active', @iMixId, 'rgba(34, 51, 68, 1)'),
+('bx_protean_form_input_border_color', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_form_input_border_color_active', @iMixId, 'rgba(17, 34, 51, 1)'),
+('bx_protean_form_input_border_size', @iMixId, '2px'),
+('bx_protean_form_input_font_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_form_input_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_form_input_font_size', @iMixId, '1rem'),
+('bx_protean_form_input_height', @iMixId, '2.5rem'),
+('bx_protean_form_input_shadow', @iMixId, 'none'),
+('bx_protean_form_input_editor_skin', @iMixId, 'dark'),
+('bx_protean_general_item_bg_color_active', @iMixId, 'rgba(34, 51, 68, 1)'),
+('bx_protean_general_item_bg_color_disabled', @iMixId, 'rgba(233, 234, 235, 1)'),
+('bx_protean_general_item_bg_color_hover', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_header_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_header_bg_image', @iMixId, '0'),
+('bx_protean_header_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_header_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_header_bg_image_size', @iMixId, 'cover'),
+('bx_protean_header_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_header_border_size', @iMixId, '1px'),
+('bx_protean_header_content_padding', @iMixId, '0.5rem 0px 0.5rem 0px'),
+('bx_protean_header_height', @iMixId, '4rem'),
+('bx_protean_header_icon_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_header_icon_color_hover', @iMixId, 'rgba(243, 244, 245, 0.8)'),
+('bx_protean_header_link_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_header_link_color_hover', @iMixId, 'rgba(243, 244, 245, 0.8)'),
+('bx_protean_header_shadow', @iMixId, 'none'),
+('bx_protean_menu_account_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_account_bg_image', @iMixId, '0'),
+('bx_protean_menu_account_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_account_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_account_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_account_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_account_border_size', @iMixId, '0px'),
+('bx_protean_menu_account_content_padding', @iMixId, '0px'),
+('bx_protean_menu_account_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_account_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_account_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_account_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_account_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_account_font_size', @iMixId, '1rem'),
+('bx_protean_menu_account_font_weight', @iMixId, '400'),
+('bx_protean_menu_account_shadow', @iMixId, 'none'),
+('bx_protean_menu_main_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_main_bg_image', @iMixId, '0'),
+('bx_protean_menu_main_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_main_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_main_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_main_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_main_border_size', @iMixId, '0px'),
+('bx_protean_menu_main_content_padding', @iMixId, '0px'),
+('bx_protean_menu_main_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_main_font_color_active', @iMixId, 'rgba(252, 253, 254, 1)'),
+('bx_protean_menu_main_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_main_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_main_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_main_font_size', @iMixId, '1.125rem'),
+('bx_protean_menu_main_font_weight', @iMixId, '400'),
+('bx_protean_menu_main_shadow', @iMixId, 'none'),
+('bx_protean_menu_page_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_page_bg_image', @iMixId, '0'),
+('bx_protean_menu_page_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_page_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_page_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_page_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_page_border_size', @iMixId, '1px'),
+('bx_protean_menu_page_content_padding', @iMixId, '0px'),
+('bx_protean_menu_page_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_page_font_color_active', @iMixId, 'rgba(252, 253, 254, 1)'),
+('bx_protean_menu_page_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_page_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_page_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_page_font_size', @iMixId, '1.2rem'),
+('bx_protean_menu_page_font_weight', @iMixId, '400'),
+('bx_protean_menu_page_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_menu_slide_bg_color', @iMixId, 'rgba(34, 51, 68, 0.9)'),
+('bx_protean_menu_slide_bg_image', @iMixId, '0'),
+('bx_protean_menu_slide_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_menu_slide_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_menu_slide_bg_image_size', @iMixId, 'cover'),
+('bx_protean_menu_slide_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_menu_slide_border_size', @iMixId, '1px 0px 1px 0px'),
+('bx_protean_menu_slide_content_padding', @iMixId, '1.25rem'),
+('bx_protean_menu_slide_font_color', @iMixId, 'rgba(68, 136, 255, 1)'),
+('bx_protean_menu_slide_font_color_active', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_menu_slide_font_color_hover', @iMixId, 'rgba(68, 136, 255, 0.8)'),
+('bx_protean_menu_slide_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_menu_slide_font_shadow', @iMixId, 'none'),
+('bx_protean_menu_slide_font_size', @iMixId, '1.0rem'),
+('bx_protean_menu_slide_font_weight', @iMixId, '400'),
+('bx_protean_menu_slide_shadow', @iMixId, 'none'),
+('bx_protean_page_width', @iMixId, '1024'),
+('bx_protean_popup_bg_color', @iMixId, 'rgba(51, 68, 85, 1)'),
+('bx_protean_popup_bg_image', @iMixId, '0'),
+('bx_protean_popup_bg_image_attachment', @iMixId, 'scroll'),
+('bx_protean_popup_bg_image_repeat', @iMixId, 'no-repeat'),
+('bx_protean_popup_bg_image_size', @iMixId, 'cover'),
+('bx_protean_popup_border_color', @iMixId, 'rgba(136, 153, 170, 0.3)'),
+('bx_protean_popup_border_radius', @iMixId, '5px'),
+('bx_protean_popup_border_size', @iMixId, '1px'),
+('bx_protean_popup_content_padding', @iMixId, '1.25rem'),
+('bx_protean_popup_shadow', @iMixId, '0px 0px 3px 0px rgba(51, 68, 85, 0.1)'),
+('bx_protean_popup_title_bg_color', @iMixId, 'rgba(255, 255, 255, 0)'),
+('bx_protean_popup_title_font_color', @iMixId, 'rgba(243, 244, 245, 1)'),
+('bx_protean_popup_title_font_family', @iMixId, '\"Helvetica Neue\", sans-serif'),
+('bx_protean_popup_title_font_size', @iMixId, '1.5rem'),
+('bx_protean_popup_title_padding', @iMixId, '1.25rem'),
+('bx_protean_site_logo', @iMixId, '0'),
+('bx_protean_site_logo_alt', @iMixId, ''),
+('bx_protean_site_logo_height', @iMixId, '48'),
+('bx_protean_site_logo_width', @iMixId, '240'),
+('bx_protean_styles_custom', @iMixId, 'div.bx-base-pofile-cover {\r\nborder: 1px solid rgba(136, 153, 170, 0.3);\r\nborder-bottom-width: 0;\r\n}\r\n\r\n\r\ndiv.bx-market-unit-cover div.bx-base-text-unit-no-thumb {\r\nborder-width: 0px;\r\n}\r\n\r\n.sys-cpf-header,\r\n.sys-cpf-title,\r\n.sys-cpf-submenu-cnt ul li {\r\nborder-bottom-color: rgba(136, 153, 170, 0.3);\r\n}\r\n\r\n.sys-cpf-submenu-cnt ul li.bx-menu-inter-act {\r\nborder-bottom-color: rgb(17, 34, 51);\r\n}\r\n\r\n\r\n.bx-def-font {\r\nline-height:18px;\r\nline-height:1.2rem;\r\n}\r\nh1,\r\n.bx-def-font-h1 {\r\nline-height:36px;\r\nline-height:2.4rem;\r\n}\r\nh2,\r\n.bx-def-font-h2 {\r\nline-height:29px;\r\nline-height:1.92rem;\r\n}\r\nh3,\r\n.bx-def-font-h3 {\r\nline-height:22px;\r\nline-height:1.44rem;\r\n}\r\n\r\n.bx-def-label {\r\nbackground-color: rgba(245, 250, 255, 0.5);\r\n}\r\n.bx-def-label,\r\n.bx-def-label a,\r\n.bx-def-label .sys-icon {\r\ncolor: rgba(51, 68, 85, 1);\r\n}\r\n\r\n/*--- Informers ---*/\r\n.bx-informer-msg-info {\r\nbackground-color: rgba(60, 164, 85, 1.0);\r\n}\r\n.bx-informer-msg-alert {\r\nbackground-color: rgba(230, 115, 55, 1.0);\r\n}\r\n.bx-informer-msg-error {\r\nbackground-color: rgba(200, 64, 64, 1.0);\r\n}\r\n\r\n\r\n/*--- Menus ---*/\r\n.bx-menu-notif li.bx-menu-tab-active a, \r\n.bx-menu-verlit li.bx-menu-tab-active a, \r\n.bx-menu-ver li.bx-menu-tab-active a,\r\n.bx-menu-hor li.bx-menu-tab-active a {\r\ncolor: rgba(252, 253, 254, 1);\r\n}\r\n\r\n/*--- Forms ---*/\r\n.bx-form-value .bx-form-input-autotoken b {\r\ncolor: rgba(243, 244, 245, 1);\r\n}\r\n.bx-popup .dropzone {\r\nbackground-color: rgba(17, 34, 51, 1);\r\n}\r\n\r\n/*--- Timeline ---*/\r\ndiv.bx-tl-view-timeline div.bx-tl-items:before,\r\ndiv.bx-tl-view-timeline div.bx-tl-item-circle {\r\nbackground-color: rgba(51, 68, 85, 1);\r\n}\r\ndiv.bx-tl-il-embed {\r\npadding: 0.5rem;\r\nbackground-color: rgba(255, 255, 255, 0.8);\r\nborder-radius:  5px;\r\n}\r\n'),
+('bx_protean_vpm_font_size_scale', @iMixId, '85%'),
+('bx_protean_vpt_font_size_scale', @iMixId, '93.75%');

+ 51 - 0
modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Quote of the Day',
+    'version_from' => '9.0.4',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/quoteofday/updates/update_9.0.4_10.0.0/',
+    'home_uri' => 'quoteofday_update_904_1000',
+
+    'module_dir' => 'boonex/quoteofday/',
+    'module_uri' => 'quoteofday',
+
+    'db_prefix' => 'bx_quoteofday_',
+    'class_prefix' => 'BxQuoteOfDay',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Quote Of Day',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 13 - 0
modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/installer.php

@@ -0,0 +1,13 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxQuoteOfDayUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+}

+ 4 - 0
modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/langs/en.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_upd name="_bx_quoteofday_menu_item_title_system_admt_manage"><![CDATA[Quotes of the day]]></string_upd>
+</resources>

+ 2 - 0
modules/boonex/quoteofday/updates/9.0.4_10.0.0/install/sql/enable.sql

@@ -0,0 +1,2 @@
+-- MENUS
+UPDATE `sys_menu_items` SET `icon`='quote-right' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='quoteofday-manage' AND `icon`='';

+ 51 - 0
modules/boonex/shopify/updates/9.0.7_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Shopify',
+    'version_from' => '9.0.7',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/shopify/updates/update_9.0.7_10.0.0/',
+    'home_uri' => 'shopify_update_907_1000',
+
+    'module_dir' => 'boonex/shopify/',
+    'module_uri' => 'shopify',
+
+    'db_prefix' => 'bx_shopify_',
+    'class_prefix' => 'BxShopify',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Shopify',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 25 - 0
modules/boonex/shopify/updates/9.0.7_10.0.0/install/installer.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxShopifyUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_shopify_entries', 'rrate'))
+        	        $this->oDb->query("ALTER TABLE `bx_shopify_entries` ADD `rrate` float NOT NULL default '0' AFTER `votes`");
+            if(!$this->oDb->isFieldExists('bx_shopify_entries', 'rvotes'))
+        	        $this->oDb->query("ALTER TABLE `bx_shopify_entries` ADD `rvotes` int(11) NOT NULL default '0' AFTER `rrate`");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 7 - 0
modules/boonex/shopify/updates/9.0.7_10.0.0/install/langs/en.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_shopify_txt_sample_score_up_single"><![CDATA[score up vote to shop item]]></string_add>
+    <string_add name="_bx_shopify_txt_sample_score_down_single"><![CDATA[score down vote to shop item]]></string_add>
+
+	<string_upd name="_bx_shopify_menu_item_title_admt_entries"><![CDATA[Goods]]></string_upd>
+</resources>

+ 8 - 0
modules/boonex/shopify/updates/9.0.7_10.0.0/install/sql/enable.sql

@@ -0,0 +1,8 @@
+-- MENUS
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_shopify_view_actions' AND `name` IN ('reaction', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_shopify_view_actions', 'bx_shopify', 'reaction', '_sys_menu_item_title_system_va_reaction', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 225);
+
+UPDATE `sys_menu_items` SET `active`='0' WHERE `set_name`='bx_shopify_view_actions' AND `name`='vote';
+
+UPDATE `sys_menu_items` SET `icon`='shopping-cart' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='shopify-administration' AND `icon`='';

+ 28 - 0
modules/boonex/shopify/updates/9.0.7_10.0.0/install/sql/install.sql

@@ -0,0 +1,28 @@
+-- TABLES
+ALTER TABLE `bx_shopify_entries` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+CREATE TABLE IF NOT EXISTS `bx_shopify_reactions` (
+  `object_id` int(11) NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `reaction` (`object_id`, `reaction`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_shopify_reactions_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+
+-- VOTES
+DELETE FROM `sys_objects_vote` WHERE `Name`='bx_shopify_reactions';
+INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
+('bx_shopify_reactions', 'bx_shopify_reactions', 'bx_shopify_reactions_track', '604800', '1', '1', '1', '1', 'bx_shopify_entries', 'id', 'author', 'rrate', 'rvotes', 'BxTemplVoteReactions', '');

+ 51 - 0
modules/boonex/snipcart/updates/9.0.6_10.0.0/install/config.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Snipcart',
+    'version_from' => '9.0.6',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/snipcart/updates/update_9.0.6_10.0.0/',
+    'home_uri' => 'snipcart_update_906_1000',
+
+    'module_dir' => 'boonex/snipcart/',
+    'module_uri' => 'snipcart',
+
+    'db_prefix' => 'bx_snipcart_',
+    'class_prefix' => 'BxSnipcart',
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Snipcart',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 25 - 0
modules/boonex/snipcart/updates/9.0.6_10.0.0/install/installer.php

@@ -0,0 +1,25 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxSnipcartUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_snipcart_entries', 'rrate'))
+        	        $this->oDb->query("ALTER TABLE `bx_snipcart_entries` ADD `rrate` float NOT NULL default '0' AFTER `votes`");
+            if(!$this->oDb->isFieldExists('bx_snipcart_entries', 'rvotes'))
+        	        $this->oDb->query("ALTER TABLE `bx_snipcart_entries` ADD `rvotes` int(11) NOT NULL default '0' AFTER `rrate`");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 7 - 0
modules/boonex/snipcart/updates/9.0.6_10.0.0/install/langs/en.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_snipcart_txt_sample_score_up_single"><![CDATA[score up vote to shop item]]></string_add>
+    <string_add name="_bx_snipcart_txt_sample_score_down_single"><![CDATA[score down vote to shop item]]></string_add>
+
+    <string_upd name="_bx_snipcart_menu_item_title_admt_entries"><![CDATA[Goods]]></string_upd>
+</resources>

+ 8 - 0
modules/boonex/snipcart/updates/9.0.6_10.0.0/install/sql/enable.sql

@@ -0,0 +1,8 @@
+-- MENUS
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_snipcart_view_actions' AND `name` IN ('reaction', 'social-sharing-googleplus');
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_snipcart_view_actions', 'bx_snipcart', 'reaction', '_sys_menu_item_title_system_va_reaction', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 225);
+
+UPDATE `sys_menu_items` SET `active`='0' WHERE `set_name`='bx_snipcart_view_actions' AND `name`='vote';
+
+UPDATE `sys_menu_items` SET `icon`='shopping-cart' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='snipcart-administration' AND `icon`='';

+ 28 - 0
modules/boonex/snipcart/updates/9.0.6_10.0.0/install/sql/install.sql

@@ -0,0 +1,28 @@
+-- TABLES
+ALTER TABLE `bx_snipcart_entries` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+CREATE TABLE IF NOT EXISTS `bx_snipcart_reactions` (
+  `object_id` int(11) NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `reaction` (`object_id`, `reaction`)
+);
+
+CREATE TABLE IF NOT EXISTS `bx_snipcart_reactions_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `reaction` varchar(32) NOT NULL default '',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+);
+
+
+-- VOTES
+DELETE FROM `sys_objects_vote` WHERE `Name`='bx_snipcart_reactions';
+INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
+('bx_snipcart_reactions', 'bx_snipcart_reactions', 'bx_snipcart_reactions_track', '604800', '1', '1', '1', '1', 'bx_snipcart_entries', 'id', 'author', 'rrate', 'rvotes', 'BxTemplVoteReactions', '');

+ 59 - 0
modules/boonex/spaces/updates/9.0.5_10.0.0/install/config.php

@@ -0,0 +1,59 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+$aConfig = array(
+    /**
+     * Main Section.
+     */
+    'title' => 'Spaces',
+    'version_from' => '9.0.5',
+    'version_to' => '10.0.0',
+    'vendor' => 'BoonEx',
+
+    'compatible_with' => array(
+        '10.0.0-B1'
+    ),
+
+    /**
+     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
+     */
+    'home_dir' => 'boonex/spaces/updates/update_9.0.5_10.0.0/',
+    'home_uri' => 'spaces_update_905_1000',
+
+    'module_dir' => 'boonex/spaces/',
+    'module_uri' => 'spaces',
+
+    'db_prefix' => 'bx_spaces_',
+    'class_prefix' => 'BxSpaces',
+
+    /**
+     * Transcoders.
+     */
+    'transcoders' => array(
+        'bx_spaces_avatar_big'
+    ),
+
+    /**
+     * Installation/Uninstallation Section.
+     */
+    'install' => array(
+        'execute_sql' => 1,
+        'update_files' => 1,
+        'update_languages' => 1,
+        'register_transcoders' => 1,
+        'clear_db_cache' => 1,
+    ),
+
+    /**
+     * Category for language keys.
+     */
+    'language_category' => 'Spaces',
+
+    /**
+     * Files Section
+     */
+    'delete_files' => array(),
+);

+ 23 - 0
modules/boonex/spaces/updates/9.0.5_10.0.0/install/installer.php

@@ -0,0 +1,23 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ */
+
+class BxSpacesUpdater extends BxDolStudioUpdater
+{
+    function __construct($aConfig)
+    {
+        parent::__construct($aConfig);
+    }
+
+    public function actionExecuteSql($sOperation)
+    {
+        if($sOperation == 'install') {
+            if(!$this->oDb->isFieldExists('bx_spaces_data', 'allow_post_to'))
+        	        $this->oDb->query("ALTER TABLE `bx_spaces_data` ADD `allow_post_to` varchar(16) NOT NULL DEFAULT '3'");
+        }
+
+        return parent::actionExecuteSql($sOperation);
+    }
+}

+ 13 - 0
modules/boonex/spaces/updates/9.0.5_10.0.0/install/langs/en.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources name="en" flag="gb" title="English">
+	<string_add name="_bx_spaces_form_profile_input_sys_allow_post_to"><![CDATA[Who can post]]></string_add>
+	<string_add name="_bx_spaces_form_profile_input_allow_post_to"><![CDATA[Who can post]]></string_add>
+	<string_add name="_bx_spaces_menu_item_title_system_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_spaces_menu_item_title_view_profile_more_auto"><![CDATA[More]]></string_add>
+	<string_add name="_bx_spaces_txt_sample_score_up_single"><![CDATA[score up vote to space]]></string_add>
+	<string_add name="_bx_spaces_txt_sample_score_down_single"><![CDATA[score down vote to space]]></string_add>
+
+	<string_upd name="_bx_spaces_form_profile_input_sys_allow_view_to"><![CDATA[Visible to]]></string_upd>
+	<string_upd name="_bx_spaces_form_profile_input_allow_view_to"><![CDATA[Visible to]]></string_upd>
+	<string_upd name="_bx_spaces_menu_item_title_admt_spaces"><![CDATA[Spaces]]></string_upd>
+</resources>

+ 41 - 0
modules/boonex/spaces/updates/9.0.5_10.0.0/install/sql/enable.sql

@@ -0,0 +1,41 @@
+-- MENUS
+UPDATE `sys_objects_menu` SET `override_class_name`='BxSpacesMenuViewActions', `override_class_file`='modules/boonex/spaces/classes/BxSpacesMenuViewActions.php' WHERE `object`='bx_spaces_view_actions';
+UPDATE `sys_objects_menu` SET `override_class_name`='BxSpacesMenuViewActions', `override_class_file`='modules/boonex/spaces/classes/BxSpacesMenuViewActions.php' WHERE `object`='bx_spaces_view_actions_more';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_spaces_view_actions_all' AND `name`='social-sharing-googleplus';
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_spaces_view_submenu' AND `name`='more-auto';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES 
+('bx_spaces_view_submenu', 'bx_spaces', 'more-auto', '_bx_spaces_menu_item_title_system_view_profile_more_auto', '_bx_spaces_menu_item_title_view_profile_more_auto', 'javascript:void(0)', '', '', 'ellipsis-v', '', '', 0, 2147483647, '', 1, 0, 9999);
+
+DELETE FROM `sys_menu_items` WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='nl';
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `editable`, `order`) VALUES
+('bx_spaces_snippet_meta', 'bx_spaces', 'nl', '_sys_menu_item_title_system_sm_nl', '_sys_menu_item_title_sm_nl', '', '', '', '', '', '', 2147483647, '', 1, 0, 1, 7);
+
+UPDATE `sys_menu_items` SET `order`='1' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='date';
+UPDATE `sys_menu_items` SET `order`='2' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='tags';
+UPDATE `sys_menu_items` SET `order`='3' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='views';
+UPDATE `sys_menu_items` SET `order`='4' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='comments';
+UPDATE `sys_menu_items` SET `order`='5' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='members';
+UPDATE `sys_menu_items` SET `order`='6' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='subscribers';
+UPDATE `sys_menu_items` SET `order`='8' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='join';
+UPDATE `sys_menu_items` SET `order`='9' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='leave';
+UPDATE `sys_menu_items` SET `order`='10' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='subscribe';
+UPDATE `sys_menu_items` SET `order`='11' WHERE `set_name`='bx_spaces_snippet_meta' AND `name`='unsubscribe';
+
+UPDATE `sys_menu_items` SET `icon`='object-group' WHERE `set_name`='sys_account_dashboard_manage_tools' AND `name`='spaces-administration' AND `icon`='';
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name`='bx_spaces' LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `unit`='bx_spaces' AND `action` IN ('timeline_score', 'timeline_pin', 'timeline_promote') AND `handler_id`=@iHandler;
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('bx_spaces', 'timeline_score', @iHandler),
+('bx_spaces', 'timeline_pin', @iHandler),
+('bx_spaces', 'timeline_promote', @iHandler);
+
+
+-- PRIVACY 
+DELETE FROM `sys_objects_privacy` WHERE `object`='bx_spaces_allow_post_to';
+INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
+('bx_spaces_allow_post_to', 'bx_spaces', 'post', '_bx_spaces_form_profile_input_allow_post_to', '3', '', 'bx_spaces_data', 'id', 'author', 'BxSpacesPrivacyPost', 'modules/boonex/spaces/classes/BxSpacesPrivacyPost.php');

+ 27 - 0
modules/boonex/spaces/updates/9.0.5_10.0.0/install/sql/install.sql

@@ -0,0 +1,27 @@
+-- TABLES
+ALTER TABLE `bx_spaces_data` CHANGE `allow_view_to` `allow_view_to` VARCHAR(16) NOT NULL DEFAULT '3';
+
+
+-- STORAGES & TRANSCODERS
+DELETE FROM `sys_objects_transcoder` WHERE `object`='bx_spaces_avatar_big';
+INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`, `override_class_name`, `override_class_file`) VALUES 
+('bx_spaces_avatar_big', 'bx_spaces_pics_resized', 'Storage', 'a:1:{s:6:"object";s:14:"bx_spaces_pics";}', 'no', '1', '2592000', '0', '', '');
+
+DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object`='bx_spaces_avatar_big';
+INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES 
+('bx_spaces_avatar_big', 'Resize', 'a:3:{s:1:"w";s:3:"200";s:1:"h";s:3:"200";s:13:"square_resize";s:1:"1";}', '0');
+
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"30";s:1:"h";s:2:"30";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_spaces_icon';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:2:"50";s:1:"h";s:2:"50";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_spaces_thumb';
+UPDATE `sys_transcoder_filters` SET `filter_params`='a:3:{s:1:"w";s:3:"100";s:1:"h";s:3:"100";s:13:"square_resize";s:1:"1";}' WHERE `transcoder_object`='bx_spaces_avatar';
+
+-- FORMS
+DELETE FROM `sys_form_inputs` WHERE `object`='bx_space' AND `name` IN ('allow_post_to', 'labels');
+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_space', 'bx_spaces', 'allow_post_to', 3, '', 0, 'custom', '_bx_spaces_form_profile_input_sys_allow_post_to', '_bx_spaces_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_space', 'bx_spaces', 'labels', '', '', 0, 'custom', '_sys_form_input_sys_labels', '_sys_form_input_labels', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
+
+DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN ('bx_space_add', 'bx_space_edit') AND `input_name`='allow_post_to';
+INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES 
+('bx_space_add', 'allow_post_to', 2147483647, 1, 9),
+('bx_space_edit', 'allow_post_to', 2147483647, 1, 8);