Version Notes
# version 1.0.1
* replace app icon
# version 1.0.0 (include plugin 1.0.0-1.0.4)
plugin # version 1.0.4
* replace actb with jquery auto suggest
* scripts modulize refactor
* replace fixed button with sidebar
* click contact on sidebar to start conversation
plugin # version 1.0.3
* skip background image for image picker
plugin # version 1.0.2
* background image picker for selection
plugin # version 1.0.1
* mobile optimization for chat window
* rename getExistingChat to getPrevDiscussions
* fix first message not sent out
plugin # version 1.0.0
* release plugin v1.0.0
Download this release
Release Info
| Developer | Joi.IM |
| Extension | Joiim_GroupChat |
| Version | 1.0.1 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.0 to 1.0.1
- app/code/community/Joiim/GroupChat/Block/Html/Head.php +25 -8
- app/code/community/Joiim/GroupChat/Helper/Data.php +10 -0
- app/code/community/Joiim/GroupChat/etc/config.xml +36 -1
- app/code/community/Joiim/GroupChat/etc/system.xml +58 -0
- app/design/frontend/base/default/layout/joiim.xml +7 -5
- app/design/frontend/default/default/layout/joiim.xml +7 -5
- package.xml +8 -5
app/code/community/Joiim/GroupChat/Block/Html/Head.php
CHANGED
|
@@ -31,7 +31,6 @@ class Joiim_GroupChat_Block_Html_Head extends Mage_Page_Block_Html_Head
|
|
| 31 |
*/
|
| 32 |
public function addExternalItem($type, $name, $params=null, $if=null, $cond=null)
|
| 33 |
{
|
| 34 |
-
Mage::log("in extension addExternalItem ".$type.", ".$name);
|
| 35 |
parent::addItem($type, $name, $params, $if, $cond);
|
| 36 |
}
|
| 37 |
|
|
@@ -44,10 +43,25 @@ class Joiim_GroupChat_Block_Html_Head extends Mage_Page_Block_Html_Head
|
|
| 44 |
*/
|
| 45 |
public function removeExternalItem($type, $name)
|
| 46 |
{
|
| 47 |
-
Mage::log("in extension removeExternalItem ".$type.", ".$name);
|
| 48 |
parent::removeItem($type, $name);
|
| 49 |
}
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
/**
|
| 52 |
* Classify HTML head item and queue it into "lines" array
|
| 53 |
*
|
|
@@ -61,26 +75,29 @@ class Joiim_GroupChat_Block_Html_Head extends Mage_Page_Block_Html_Head
|
|
| 61 |
*/
|
| 62 |
protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
|
| 63 |
{
|
| 64 |
-
|
| 65 |
-
$params = $itemParams ? ' ' . $itemParams : '';
|
| 66 |
$href = $itemName;
|
| 67 |
switch ($itemType) {
|
| 68 |
case 'rss':
|
| 69 |
-
$lines[$itemIf]['other'][] = sprintf('<link href="%s"%s rel="alternate" type="application/rss+xml" />',
|
| 70 |
$href, $params
|
| 71 |
);
|
| 72 |
break;
|
| 73 |
case 'link_rel':
|
| 74 |
-
$lines[$itemIf]['other'][] = sprintf('<link%s href="%s" />', $params, $href);
|
| 75 |
break;
|
| 76 |
|
| 77 |
-
|
| 78 |
$lines[$itemIf]['other'][] = sprintf('<script type="text/javascript" src="%s" %s></script>', $href, $params);
|
| 79 |
break;
|
| 80 |
|
| 81 |
-
|
| 82 |
$lines[$itemIf]['other'][] = sprintf('<link rel="stylesheet" type="text/css" href="%s" %s/>', $href, $params);
|
| 83 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
}
|
| 85 |
}
|
| 86 |
|
| 31 |
*/
|
| 32 |
public function addExternalItem($type, $name, $params=null, $if=null, $cond=null)
|
| 33 |
{
|
|
|
|
| 34 |
parent::addItem($type, $name, $params, $if, $cond);
|
| 35 |
}
|
| 36 |
|
| 43 |
*/
|
| 44 |
public function removeExternalItem($type, $name)
|
| 45 |
{
|
|
|
|
| 46 |
parent::removeItem($type, $name);
|
| 47 |
}
|
| 48 |
|
| 49 |
+
/**
|
| 50 |
+
* Add Joiim Meta tags for Head entity
|
| 51 |
+
*
|
| 52 |
+
*/
|
| 53 |
+
public function addJoiimMetaTags()
|
| 54 |
+
{
|
| 55 |
+
$enabled = Mage::getStoreConfig('joiimsettings/joiimstorevalues/enabled');
|
| 56 |
+
$this->addItem('meta', 'joiim:enabled', $enabled);
|
| 57 |
+
|
| 58 |
+
$debugged = Mage::getStoreConfig('joiimsettings/joiimstorevalues/debug');
|
| 59 |
+
$this->addItem('meta', 'joiim:debug', $debugged);
|
| 60 |
+
|
| 61 |
+
$siteId = Mage::getStoreConfig('joiimsettings/joiimstorevalues/site_id');
|
| 62 |
+
$this->addItem('meta', 'joiim:site_id', $siteId);
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
/**
|
| 66 |
* Classify HTML head item and queue it into "lines" array
|
| 67 |
*
|
| 75 |
*/
|
| 76 |
protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
|
| 77 |
{
|
| 78 |
+
$params = $itemParams ? $itemParams : '';
|
|
|
|
| 79 |
$href = $itemName;
|
| 80 |
switch ($itemType) {
|
| 81 |
case 'rss':
|
| 82 |
+
$lines[$itemIf]['other'][] = sprintf('<link href="%s" %s rel="alternate" type="application/rss+xml" />',
|
| 83 |
$href, $params
|
| 84 |
);
|
| 85 |
break;
|
| 86 |
case 'link_rel':
|
| 87 |
+
$lines[$itemIf]['other'][] = sprintf('<link %s href="%s" />', $params, $href);
|
| 88 |
break;
|
| 89 |
|
| 90 |
+
case 'external_js':
|
| 91 |
$lines[$itemIf]['other'][] = sprintf('<script type="text/javascript" src="%s" %s></script>', $href, $params);
|
| 92 |
break;
|
| 93 |
|
| 94 |
+
case 'external_css':
|
| 95 |
$lines[$itemIf]['other'][] = sprintf('<link rel="stylesheet" type="text/css" href="%s" %s/>', $href, $params);
|
| 96 |
break;
|
| 97 |
+
|
| 98 |
+
case 'meta':
|
| 99 |
+
$lines[$itemIf]['other'][] = sprintf('<meta name="%s" content="%s" />', $href, $params);
|
| 100 |
+
break;
|
| 101 |
}
|
| 102 |
}
|
| 103 |
|
app/code/community/Joiim/GroupChat/Helper/Data.php
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Help module helper
|
| 4 |
+
*
|
| 5 |
+
*/
|
| 6 |
+
class Joiim_GroupChat_Helper_Data extends Mage_Core_Helper_Abstract
|
| 7 |
+
{
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
}
|
app/code/community/Joiim/GroupChat/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Joiim_GroupChat>
|
| 5 |
-
<version>1.0.
|
| 6 |
</Joiim_GroupChat>
|
| 7 |
</modules>
|
| 8 |
<global>
|
|
@@ -16,6 +16,11 @@
|
|
| 16 |
</rewrite>
|
| 17 |
</page>
|
| 18 |
</blocks>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</global>
|
| 20 |
<frontend>
|
| 21 |
<layout>
|
|
@@ -26,4 +31,34 @@
|
|
| 26 |
</updates>
|
| 27 |
</layout>
|
| 28 |
</frontend>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
</config>
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Joiim_GroupChat>
|
| 5 |
+
<version>1.0.1</version>
|
| 6 |
</Joiim_GroupChat>
|
| 7 |
</modules>
|
| 8 |
<global>
|
| 16 |
</rewrite>
|
| 17 |
</page>
|
| 18 |
</blocks>
|
| 19 |
+
<helpers>
|
| 20 |
+
<groupchat>
|
| 21 |
+
<class>Joiim_GroupChat_Helper</class>
|
| 22 |
+
</groupchat>
|
| 23 |
+
</helpers>
|
| 24 |
</global>
|
| 25 |
<frontend>
|
| 26 |
<layout>
|
| 31 |
</updates>
|
| 32 |
</layout>
|
| 33 |
</frontend>
|
| 34 |
+
<adminhtml>
|
| 35 |
+
<acl>
|
| 36 |
+
<resources>
|
| 37 |
+
<admin>
|
| 38 |
+
<children>
|
| 39 |
+
<system>
|
| 40 |
+
<children>
|
| 41 |
+
<config>
|
| 42 |
+
<children>
|
| 43 |
+
<joiimsettings>
|
| 44 |
+
<title>Joi.IM Settings</title>
|
| 45 |
+
</joiimsettings>
|
| 46 |
+
</children>
|
| 47 |
+
</config>
|
| 48 |
+
</children>
|
| 49 |
+
</system>
|
| 50 |
+
</children>
|
| 51 |
+
</admin>
|
| 52 |
+
</resources>
|
| 53 |
+
</acl>
|
| 54 |
+
</adminhtml>
|
| 55 |
+
<default>
|
| 56 |
+
<joiimsettings>
|
| 57 |
+
<joiimstorevalues>
|
| 58 |
+
<enabled>0</enabled>
|
| 59 |
+
<debug>0</debug>
|
| 60 |
+
<site_id>0</site_id>
|
| 61 |
+
</joiimstorevalues>
|
| 62 |
+
</joiimsettings>
|
| 63 |
+
</default>
|
| 64 |
</config>
|
app/code/community/Joiim/GroupChat/etc/system.xml
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<tabs>
|
| 4 |
+
<joiimconfig translate="label" module="groupchat">
|
| 5 |
+
<label>Joi.IM Setup</label>
|
| 6 |
+
<sort_order>99999</sort_order>
|
| 7 |
+
</joiimconfig>
|
| 8 |
+
</tabs>
|
| 9 |
+
<sections>
|
| 10 |
+
<joiimsettings translate="label" module="groupchat">
|
| 11 |
+
<label>Joi.IM Settings</label>
|
| 12 |
+
<tab>joiimconfig</tab>
|
| 13 |
+
<frontend_type>text</frontend_type>
|
| 14 |
+
<sort_order>1000</sort_order>
|
| 15 |
+
<show_in_default>1</show_in_default>
|
| 16 |
+
<show_in_website>1</show_in_website>
|
| 17 |
+
<show_in_store>1</show_in_store>
|
| 18 |
+
<groups>
|
| 19 |
+
<joiimstorevalues translate="label">
|
| 20 |
+
<label>Joi.IM Integration</label>
|
| 21 |
+
<frontend_type>text</frontend_type>
|
| 22 |
+
<sort_order>1</sort_order>
|
| 23 |
+
<show_in_default>1</show_in_default>
|
| 24 |
+
<show_in_website>1</show_in_website>
|
| 25 |
+
<show_in_store>1</show_in_store>
|
| 26 |
+
<fields>
|
| 27 |
+
<enabled translate="label">
|
| 28 |
+
<label>Enabled</label>
|
| 29 |
+
<frontend_type>select</frontend_type>
|
| 30 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 31 |
+
<sort_order>1</sort_order>
|
| 32 |
+
<show_in_default>1</show_in_default>
|
| 33 |
+
<show_in_website>1</show_in_website>
|
| 34 |
+
<show_in_store>1</show_in_store>
|
| 35 |
+
</enabled>
|
| 36 |
+
<debug translate="label">
|
| 37 |
+
<label>Debug Mode</label>
|
| 38 |
+
<frontend_type>select</frontend_type>
|
| 39 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 40 |
+
<sort_order>2</sort_order>
|
| 41 |
+
<show_in_default>1</show_in_default>
|
| 42 |
+
<show_in_website>1</show_in_website>
|
| 43 |
+
<show_in_store>1</show_in_store>
|
| 44 |
+
</debug>
|
| 45 |
+
<site_id translate="label">
|
| 46 |
+
<label>Joi.IM API Key</label>
|
| 47 |
+
<frontend_type>text</frontend_type>
|
| 48 |
+
<sort_order>5</sort_order>
|
| 49 |
+
<show_in_default>1</show_in_default>
|
| 50 |
+
<show_in_website>1</show_in_website>
|
| 51 |
+
<show_in_store>1</show_in_store>
|
| 52 |
+
</site_id>
|
| 53 |
+
</fields>
|
| 54 |
+
</joiimstorevalues>
|
| 55 |
+
</groups>
|
| 56 |
+
</joiimsettings>
|
| 57 |
+
</sections>
|
| 58 |
+
</config>
|
app/design/frontend/base/default/layout/joiim.xml
CHANGED
|
@@ -1,13 +1,15 @@
|
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
<layout version="0.1.0">
|
| 3 |
<catalog_product_view>
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
|
|
|
| 7 |
</catalog_product_view>
|
| 8 |
<catalog_category_view>
|
| 9 |
<reference name="head">
|
| 10 |
-
|
| 11 |
-
|
|
|
|
| 12 |
</catalog_category_view>
|
| 13 |
</layout>
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
<layout version="0.1.0">
|
| 3 |
<catalog_product_view>
|
| 4 |
+
<reference name="head">
|
| 5 |
+
<action method="addJoiimMetaTags"></action>
|
| 6 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 7 |
+
</reference>
|
| 8 |
</catalog_product_view>
|
| 9 |
<catalog_category_view>
|
| 10 |
<reference name="head">
|
| 11 |
+
<action method="addJoiimMetaTags"></action>
|
| 12 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 13 |
+
</reference>
|
| 14 |
</catalog_category_view>
|
| 15 |
</layout>
|
app/design/frontend/default/default/layout/joiim.xml
CHANGED
|
@@ -1,13 +1,15 @@
|
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
<layout version="0.1.0">
|
| 3 |
<catalog_product_view>
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
|
|
|
| 7 |
</catalog_product_view>
|
| 8 |
<catalog_category_view>
|
| 9 |
<reference name="head">
|
| 10 |
-
|
| 11 |
-
|
|
|
|
| 12 |
</catalog_category_view>
|
| 13 |
</layout>
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
<layout version="0.1.0">
|
| 3 |
<catalog_product_view>
|
| 4 |
+
<reference name="head">
|
| 5 |
+
<action method="addJoiimMetaTags"></action>
|
| 6 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 7 |
+
</reference>
|
| 8 |
</catalog_product_view>
|
| 9 |
<catalog_category_view>
|
| 10 |
<reference name="head">
|
| 11 |
+
<action method="addJoiimMetaTags"></action>
|
| 12 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 13 |
+
</reference>
|
| 14 |
</catalog_category_view>
|
| 15 |
</layout>
|
package.xml
CHANGED
|
@@ -1,14 +1,17 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Joiim_GroupChat</name>
|
| 4 |
-
<version>1.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://aws.amazon.com/apache2.0">Apache Software License</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Group Chat Referral System</summary>
|
| 10 |
<description>Joi.IM is a beautiful real-time group chat embedded directly on your Shopify stores for your users to invite their friends to come to the site and chat privately right where they are.</description>
|
| 11 |
-
<notes># version 1.0.
|
|
|
|
|
|
|
|
|
|
| 12 |

|
| 13 |
plugin # version 1.0.4
|
| 14 |
* replace actb with jquery auto suggest
|
|
@@ -27,9 +30,9 @@ plugin # version 1.0.0
|
|
| 27 |
* release plugin v1.0.0
|
| 28 |
</notes>
|
| 29 |
<authors><author><name>Joi.IM</name><user>joiim</user><email>angelo@joi.im</email></author></authors>
|
| 30 |
-
<date>2012-11-
|
| 31 |
-
<time>
|
| 32 |
-
<contents><target name="magecommunity"><dir name="Joiim"><dir name="GroupChat"><dir name="Block"><dir name="Html"><file name="Head.php" hash="
|
| 33 |
<compatible/>
|
| 34 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 35 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Joiim_GroupChat</name>
|
| 4 |
+
<version>1.0.1</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://aws.amazon.com/apache2.0">Apache Software License</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Group Chat Referral System</summary>
|
| 10 |
<description>Joi.IM is a beautiful real-time group chat embedded directly on your Shopify stores for your users to invite their friends to come to the site and chat privately right where they are.</description>
|
| 11 |
+
<notes># version 1.0.1
|
| 12 |
+
* replace app icon
|
| 13 |
+

|
| 14 |
+
# version 1.0.0 (include plugin 1.0.0-1.0.4)
|
| 15 |

|
| 16 |
plugin # version 1.0.4
|
| 17 |
* replace actb with jquery auto suggest
|
| 30 |
* release plugin v1.0.0
|
| 31 |
</notes>
|
| 32 |
<authors><author><name>Joi.IM</name><user>joiim</user><email>angelo@joi.im</email></author></authors>
|
| 33 |
+
<date>2012-11-30</date>
|
| 34 |
+
<time>21:26:09</time>
|
| 35 |
+
<contents><target name="magecommunity"><dir name="Joiim"><dir name="GroupChat"><dir name="Block"><dir name="Html"><file name="Head.php" hash="1618b22756734d56fa61b10d5e62be93"/></dir></dir><dir name="Helper"><file name="Data.php" hash="c29de751b162395ff94ef469007901d9"/></dir><dir name="etc"><file name="config.xml" hash="891584624de61fb85ce5c8a533cbff85"/><file name="system.xml" hash="f868b2e35d6ad8ed8d93b4ee25f32243"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="joiim.xml" hash="960bf667a7779998ef93476783c77286"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="joiim.xml" hash="960bf667a7779998ef93476783c77286"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Joiim_GroupChat.xml" hash="7929825f015c67fc7d583f52b12b41e0"/></dir></target></contents>
|
| 36 |
<compatible/>
|
| 37 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 38 |
</package>
|
