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
|
