Version Notes
# 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.0 |
| Comparing to | |
| See all releases | |
Version 1.0.0
app/code/community/Joiim/GroupChat/Block/Html/Head.php
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
class Joiim_GroupChat_Block_Html_Head extends Mage_Page_Block_Html_Head
|
| 4 |
+
{
|
| 5 |
+
/**
|
| 6 |
+
* Initialize template
|
| 7 |
+
*
|
| 8 |
+
*/
|
| 9 |
+
protected function _construct()
|
| 10 |
+
{
|
| 11 |
+
$this->setTemplate('page/html/head.phtml');
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
/**
|
| 16 |
+
* Add HEAD External Item
|
| 17 |
+
*
|
| 18 |
+
* Allowed types:
|
| 19 |
+
* - js
|
| 20 |
+
* - js_css
|
| 21 |
+
* - skin_js
|
| 22 |
+
* - skin_css
|
| 23 |
+
* - rss
|
| 24 |
+
*
|
| 25 |
+
* @param string $type
|
| 26 |
+
* @param string $name
|
| 27 |
+
* @param string $params
|
| 28 |
+
* @param string $if
|
| 29 |
+
* @param string $cond
|
| 30 |
+
* @return 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 |
+
|
| 38 |
+
/**
|
| 39 |
+
* Remove External Item from HEAD entity
|
| 40 |
+
*
|
| 41 |
+
* @param string $type
|
| 42 |
+
* @param string $name
|
| 43 |
+
* @return 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 |
+
*
|
| 54 |
+
* @see self::getCssJsHtml()
|
| 55 |
+
* @param array &$lines
|
| 56 |
+
* @param string $itemIf
|
| 57 |
+
* @param string $itemType
|
| 58 |
+
* @param string $itemParams
|
| 59 |
+
* @param string $itemName
|
| 60 |
+
* @param array $itemThe
|
| 61 |
+
*/
|
| 62 |
+
protected function _separateOtherHtmlHeadElements(&$lines, $itemIf, $itemType, $itemParams, $itemName, $itemThe)
|
| 63 |
+
{
|
| 64 |
+
Mage::log("in extension other html header elements");
|
| 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 |
+
case 'external_js':
|
| 78 |
+
$lines[$itemIf]['other'][] = sprintf('<script type="text/javascript" src="%s" %s></script>', $href, $params);
|
| 79 |
+
break;
|
| 80 |
+
|
| 81 |
+
case 'external_css':
|
| 82 |
+
$lines[$itemIf]['other'][] = sprintf('<link rel="stylesheet" type="text/css" href="%s" %s/>', $href, $params);
|
| 83 |
+
break;
|
| 84 |
+
}
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
}
|
app/code/community/Joiim/GroupChat/etc/config.xml
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Joiim_GroupChat>
|
| 5 |
+
<version>1.0.0</version>
|
| 6 |
+
</Joiim_GroupChat>
|
| 7 |
+
</modules>
|
| 8 |
+
<global>
|
| 9 |
+
<blocks>
|
| 10 |
+
<joiim_groupchat>
|
| 11 |
+
<class>Joiim_GroupChat_Block</class>
|
| 12 |
+
</joiim_groupchat>
|
| 13 |
+
<page>
|
| 14 |
+
<rewrite>
|
| 15 |
+
<html_head>Joiim_GroupChat_Block_Html_Head</html_head>
|
| 16 |
+
</rewrite>
|
| 17 |
+
</page>
|
| 18 |
+
</blocks>
|
| 19 |
+
</global>
|
| 20 |
+
<frontend>
|
| 21 |
+
<layout>
|
| 22 |
+
<updates>
|
| 23 |
+
<joiim_groupchat>
|
| 24 |
+
<file>joiim.xml</file>
|
| 25 |
+
</joiim_groupchat>
|
| 26 |
+
</updates>
|
| 27 |
+
</layout>
|
| 28 |
+
</frontend>
|
| 29 |
+
</config>
|
app/design/frontend/base/default/layout/joiim.xml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 6 |
+
</reference>
|
| 7 |
+
</catalog_product_view>
|
| 8 |
+
<catalog_category_view>
|
| 9 |
+
<reference name="head">
|
| 10 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 11 |
+
</reference>
|
| 12 |
+
</catalog_category_view>
|
| 13 |
+
</layout>
|
app/design/frontend/default/default/layout/joiim.xml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 6 |
+
</reference>
|
| 7 |
+
</catalog_product_view>
|
| 8 |
+
<catalog_category_view>
|
| 9 |
+
<reference name="head">
|
| 10 |
+
<action method="addExternalItem"><type>external_js</type><name>//cdn.joi.im/javascripts/joiimPlugin.min.js</name><params/></action>
|
| 11 |
+
</reference>
|
| 12 |
+
</catalog_category_view>
|
| 13 |
+
</layout>
|
app/etc/modules/Joiim_GroupChat.xml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Joiim_GroupChat>
|
| 5 |
+
<active>true</active>
|
| 6 |
+
<codePool>community</codePool>
|
| 7 |
+
</Joiim_GroupChat>
|
| 8 |
+
</modules>
|
| 9 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>Joiim_GroupChat</name>
|
| 4 |
+
<version>1.0.0</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.0 (include plugin 1.0.0-1.0.4)
|
| 12 |
+

|
| 13 |
+
plugin # version 1.0.4
|
| 14 |
+
* replace actb with jquery auto suggest
|
| 15 |
+
* scripts modulize refactor
|
| 16 |
+
* replace fixed button with sidebar
|
| 17 |
+
* click contact on sidebar to start conversation
|
| 18 |
+
plugin # version 1.0.3
|
| 19 |
+
* skip background image for image picker
|
| 20 |
+
plugin # version 1.0.2
|
| 21 |
+
* background image picker for selection
|
| 22 |
+
plugin # version 1.0.1
|
| 23 |
+
* mobile optimization for chat window
|
| 24 |
+
* rename getExistingChat to getPrevDiscussions
|
| 25 |
+
* fix first message not sent out
|
| 26 |
+
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-25</date>
|
| 31 |
+
<time>11:15:29</time>
|
| 32 |
+
<contents><target name="magecommunity"><dir name="Joiim"><dir name="GroupChat"><dir name="Block"><dir name="Html"><file name="Head.php" hash="1d6a3312d09538aac798bcd69f88f9dd"/></dir></dir><dir name="etc"><file name="config.xml" hash="57f8da40972a8ea2822db638cf65659e"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="joiim.xml" hash="2feb79955bf13d8d6697465ca2af0a4a"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="joiim.xml" hash="2feb79955bf13d8d6697465ca2af0a4a"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Joiim_GroupChat.xml" hash="7929825f015c67fc7d583f52b12b41e0"/></dir></target></contents>
|
| 33 |
+
<compatible/>
|
| 34 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 35 |
+
</package>
|
