Version Notes
First Release
Download this release
Release Info
Developer | Magento Core Team |
Extension | Creare_Latesttweet |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/local/Creare/Latesttweet/Block/Latesttweet.php +164 -0
- app/code/local/Creare/Latesttweet/Helper/Data.php +6 -0
- app/code/local/Creare/Latesttweet/Model/Adminhtml/System/Config/Source/Numbers.php +13 -0
- app/code/local/Creare/Latesttweet/etc/config.xml +108 -0
- app/code/local/Creare/Latesttweet/etc/system.xml +90 -0
- app/design/frontend/default/default/layout/latesttweet.xml +12 -0
- app/design/frontend/default/default/template/latesttweet/tweet.phtml +26 -0
- app/etc/modules/Creare_Latesttweet.xml +8 -0
- package.xml +20 -0
- skin/adminhtml/default/default/latesttweet/admin.css +12 -0
- skin/frontend/default/default/css/latesttweet.css +5 -0
- skin/frontend/default/default/images/latesttweet/tweet.gif +0 -0
app/code/local/Creare/Latesttweet/Block/Latesttweet.php
ADDED
@@ -0,0 +1,164 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Creare_Latesttweet_Block_Latesttweet extends Mage_Core_Block_Template
|
4 |
+
{
|
5 |
+
public function _prepareLayout()
|
6 |
+
{
|
7 |
+
return parent::_prepareLayout();
|
8 |
+
}
|
9 |
+
|
10 |
+
public function isEnabled()
|
11 |
+
{
|
12 |
+
if(Mage::getStoreConfig('latesttweet/latesttweet/active')){
|
13 |
+
return true;
|
14 |
+
} else {
|
15 |
+
return false;
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
public function getTwitterId()
|
20 |
+
{
|
21 |
+
$twitterid = Mage::getStoreConfig('latesttweet/latesttweet/twitterid');
|
22 |
+
return $twitterid;
|
23 |
+
}
|
24 |
+
|
25 |
+
public function getNoFollow()
|
26 |
+
{
|
27 |
+
$nofollow = Mage::getStoreConfig('latesttweet/latesttweet/usenofollow');
|
28 |
+
return $nofollow;
|
29 |
+
}
|
30 |
+
|
31 |
+
public function getNumberOfTweets()
|
32 |
+
{
|
33 |
+
$numberoftweets = Mage::getStoreConfig('latesttweet/latesttweet/numberoftweets');
|
34 |
+
return $numberoftweets;
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getTagPref()
|
38 |
+
{
|
39 |
+
$tagpref = Mage::getStoreConfig('latesttweet/latesttweet/showlinks');
|
40 |
+
return $tagpref;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function getNewWindow()
|
44 |
+
{
|
45 |
+
$tagpref = Mage::getStoreConfig('latesttweet/latesttweet/opennew');
|
46 |
+
return $tagpref;
|
47 |
+
}
|
48 |
+
|
49 |
+
private function getTweetData($tweetxml)
|
50 |
+
{
|
51 |
+
|
52 |
+
$xmlDoc = new DOMDocument();
|
53 |
+
$xmlDoc->load($tweetxml);
|
54 |
+
|
55 |
+
$x = $xmlDoc->getElementsByTagName("entry"); // get all entries
|
56 |
+
$tweets = array();
|
57 |
+
foreach($x as $item){
|
58 |
+
$tweet = array();
|
59 |
+
|
60 |
+
if($item->childNodes->length) {
|
61 |
+
foreach($item->childNodes as $i){
|
62 |
+
$tweet[$i->nodeName] = $i->nodeValue;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
$tweets[] = $tweet;
|
66 |
+
}
|
67 |
+
|
68 |
+
return $tweets;
|
69 |
+
}
|
70 |
+
|
71 |
+
private function cleanTwitterName($twitterid)
|
72 |
+
{
|
73 |
+
$test = substr($twitterid,0,1);
|
74 |
+
|
75 |
+
if($test == "@"){
|
76 |
+
$twitterid = substr($twitterid,1);
|
77 |
+
}
|
78 |
+
|
79 |
+
return $twitterid;
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
private function changeLink($string, $tags=true, $nofollow=true, $newwindow=true)
|
84 |
+
{
|
85 |
+
if(!$tags){
|
86 |
+
$string = strip_tags($string);
|
87 |
+
}
|
88 |
+
if($nofollow){
|
89 |
+
$string = str_replace('<a ','<a rel="nofollow"', $string);
|
90 |
+
}
|
91 |
+
if($newwindow){
|
92 |
+
$string = str_replace('<a ','<a target="_blank"', $string);
|
93 |
+
}
|
94 |
+
return $string;
|
95 |
+
}
|
96 |
+
|
97 |
+
private function getTweetArray($tweets)
|
98 |
+
{
|
99 |
+
|
100 |
+
$data = array();
|
101 |
+
|
102 |
+
if(empty($tweets)) {
|
103 |
+
return false;
|
104 |
+
}
|
105 |
+
for($i=0;$i<count($tweets);$i++){
|
106 |
+
$tweettag = $tweets[$i];
|
107 |
+
/********************** Getting Times (Hours/Minutes/Days) */
|
108 |
+
$tweetdate = $tweettag["published"];
|
109 |
+
$tweet = $tweettag["content"];
|
110 |
+
$timedate = explode("T",$tweetdate);
|
111 |
+
$date = $timedate[0];
|
112 |
+
$time = substr($timedate[1],0, -1);
|
113 |
+
$tweettime = (strtotime($date." ".$time))+3600; // This is the value of the time difference - UK + 1 hours (3600 seconds)
|
114 |
+
$nowtime = time();
|
115 |
+
$timeago = ($nowtime-$tweettime);
|
116 |
+
$thehours = floor($timeago/3600);
|
117 |
+
$theminutes = floor($timeago/60);
|
118 |
+
$thedays = floor($timeago/86400);
|
119 |
+
/********************* Checking the times and returning correct value */
|
120 |
+
if($theminutes < 60){
|
121 |
+
if($theminutes < 1){
|
122 |
+
$timemessage = "Less than 1 minute ago";
|
123 |
+
} else if($theminutes == 1) {
|
124 |
+
$timemessage = $theminutes." minute ago";
|
125 |
+
} else {
|
126 |
+
$timemessage = $theminutes." minutes ago";
|
127 |
+
}
|
128 |
+
} else if($theminutes > 60 && $thedays < 1){
|
129 |
+
if($thehours == 1){
|
130 |
+
$timemessage = $thehours." hour ago";
|
131 |
+
} else {
|
132 |
+
$timemessage = $thehours." hours ago";
|
133 |
+
}
|
134 |
+
} else {
|
135 |
+
if($thedays == 1){
|
136 |
+
$timemessage = $thedays." day ago";
|
137 |
+
} else {
|
138 |
+
$timemessage = $thedays." days ago";
|
139 |
+
}
|
140 |
+
}
|
141 |
+
$data[$i]["tweet"] = $this->changeLink($tweet, $this->getTagPref(), $this->getNoFollow(), $this->getNewWindow());
|
142 |
+
$data[$i]["time"] = $timemessage;
|
143 |
+
}
|
144 |
+
|
145 |
+
return $data;
|
146 |
+
}
|
147 |
+
|
148 |
+
public function getLatestTweets()
|
149 |
+
{
|
150 |
+
|
151 |
+
$twitterid = $this->getTwitterId();
|
152 |
+
$not = $this->getNumberOfTweets();
|
153 |
+
|
154 |
+
if (!$twitterid){
|
155 |
+
return false;
|
156 |
+
}
|
157 |
+
|
158 |
+
$twitterid = $this->cleanTwitterName($twitterid);
|
159 |
+
$tweetxml = "http://search.twitter.com/search.atom?q=from:" . $twitterid . "&rpp=" . $not . "";
|
160 |
+
$tweets = $this->getTweetData($tweetxml);
|
161 |
+
return($this->getTweetArray($tweets));
|
162 |
+
|
163 |
+
}
|
164 |
+
}
|
app/code/local/Creare/Latesttweet/Helper/Data.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Creare_Latesttweet_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
}
|
app/code/local/Creare/Latesttweet/Model/Adminhtml/System/Config/Source/Numbers.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Creare_Latesttweet_Model_Adminhtml_System_Config_Source_Numbers
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
$array = array();
|
7 |
+
for($i = 1; $i<=10; $i++)
|
8 |
+
{
|
9 |
+
$array[] = array('value'=>$i, 'label'=>ucfirst($i));
|
10 |
+
}
|
11 |
+
return $array;
|
12 |
+
}
|
13 |
+
}
|
app/code/local/Creare/Latesttweet/etc/config.xml
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* @category Creare
|
5 |
+
* @package Creare_Latesttweet
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*/
|
8 |
+
-->
|
9 |
+
<config>
|
10 |
+
<modules>
|
11 |
+
<Creare_Latesttweet>
|
12 |
+
<version>0.1.0</version>
|
13 |
+
</Creare_Latesttweet>
|
14 |
+
</modules>
|
15 |
+
<frontend>
|
16 |
+
<layout>
|
17 |
+
<updates>
|
18 |
+
<latesttweet>
|
19 |
+
<file>latesttweet.xml</file>
|
20 |
+
</latesttweet>
|
21 |
+
</updates>
|
22 |
+
</layout>
|
23 |
+
</frontend>
|
24 |
+
<adminhtml>
|
25 |
+
<layout>
|
26 |
+
<updates>
|
27 |
+
<latesttweet>
|
28 |
+
<file>latesttweet.xml</file>
|
29 |
+
</latesttweet>
|
30 |
+
</updates>
|
31 |
+
</layout>
|
32 |
+
</adminhtml>
|
33 |
+
<global>
|
34 |
+
<models>
|
35 |
+
<latesttweet>
|
36 |
+
<class>Creare_Latesttweet_Model</class>
|
37 |
+
<resourceModel>latesttweet_mysql4</resourceModel>
|
38 |
+
</latesttweet>
|
39 |
+
<latesttweet_adminhtml>
|
40 |
+
<class>Creare_Latesttweet_Model_Adminhtml</class>
|
41 |
+
</latesttweet_adminhtml>
|
42 |
+
<latesttweet_mysql4>
|
43 |
+
<class>Creare_Latesttweet_Model_Mysql4</class>
|
44 |
+
<entities>
|
45 |
+
<latesttweet>
|
46 |
+
<table>latesttweet</table>
|
47 |
+
</latesttweet>
|
48 |
+
</entities>
|
49 |
+
</latesttweet_mysql4>
|
50 |
+
</models>
|
51 |
+
<resources>
|
52 |
+
<creare_latesttweet_setup>
|
53 |
+
<setup>
|
54 |
+
<module>Creare_Latesttweet</module>
|
55 |
+
</setup>
|
56 |
+
<connection>
|
57 |
+
<use>core_setup</use>
|
58 |
+
</connection>
|
59 |
+
</creare_latesttweet_setup>
|
60 |
+
</resources>
|
61 |
+
<blocks>
|
62 |
+
<latesttweet>
|
63 |
+
<class>Creare_Latesttweet_Block</class>
|
64 |
+
</latesttweet>
|
65 |
+
</blocks>
|
66 |
+
<helpers>
|
67 |
+
<latesttweet>
|
68 |
+
<class>Creare_Latesttweet_Helper</class>
|
69 |
+
</latesttweet>
|
70 |
+
</helpers>
|
71 |
+
</global>
|
72 |
+
<default>
|
73 |
+
<latesttweet>
|
74 |
+
<latesttweet>
|
75 |
+
<active>1</active>
|
76 |
+
<twitterid>magentofox</twitterid>
|
77 |
+
<numberoftweets>1</numberoftweets>
|
78 |
+
<showlinks>1</showlinks>
|
79 |
+
<usenofollow>1</usenofollow>
|
80 |
+
<opennew>1</opennew>
|
81 |
+
</latesttweet>
|
82 |
+
</latesttweet>
|
83 |
+
</default>
|
84 |
+
<adminhtml>
|
85 |
+
<acl>
|
86 |
+
<resources>
|
87 |
+
<all>
|
88 |
+
<title>Allow Everything</title>
|
89 |
+
</all>
|
90 |
+
<admin>
|
91 |
+
<children>
|
92 |
+
<system>
|
93 |
+
<children>
|
94 |
+
<config>
|
95 |
+
<children>
|
96 |
+
<latesttweet>
|
97 |
+
<title>CreareGroup - All</title>
|
98 |
+
</latesttweet>
|
99 |
+
</children>
|
100 |
+
</config>
|
101 |
+
</children>
|
102 |
+
</system>
|
103 |
+
</children>
|
104 |
+
</admin>
|
105 |
+
</resources>
|
106 |
+
</acl>
|
107 |
+
</adminhtml>
|
108 |
+
</config>
|
app/code/local/Creare/Latesttweet/etc/system.xml
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<config>
|
2 |
+
<tabs>
|
3 |
+
<creare translate="label" module="latesttweet">
|
4 |
+
<label>CreareGroup</label>
|
5 |
+
<sort_order>100</sort_order>
|
6 |
+
</creare>
|
7 |
+
</tabs>
|
8 |
+
<sections>
|
9 |
+
<latesttweet translate="label" module="latesttweet">
|
10 |
+
<label>Latest Tweet</label>
|
11 |
+
<tab>creare</tab>
|
12 |
+
<sort_order>1000</sort_order>
|
13 |
+
<show_in_default>1</show_in_default>
|
14 |
+
<show_in_website>1</show_in_website>
|
15 |
+
<show_in_store>1</show_in_store>
|
16 |
+
<groups>
|
17 |
+
<latesttweet translate="label" module="latesttweet">
|
18 |
+
<label>Latest Tweet</label>
|
19 |
+
<frontend_type>text</frontend_type>
|
20 |
+
<sort_order>1000</sort_order>
|
21 |
+
<show_in_default>1</show_in_default>
|
22 |
+
<show_in_website>1</show_in_website>
|
23 |
+
<show_in_store>1</show_in_store>
|
24 |
+
<comment>
|
25 |
+
<![CDATA[<div class="creare-container">
|
26 |
+
<div class="creare-header">This module was developed by <a href="http://www.e-commercewebdesign.co.uk" target="_blank">www.e-commercewebdesign.co.uk</a> - <strong>Magento Design, Development & Extensions</strong>.</div>
|
27 |
+
<div class="creare-footer"><a href="http://www.e-commercewebdesign.co.uk" class="ecom-creare" target="_blank" title="E-Commerce Web Design"><span>E-Commerce Web Design</span></a> <a href="http://www.webdesigncreare.co.uk" class="web-creare" target="_blank" title="Web Design & Development"><span>Web Design & Development</span></a> <a href="http://www.seo-creare.co.uk" class="seo-creare" target="_blank" title="SEO & Internet Marketing"><span>SEO (Search Engine Optimisation)</span></a> <span class="uk-flag"><span>Based In The UK</span></span></div>
|
28 |
+
</div>
|
29 |
+
<div class="creare-clear"></div>]]>
|
30 |
+
</comment>
|
31 |
+
<fields>
|
32 |
+
<active translate="label">
|
33 |
+
<label>Enabled</label>
|
34 |
+
<frontend_type>select</frontend_type>
|
35 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
36 |
+
<sort_order>10</sort_order>
|
37 |
+
<show_in_default>1</show_in_default>
|
38 |
+
<show_in_website>1</show_in_website>
|
39 |
+
<show_in_store>1</show_in_store>
|
40 |
+
</active>
|
41 |
+
<twitterid translate="label">
|
42 |
+
<label>Twitter ID</label>
|
43 |
+
<frontend_type>text</frontend_type>
|
44 |
+
<sort_order>20</sort_order>
|
45 |
+
<show_in_default>1</show_in_default>
|
46 |
+
<show_in_website>1</show_in_website>
|
47 |
+
<show_in_store>1</show_in_store>
|
48 |
+
</twitterid>
|
49 |
+
<numberoftweets translate="label">
|
50 |
+
<label>Number of Tweets to show</label>
|
51 |
+
<frontend_type>select</frontend_type>
|
52 |
+
<source_model>latesttweet_adminhtml/system_config_source_numbers</source_model>
|
53 |
+
<sort_order>30</sort_order>
|
54 |
+
<show_in_default>1</show_in_default>
|
55 |
+
<show_in_website>1</show_in_website>
|
56 |
+
<show_in_store>1</show_in_store>
|
57 |
+
</numberoftweets>
|
58 |
+
<showlinks translate="label">
|
59 |
+
<label>Show Links In Tweet</label>
|
60 |
+
<frontend_type>select</frontend_type>
|
61 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
62 |
+
<sort_order>40</sort_order>
|
63 |
+
<show_in_default>1</show_in_default>
|
64 |
+
<show_in_website>1</show_in_website>
|
65 |
+
<show_in_store>1</show_in_store>
|
66 |
+
</showlinks>
|
67 |
+
<usenofollow translate="label">
|
68 |
+
<label>Use Nofollow tag in Links</label>
|
69 |
+
<frontend_type>select</frontend_type>
|
70 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
71 |
+
<sort_order>50</sort_order>
|
72 |
+
<show_in_default>1</show_in_default>
|
73 |
+
<show_in_website>1</show_in_website>
|
74 |
+
<show_in_store>1</show_in_store>
|
75 |
+
</usenofollow>
|
76 |
+
<opennew translate="label">
|
77 |
+
<label>Open In New Window</label>
|
78 |
+
<frontend_type>select</frontend_type>
|
79 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
80 |
+
<sort_order>60</sort_order>
|
81 |
+
<show_in_default>1</show_in_default>
|
82 |
+
<show_in_website>1</show_in_website>
|
83 |
+
<show_in_store>1</show_in_store>
|
84 |
+
</opennew>
|
85 |
+
</fields>
|
86 |
+
</latesttweet>
|
87 |
+
</groups>
|
88 |
+
</latesttweet>
|
89 |
+
</sections>
|
90 |
+
</config>
|
app/design/frontend/default/default/layout/latesttweet.xml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addCss"><stylesheet>css/latesttweet.css</stylesheet></action>
|
6 |
+
</reference>
|
7 |
+
|
8 |
+
<reference name="right">
|
9 |
+
<block type="latesttweet/latesttweet" name="latesttweet" before="-" template="latesttweet/tweet.phtml" />
|
10 |
+
</reference>
|
11 |
+
</default>
|
12 |
+
</layout>
|
app/design/frontend/default/default/template/latesttweet/tweet.phtml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* Latest Tweet Extension by E-Commerce Web Design (http://www.e-commercewebdesign.co.uk)
|
4 |
+
*
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php if($this->isEnabled() && $tweets = $this->getLatestTweets()): ?>
|
9 |
+
<div class="block">
|
10 |
+
<div class="block-title creare-tweet-bg">
|
11 |
+
<strong>
|
12 |
+
<span class="creare-tweet-title">Latest Tweet</span>
|
13 |
+
</strong>
|
14 |
+
</div>
|
15 |
+
<div class="block-content">
|
16 |
+
<ul class="creare-tweet">
|
17 |
+
<?php foreach($tweets as $tweet): ?>
|
18 |
+
<li>
|
19 |
+
<?php echo $tweet["tweet"]; ?>
|
20 |
+
<span><?php echo $tweet["time"]; ?></span>
|
21 |
+
</li>
|
22 |
+
<?php endforeach; ?>
|
23 |
+
</ul>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
<?php endif; ?>
|
app/etc/modules/Creare_Latesttweet.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<config>
|
2 |
+
<modules>
|
3 |
+
<Creare_Latesttweet>
|
4 |
+
<active>true</active>
|
5 |
+
<codePool>local</codePool>
|
6 |
+
</Creare_Latesttweet>
|
7 |
+
</modules>
|
8 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Creare_Latesttweet</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Get Latest Tweet from Twitter. Choose whether to show links, open links in new window, make all links nofollow.</summary>
|
10 |
+
<description>Get Latest Tweet from Twitter. Choose whether to show links, open links in new window, make all links nofollow.
|
11 |
+

|
12 |
+
Select to show up to 10 tweets. Visible in your side menu.</description>
|
13 |
+
<notes>First Release</notes>
|
14 |
+
<authors><author><name>E-Commerce Web Design</name><user>auto-converted</user><email>dev@e-commercewebdesign.co.uk</email></author></authors>
|
15 |
+
<date>2012-02-16</date>
|
16 |
+
<time>10:04:50</time>
|
17 |
+
<contents><target name="magelocal"><dir name="Creare"><dir name="Latesttweet"><dir name="Block"><file name="Latesttweet.php" hash="37613ce0191e3b9d410ff833a98977a5"/></dir><dir name="Helper"><file name="Data.php" hash="42e5c15537debb7f1c46890ee9dbd559"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Numbers.php" hash="3a2ee4bf798c5f9e10ad8f8637fe26a5"/></dir></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="39481474924477af89890d26514f1e8e"/><file name="system.xml" hash="e2b8fe2b3ae892142ece4c1ac0a8bf9e"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="latesttweet"><file name="tweet.phtml" hash="f3d4b1d71b87d734b54a337935d30231"/></dir></dir><dir name="layout"><file name="latesttweet.xml" hash="4dbedfcb997d97bb6fe6ee21893d50f9"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Creare_Latesttweet.xml" hash="43faaaf27bfb2437089157bdee2439a5"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="latesttweet.css" hash="304864cf8d286bf77047432de5c19cea"/></dir><dir name="images"><dir name="latesttweet"><file name="tweet.gif" hash="21edf03982dae158df166cdad0478f91"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="latesttweet"><file name="admin.css" hash="790b7a705efea5b2f7d2f6e657244706"/></dir></dir></dir></dir></target></contents>
|
18 |
+
<compatible/>
|
19 |
+
<dependencies/>
|
20 |
+
</package>
|
skin/adminhtml/default/default/latesttweet/admin.css
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* CSS Document */
|
2 |
+
.creare-header { width: 100%; }
|
3 |
+
.creare-footer { width: 100%; padding: 10px 0 0; clear: both; }
|
4 |
+
.creare-footer a span { display: none; }
|
5 |
+
.creare-footer a { display: block; float: left; margin-right: 5px; }
|
6 |
+
.creare-container { background-color:#fff;border:1px solid #CCC;padding:10px;margin-bottom:7px; height: 90px; }
|
7 |
+
.ecom-creare { background: url(images/creare-ecommerce.gif) no-repeat; width: 150px; height: 55px; }
|
8 |
+
.seo-creare { background: url(images/creare-seo.gif) no-repeat; width: 150px; height: 55px; }
|
9 |
+
.web-creare { background: url(images/creare-web.gif) no-repeat; width: 150px; height: 55px;}
|
10 |
+
.uk-flag { background: url(images/uk-flag.gif) no-repeat; width: 150px; height: 55px; display: block; float: left; }
|
11 |
+
.uk-flag span { display: none; }
|
12 |
+
.creare-clear { clear: both; }
|
skin/frontend/default/default/css/latesttweet.css
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.creare-tweet-title { color: #33ccff!important; }
|
2 |
+
.creare-tweet-bg { background: url('../images/latesttweet/tweet.gif') top right no-repeat #F8F7F5!important; }
|
3 |
+
.creare-tweet { padding: 5px; }
|
4 |
+
.creare-tweet li { border-bottom: 1px bottom #bcbcbc; border-top: 1px solid #d5d5d5; padding: 5px 0; }
|
5 |
+
.creare-tweet li span { display: block; font-size: 0.8em; font-style:italic; }
|
skin/frontend/default/default/images/latesttweet/tweet.gif
ADDED
Binary file
|