فهرست منبع

#108 - Invitations: Note text for Invitation request.

AntonLV 11 سال پیش
والد
کامیت
ba2aa2326d

+ 18 - 0
modules/boonex/invites/classes/BxInvGridRequests.php

@@ -24,7 +24,25 @@ class BxInvGridRequests extends BxTemplGrid
 		$this->_sModule = 'bx_invites';
 		$this->_oModule = BxDolModule::getInstance($this->_sModule);
     }
+    public function performActionInfo()
+    {
+    	$aIds = bx_get('ids');
+        if(!$aIds || !is_array($aIds)) {
+            $this->_echoResultJson(array());
+            exit;
+        }
 
+        $aRequest = $this->_oModule->_oDb->getRequests(array('type' => 'by_id', 'value' => (int)array_shift($aIds)));
+		if(empty($aRequest) || !is_array($aRequest)){
+            $this->_echoResultJson(array());
+            exit;
+        }
+
+        bx_import('BxTemplFunctions');
+		$sContent = BxTemplFunctions::getInstance()->transBox('bx-invites-info-popup', $this->_oModule->_oTemplate->getBlockRequestText($aRequest));
+
+		$this->_echoResultJson(array('popup' => array('html' => $sContent)), true);
+    }
 	public function performActionInvite($aParams = array())
     {
     	$iProfileId = $this->_oModule->getProfileId();

+ 1 - 0
modules/boonex/invites/classes/BxInvModule.php

@@ -148,6 +148,7 @@ class BxInvModule extends BxDolModule
         if(!$oGrid)
             return '';
 
+		$this->_oTemplate->addCss(array('main.css'));
 		return $oGrid->getCode();
     }
 

+ 30 - 0
modules/boonex/invites/classes/BxInvStudioPage.php

@@ -0,0 +1,30 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    Accounts Accounts
+ * @ingroup     TridentModules
+ *
+ * @{
+ */
+
+bx_import('BxTemplStudioModule');
+
+class BxInvStudioPage extends BxTemplStudioModule
+{
+    function __construct($sModule = "", $sPage = "")
+    {
+        parent::__construct($sModule, $sPage);
+
+        bx_import('BxDolPermalinks');
+        $oPermalink = BxDolPermalinks::getInstance();
+
+        $this->aMenuItems = array(
+            array('name' => 'settings', 'icon' => 'cogs', 'title' => '_adm_lmi_cpt_settings'),
+            array('name' => 'manage', 'icon' => 'edit', 'title' => '_bx_invites_menu_item_title_requests', 'link' => BX_DOL_URL_ROOT . $oPermalink->permalink('page.php?i=invites-requests')),
+        );
+    }
+}
+
+/** @} */

+ 8 - 0
modules/boonex/invites/classes/BxInvTemplate.php

@@ -18,6 +18,14 @@ class BxInvTemplate extends BxDolModuleTemplate
         parent::__construct($oConfig, $oDb);
     }
 
+    public function getBlockRequestText($aRequest)
+    {
+    	return $this->parseHtmlByName('request_text.html', array(
+			'style_prefix' => $this->_oConfig->getPrefix('style'),
+			'text' => bx_process_output(nl2br($aRequest['text']), BX_DATA_TEXT_MULTILINE),
+		));
+    }
+
     public function getBlockInvite($iAccountId, $iProfileId)
     {
     	$iInvites = $this->_oConfig->getCountPerUser();

+ 5 - 0
modules/boonex/invites/install/langs/en.xml

@@ -24,6 +24,9 @@
 	<string name="_bx_invites_form_request_input_sys_email"><![CDATA[Your email]]></string>
 	<string name="_bx_invites_form_request_input_email"><![CDATA[Your email]]></string>
 	<string name="_bx_invites_form_request_input_email_err"><![CDATA[You need to type the correct email.]]></string>
+	<string name="_bx_invites_form_request_input_sys_text"><![CDATA[Text]]></string>
+	<string name="_bx_invites_form_request_input_text"><![CDATA[Why do you want to join?]]></string>
+	<string name="_bx_invites_form_request_input_text_err"><![CDATA[You need to briefly describe why you want to join our site.]]></string>
 	<string name="_bx_invites_form_request_input_sys_do_submit"><![CDATA[Send]]></string>
 	<string name="_bx_invites_form_request_input_do_submit"><![CDATA[Send]]></string>
 
@@ -34,6 +37,7 @@
 	<string name="_bx_invites_grid_column_title_nip"><![CDATA[IP]]></string>
 	<string name="_bx_invites_grid_column_title_date"><![CDATA[Date]]></string>
 
+	<string name="_bx_invites_grid_action_title_adm_info"><![CDATA[Info]]></string>
 	<string name="_bx_invites_grid_action_title_adm_invite"><![CDATA[Invite]]></string>
 	<string name="_bx_invites_grid_action_title_adm_delete"><![CDATA[Delete]]></string>
 
@@ -57,6 +61,7 @@
 	<!-- Menus -->
 	<string name="_bx_invites_menu_item_title_system_requests"><![CDATA[Invitation requests]]></string>
 	<string name="_bx_invites_menu_item_title_requests"><![CDATA[Invitation requests - {addon} awaiting]]></string>
+	<string name="_bx_invites_menu_item_title_requests"><![CDATA[Requests]]></string>
 
 
 	<!-- Options -->

+ 9 - 5
modules/boonex/invites/install/sql/install.sql

@@ -15,6 +15,7 @@ CREATE TABLE IF NOT EXISTS `bx_inv_requests` (
   `id` int(11) NOT NULL auto_increment,
   `name` varchar(255) collate utf8_unicode_ci NOT NULL,
   `email` varchar(128) collate utf8_unicode_ci NOT NULL,
+  `text` text collate utf8_unicode_ci NOT NULL,
   `nip` int(11) unsigned NOT NULL default '0',
   `date` int(11) NOT NULL default '0',
   PRIMARY KEY  (`id`)
@@ -48,12 +49,14 @@ INSERT INTO `sys_form_displays` (`display_name`, `module`, `object`, `title`, `v
 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_invites_request', @sName, 'name', '', '', 0, 'text', '_bx_invites_form_request_input_sys_name', '_bx_invites_form_request_input_name', '', 1, 0, 0, '', '', '', 'Length', 'a:2:{s:3:"min";i:1;s:3:"max";i:150;}', '_bx_invites_form_request_input_name_err', 'Xss', '', 0, 0),
 ('bx_invites_request', @sName, 'email', '', '', 0, 'text', '_bx_invites_form_request_input_sys_email', '_bx_invites_form_request_input_email', '', 1, 0, 0, '', '', '', 'Email', '', '_bx_invites_form_request_input_email_err', 'Xss', '', 0, 0),
+('bx_invites_request', @sName, 'text', '', '', 0, 'textarea', '_bx_invites_form_request_input_sys_text', '_bx_invites_form_request_input_text', '', 1, 0, 0, '', '', '', 'Length', 'a:2:{s:3:"min";i:10;s:3:"max";i:5000;}', '_bx_invites_form_request_input_text_err', 'Xss', '', 0, 0),
 ('bx_invites_request', @sName, 'do_submit', '_bx_invites_form_request_input_do_submit', '', 0, 'submit', '_bx_invites_form_request_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0);
 
 INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
 ('bx_invites_request_send', 'name', 2147483647, 1, 1),
 ('bx_invites_request_send', 'email', 2147483647, 1, 2),
-('bx_invites_request_send', 'do_submit', 2147483647, 1, 3);
+('bx_invites_request_send', 'text', 2147483647, 1, 3),
+('bx_invites_request_send', 'do_submit', 2147483647, 1, 4);
 
 
 -- GRIDS
@@ -62,17 +65,18 @@ INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `fie
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable`, `chars_limit`, `params`, `order`) VALUES
 ('bx_invites_requests', 'checkbox', '_sys_select', '2%', 0, '', '', 1),
-('bx_invites_requests', 'name', '_bx_invites_grid_column_title_name', '25%', 0, '', '', 2),
+('bx_invites_requests', 'name', '_bx_invites_grid_column_title_name', '20%', 0, '', '', 2),
 ('bx_invites_requests', 'email', '_bx_invites_grid_column_title_email', '20%', 1, '25', '', 3),
 ('bx_invites_requests', 'nip', '_bx_invites_grid_column_title_nip', '15%', 0, '15', '', 4),
 ('bx_invites_requests', 'date', '_bx_invites_grid_column_title_date', '20%', 0, '20', '', 5),
-('bx_invites_requests', 'actions', '', '18%', 0, '', '', 6);
+('bx_invites_requests', 'actions', '', '23%', 0, '', '', 6);
 
 INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `icon_only`, `confirm`, `order`) VALUES
 ('bx_invites_requests', 'bulk', 'invite', '_bx_invites_grid_action_title_adm_invite', '', 0, 0, 1),
 ('bx_invites_requests', 'bulk', 'delete', '_bx_invites_grid_action_title_adm_delete', '', 0, 1, 2),
-('bx_invites_requests', 'single', 'invite', '_bx_invites_grid_action_title_adm_invite', 'envelope', 1, 0, 1),
-('bx_invites_requests', 'single', 'delete', '_bx_invites_grid_action_title_adm_delete', 'remove', 1, 1, 2);
+('bx_invites_requests', 'single', 'info', '_bx_invites_grid_action_title_adm_info', 'exclamation-circle', 1, 0, 1),
+('bx_invites_requests', 'single', 'invite', '_bx_invites_grid_action_title_adm_invite', 'envelope', 1, 0, 2),
+('bx_invites_requests', 'single', 'delete', '_bx_invites_grid_action_title_adm_delete', 'remove', 1, 1, 3);
 
 
 -- STUDIO PAGE & WIDGET

+ 8 - 1
modules/boonex/invites/template/css/main.css

@@ -8,4 +8,11 @@ div.bx-inv-invite-btn .bx-btn {
 }
 
 /*--- Request Invite block ---*/
-div.bx-inv-request-btn  {}
+div.bx-inv-request-btn  {}
+
+
+/*--- Manage Requests page ---*/
+div.bx-inv-request-text {
+	max-width: 400px;
+	max-width: 25rem;
+}

+ 1 - 0
modules/boonex/invites/template/request_text.html

@@ -0,0 +1 @@
+<div class="__style_prefix__-request-text bx-def-padding">__text__</div>