Version Notes
Base extension required by all our other extensions
Download this release
Release Info
Developer | Magento Core Team |
Extension | Ayaline_Core |
Version | 1.1.0 |
Comparing to | |
See all releases |
Version 1.1.0
- app/code/community/Ayaline/Core/Block/Adminhtml/System/Config/Fieldset/Hint.php +60 -0
- app/code/community/Ayaline/Core/Helper/Data.php +61 -0
- app/code/community/Ayaline/Core/Model/Cron/Abstract.php +83 -0
- app/code/community/Ayaline/Core/Model/Feed.php +113 -0
- app/code/community/Ayaline/Core/Model/Observer.php +31 -0
- app/code/community/Ayaline/Core/etc/config.xml +76 -0
- app/code/community/Ayaline/Core/etc/system.xml +21 -0
- app/design/adminhtml/default/default/layout/ayaline/core.xml +19 -0
- app/design/adminhtml/default/default/template/ayaline/core/system/config/fieldset/hint.phtml +62 -0
- app/locale/en_US/Ayaline_Core.csv +3 -0
- app/locale/fr_FR/Ayaline_Core.csv +3 -0
- package.xml +18 -0
- skin/adminhtml/default/default/ayaline.css +48 -0
- skin/adminhtml/default/default/images/ayaline/ayaline_header.png +0 -0
- skin/adminhtml/default/default/images/ayaline/ayaline_icommerce.png +0 -0
app/code/community/Ayaline/Core/Block/Adminhtml/System/Config/Fieldset/Hint.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
* @package Ayaline_Core
|
15 |
+
*/
|
16 |
+
|
17 |
+
class Ayaline_Core_Block_Adminhtml_System_Config_Fieldset_Hint
|
18 |
+
extends Mage_Adminhtml_Block_Abstract
|
19 |
+
implements Varien_Data_Form_Element_Renderer_Interface {
|
20 |
+
|
21 |
+
protected $_template = 'ayaline/core/system/config/fieldset/hint.phtml';
|
22 |
+
|
23 |
+
protected $_infos = null;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Render fieldset html
|
27 |
+
*
|
28 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function render(Varien_Data_Form_Element_Abstract $element) {
|
32 |
+
return $this->toHtml();
|
33 |
+
}
|
34 |
+
|
35 |
+
// TESTS
|
36 |
+
public function getAyalineModules() {
|
37 |
+
if(is_null($this->_infos)) {
|
38 |
+
$modulesInfos = Mage::getConfig()->getNode('ayalinemodules_infos');
|
39 |
+
$infos = array();
|
40 |
+
// foreach($modulesInfos as $moduleInfos) {
|
41 |
+
// foreach($moduleInfos as $key => $module) {
|
42 |
+
// $infos[$key] = array(
|
43 |
+
// 'title' => (string)$module->title,
|
44 |
+
// 'description' => (string)$module->description,
|
45 |
+
// 'picture' => (string)$module->picture,
|
46 |
+
// );
|
47 |
+
// }
|
48 |
+
// }
|
49 |
+
$this->_infos = $infos;
|
50 |
+
}
|
51 |
+
return $this->_infos;
|
52 |
+
}
|
53 |
+
|
54 |
+
public function getKeys() {
|
55 |
+
$infos = $this->getAyalineModules();
|
56 |
+
$infos = array_keys($infos);
|
57 |
+
return Mage::helper('core')->jsonEncode($infos);
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
app/code/community/Ayaline/Core/Helper/Data.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
* @package Ayaline_Core
|
15 |
+
*/
|
16 |
+
|
17 |
+
class Ayaline_Core_Helper_Data extends Mage_Core_Helper_Abstract {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Check code (equivalent validate-xml-identifier)
|
21 |
+
*
|
22 |
+
* @param string $code
|
23 |
+
* @return bool
|
24 |
+
*/
|
25 |
+
public function isValidCode($code) {
|
26 |
+
return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $code);
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Format string for url_key
|
31 |
+
*
|
32 |
+
* @param string $str
|
33 |
+
* @return string
|
34 |
+
*/
|
35 |
+
public function formatUrlKey($str) {
|
36 |
+
Mage::helper('core/string')->cleanString($str);
|
37 |
+
$weirdChars = array('’', '–'); // chars from Ms Word
|
38 |
+
$str = str_replace($weirdChars, '-', $str);
|
39 |
+
$str = Mage::helper('core')->removeAccents($str);
|
40 |
+
$urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
|
41 |
+
$urlKey = strtolower($urlKey);
|
42 |
+
$urlKey = trim($urlKey, '-');
|
43 |
+
return $urlKey;
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Add custom notification message
|
48 |
+
*
|
49 |
+
* @param Varien_Object $notificationObject (fields : title, date, url, description)
|
50 |
+
* @param int $severity
|
51 |
+
*/
|
52 |
+
public function addCustomAdminNotification($notificationObject, $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_MAJOR){
|
53 |
+
$notification = Mage::getModel('adminnotification/inbox');
|
54 |
+
$notification->setseverity($severity);
|
55 |
+
$notification->setTitle($notificationObject->getTitle());
|
56 |
+
$notification->setDateAdded($notificationObject->getDate());
|
57 |
+
$notification->setUrl($notificationObject->getUrl());
|
58 |
+
$notification->setDescription($notificationObject->getDescription());
|
59 |
+
$notification->save();
|
60 |
+
}
|
61 |
+
}
|
app/code/community/Ayaline/Core/Model/Cron/Abstract.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Manage log for cron script
|
14 |
+
*
|
15 |
+
* @package Ayaline_Core
|
16 |
+
*/
|
17 |
+
abstract class Ayaline_Core_Model_Cron_Abstract extends Varien_Object {
|
18 |
+
|
19 |
+
const AYALINE_DIR = 'ayaline';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Path to log files
|
23 |
+
*
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
+
protected $_ayalineLogPath;
|
27 |
+
|
28 |
+
protected $_ayalineLogFilename;
|
29 |
+
|
30 |
+
protected function _construct() {
|
31 |
+
// ex: {{base_dir}}/var/log/ayaline/competition
|
32 |
+
$this->_ayalineLogPath = Mage::getBaseDir('log').DS.self::AYALINE_DIR.DS.$this->_getLogPath();
|
33 |
+
|
34 |
+
$this->_ayalineLogFilename = self::AYALINE_DIR.DS.$this->_getLogPath().DS.$this->_getFileName();
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Log message
|
39 |
+
*
|
40 |
+
* @param mixed $message
|
41 |
+
* @param int $level (see Zend_Log)
|
42 |
+
*/
|
43 |
+
protected function _log($message, $level = null) {
|
44 |
+
$forceLog = $this->_isActiveLog();
|
45 |
+
if($forceLog) {
|
46 |
+
if(!is_dir($this->_ayalineLogPath)) {
|
47 |
+
mkdir($this->_ayalineLogPath, 0755, true);
|
48 |
+
}
|
49 |
+
Mage::log($message, $level, $this->_ayalineLogFilename, $forceLog);
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Log exception (in the same file as log)
|
55 |
+
*
|
56 |
+
* @param Exception $exception
|
57 |
+
*/
|
58 |
+
protected function _logException($exception) {
|
59 |
+
$this->_log("\n".$exception->__toString(), Zend_Log::ERR);
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Check if log is enabled
|
64 |
+
*
|
65 |
+
* @return bool
|
66 |
+
*/
|
67 |
+
abstract protected function _isActiveLog();
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Path to log files, from {{base_dir}}/var/log/ayaline
|
71 |
+
*
|
72 |
+
* @return string
|
73 |
+
*/
|
74 |
+
abstract protected function _getLogPath();
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Retrieve log filename
|
78 |
+
*
|
79 |
+
* @return string
|
80 |
+
*/
|
81 |
+
abstract protected function _getFileName();
|
82 |
+
|
83 |
+
}
|
app/code/community/Ayaline/Core/Model/Feed.php
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
* @package Ayaline_Core
|
15 |
+
*/
|
16 |
+
class Ayaline_Core_Model_Feed extends Mage_AdminNotification_Model_Feed {
|
17 |
+
|
18 |
+
const XML_USE_HTTPS_PATH = 'ayalinecore/adminnotification/use_https';
|
19 |
+
const XML_FEED_URL_BASE_PATH = 'ayalinecore/adminnotification/feed_url';
|
20 |
+
const XML_FEED_EN_PATH = 'ayalinecore/adminnotification/feed_en';
|
21 |
+
const XML_FEED_FR_PATH = 'ayalinecore/adminnotification/feed_fr';
|
22 |
+
const XML_FREQUENCY_PATH = 'ayalinecore/adminnotification/frequency';
|
23 |
+
|
24 |
+
const AYALINE_TYPE_GENERAL = 'general';
|
25 |
+
const AYALINE_TYPE_MODULE = 'module';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Contient la liste des modules Ayaline de la communauté installées sur ce site
|
29 |
+
*
|
30 |
+
* @var array
|
31 |
+
*/
|
32 |
+
protected $_allAyalineModules = array();
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Récupère l'url du flux RSS
|
36 |
+
*
|
37 |
+
* (non-PHPdoc)
|
38 |
+
* @see app/code/core/Mage/AdminNotification/Model/Mage_AdminNotification_Model_Feed::getFeedUrl()
|
39 |
+
*/
|
40 |
+
public function getFeedUrl() {
|
41 |
+
if(is_null($this->_feedUrl)) {
|
42 |
+
$path = self::XML_FEED_EN_PATH;
|
43 |
+
$localeCode = Mage::app()->getLocale()->getLocaleCode();
|
44 |
+
if(preg_match('#fr_#', $localeCode)) {
|
45 |
+
$path = self::XML_FEED_FR_PATH;
|
46 |
+
}
|
47 |
+
$this->_feedUrl = (Mage::getStoreConfigFlag(self::XML_USE_HTTPS_PATH) ? 'https://' : 'http://') . Mage::getStoreConfig(self::XML_FEED_URL_BASE_PATH) . Mage::getStoreConfig($path);
|
48 |
+
}
|
49 |
+
return $this->_feedUrl;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Lit et traite le flux RSS
|
54 |
+
*
|
55 |
+
* (non-PHPdoc)
|
56 |
+
* @see app/code/core/Mage/AdminNotification/Model/Mage_AdminNotification_Model_Feed::checkUpdate()
|
57 |
+
*/
|
58 |
+
public function checkUpdate() {
|
59 |
+
if(($this->getFrequency() + $this->getLastUpdate()) > time()) {
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
$feedData = array();
|
64 |
+
|
65 |
+
$feedXml = $this->getFeedData();
|
66 |
+
|
67 |
+
if($feedXml && $feedXml->channel && $feedXml->channel->item) {
|
68 |
+
$this->_getAllAyalineModules();
|
69 |
+
foreach($feedXml->channel->item as $item) { // Notification général, pour tous le monde
|
70 |
+
if((string)$item->ayaline_type == self::AYALINE_TYPE_GENERAL) {
|
71 |
+
$feedData[] = array(
|
72 |
+
'severity' => (int)$item->severity,
|
73 |
+
'date_added' => $this->getDate((string)$item->pubDate),
|
74 |
+
'title' => (string)$item->title,
|
75 |
+
'description' => (string)$item->description,
|
76 |
+
'url' => (string)$item->link,
|
77 |
+
);
|
78 |
+
} elseif((string)$item->ayaline_type == self::AYALINE_TYPE_MODULE){ // Notification ciblée sur un module
|
79 |
+
if(in_array((string)$item->ayaline_module, $this->_allAyalineModules)) {
|
80 |
+
$feedData[] = array(
|
81 |
+
'severity' => (int)$item->severity,
|
82 |
+
'date_added' => $this->getDate((string)$item->pubDate),
|
83 |
+
'title' => (string)$item->title,
|
84 |
+
'description' => (string)$item->description,
|
85 |
+
'url' => (string)$item->link,
|
86 |
+
);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
if($feedData) {
|
92 |
+
Mage::getModel('adminnotification/inbox')->parse(array_reverse($feedData));
|
93 |
+
}
|
94 |
+
}
|
95 |
+
$this->setLastUpdate();
|
96 |
+
|
97 |
+
return $this;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Récupération des modules Ayaline, de la communauté, installées sur ce site
|
102 |
+
*/
|
103 |
+
protected function _getAllAyalineModules() {
|
104 |
+
$modules = Mage::getConfig()->getNode('modules');
|
105 |
+
foreach($modules->asArray() as $_moduleName => $_moduleInfos) {
|
106 |
+
if(preg_match('#Ayaline_#', $_moduleName) && $_moduleInfos['codePool'] == 'community') {
|
107 |
+
$this->_allAyalineModules[] = $_moduleName;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
|
113 |
+
}
|
app/code/community/Ayaline/Core/Model/Observer.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
* @package Ayaline_Core
|
15 |
+
*/
|
16 |
+
class Ayaline_Core_Model_Observer {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Vérifie s'il y a des mises à jours des modules Ayaline
|
20 |
+
*
|
21 |
+
* @param Varien_Event_Observer $observer
|
22 |
+
*/
|
23 |
+
public function checkUpdate($observer) {
|
24 |
+
if (Mage::getSingleton('admin/session')->isLoggedIn()) {
|
25 |
+
/* @var $feedModel Ayaline_Core_Model_Feed */
|
26 |
+
$feedModel = Mage::getModel('ayalinecore/feed');
|
27 |
+
$feedModel->checkUpdate();
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
}
|
app/code/community/Ayaline/Core/etc/config.xml
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* created : 12/04/2011
|
5 |
+
*
|
6 |
+
* @category Ayaline
|
7 |
+
* @package Ayaline_Core
|
8 |
+
* @author aYaline
|
9 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
10 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
11 |
+
*/
|
12 |
+
-->
|
13 |
+
<config>
|
14 |
+
<modules>
|
15 |
+
<Ayaline_Core>
|
16 |
+
<version>1.1</version>
|
17 |
+
</Ayaline_Core>
|
18 |
+
</modules>
|
19 |
+
<global>
|
20 |
+
<blocks>
|
21 |
+
<ayalinecore>
|
22 |
+
<class>Ayaline_Core_Block</class>
|
23 |
+
</ayalinecore>
|
24 |
+
</blocks>
|
25 |
+
<helpers>
|
26 |
+
<ayalinecore>
|
27 |
+
<class>Ayaline_Core_Helper</class>
|
28 |
+
</ayalinecore>
|
29 |
+
</helpers>
|
30 |
+
<models>
|
31 |
+
<ayalinecore>
|
32 |
+
<class>Ayaline_Core_Model</class>
|
33 |
+
</ayalinecore>
|
34 |
+
</models>
|
35 |
+
</global>
|
36 |
+
<adminhtml>
|
37 |
+
<layout>
|
38 |
+
<updates>
|
39 |
+
<ayalinecore>
|
40 |
+
<file>ayaline/core.xml</file>
|
41 |
+
</ayalinecore>
|
42 |
+
</updates>
|
43 |
+
</layout>
|
44 |
+
<translate>
|
45 |
+
<modules>
|
46 |
+
<Ayaline_Core>
|
47 |
+
<files>
|
48 |
+
<default>Ayaline_Core.csv</default>
|
49 |
+
</files>
|
50 |
+
</Ayaline_Core>
|
51 |
+
</modules>
|
52 |
+
</translate>
|
53 |
+
<!--<events>
|
54 |
+
<controller_action_predispatch>
|
55 |
+
<observers>
|
56 |
+
<ayalinecore_check_update>
|
57 |
+
<class>ayalinecore/observer</class>
|
58 |
+
<method>checkUpdate</method>
|
59 |
+
</ayalinecore_check_update>
|
60 |
+
</observers>
|
61 |
+
</controller_action_predispatch>
|
62 |
+
</events>-->
|
63 |
+
</adminhtml>
|
64 |
+
|
65 |
+
<default>
|
66 |
+
<ayalinecore>
|
67 |
+
<adminnotification>
|
68 |
+
<feed_url>ayaline.com</feed_url>
|
69 |
+
<feed_en>notification_en.rss</feed_en>
|
70 |
+
<feed_fr>notification_fr.rss</feed_fr>
|
71 |
+
<use_https>0</use_https>
|
72 |
+
<frequency>1</frequency>
|
73 |
+
</adminnotification>
|
74 |
+
</ayalinecore>
|
75 |
+
</default>
|
76 |
+
</config>
|
app/code/community/Ayaline/Core/etc/system.xml
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* created : 12/04/2011
|
5 |
+
*
|
6 |
+
* @category Ayaline
|
7 |
+
* @package Ayaline_Core
|
8 |
+
* @author aYaline
|
9 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
10 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
11 |
+
*/
|
12 |
+
-->
|
13 |
+
<config>
|
14 |
+
<tabs>
|
15 |
+
<ayaline>
|
16 |
+
<label></label>
|
17 |
+
<sort_order>150</sort_order>
|
18 |
+
<class>ayaline-tab</class>
|
19 |
+
</ayaline>
|
20 |
+
</tabs>
|
21 |
+
</config>
|
app/design/adminhtml/default/default/layout/ayaline/core.xml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* created : 12/04/2011
|
5 |
+
*
|
6 |
+
* @category Ayaline
|
7 |
+
* @package Ayaline_Core
|
8 |
+
* @author aYaline
|
9 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
10 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
11 |
+
*/
|
12 |
+
-->
|
13 |
+
<layout>
|
14 |
+
<default>
|
15 |
+
<reference name="head">
|
16 |
+
<action method="addCss"><name>ayaline.css</name></action>
|
17 |
+
</reference>
|
18 |
+
</default>
|
19 |
+
</layout>
|
app/design/adminhtml/default/default/template/ayaline/core/system/config/fieldset/hint.phtml
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* created : 12/04/2011
|
4 |
+
*
|
5 |
+
* @category Ayaline
|
6 |
+
* @package Ayaline_Core
|
7 |
+
* @author aYaline
|
8 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
9 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
10 |
+
*/
|
11 |
+
?>
|
12 |
+
<?php /* @var $this Ayaline_Core_Block_Adminhtml_System_Config_Fieldset_Hint */ ?>
|
13 |
+
<!-- <div id="ayaline-encart" class="ayaline-notice">
|
14 |
+
<div id="ayaline-products" class="ayaline-product-1"></div>
|
15 |
+
<div class="ayaline-content">
|
16 |
+
<h4><?php //echo Mage::helper('ayalinecore')->__('Welcome to aYaline!')?></h4>
|
17 |
+
<p><a href="http://www.ayaline.com/" target="_blank" ><?php //echo Mage::helper('ayalinecore')->__('Visit our website'); ?></a></p>
|
18 |
+
</div>
|
19 |
+
<div style="clear:both;"></div>
|
20 |
+
</div>-->
|
21 |
+
<?php $modulesInfos = $this->getAyalineModules(); ?>
|
22 |
+
<?php if($modulesInfos): ?>
|
23 |
+
<div id="ayaline-encart" class="ayaline-notice">
|
24 |
+
<?php $first = true; ?>
|
25 |
+
<?php foreach($modulesInfos as $key => $moduleInfos): ?>
|
26 |
+
<div class="<?php echo $key; ?>" <?php if(!$first): ?> style="display:none;" <?php endif; ?>>
|
27 |
+
<div id="ayaline-picture"><img src="<?php echo Mage::getDesign()->getSkinUrl($moduleInfos['picture']); ?>" alt="<?php echo $moduleInfos['title']; ?>" /></div>
|
28 |
+
<div class="ayaline-content">
|
29 |
+
<div id="ayaline-title"><h2><?php echo $moduleInfos['title']; ?></h2></div>
|
30 |
+
<div id="ayaline-description"><?php echo $moduleInfos['description']; ?></div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<?php $first = false; ?>
|
34 |
+
<?php endforeach; ?>
|
35 |
+
</div>
|
36 |
+
<?php endif; ?>
|
37 |
+
|
38 |
+
|
39 |
+
<script type="text/javascript">
|
40 |
+
var index = 0;
|
41 |
+
var modulesKeys = <?php echo $this->getKeys(); ?>;
|
42 |
+
var totalProduct = (modulesKeys.length)-1;
|
43 |
+
//document.observe('dom:loaded', startSlide.bindAsEventListener(this, index));
|
44 |
+
document.observe('dom:loaded', function(){ setTimeout(function(){startSlide(index);}, 10000); });
|
45 |
+
function startSlide(index) {
|
46 |
+
//var elem = $('ayaline-products');
|
47 |
+
//elem.removeClassName('ayaline-product-'+index);
|
48 |
+
//elem.removeClassName(modulesKeys[index]);
|
49 |
+
//var div = elem.down('div.'+modulesKeys[index]);
|
50 |
+
//div.removeClassName(modulesKeys[index]);
|
51 |
+
$$('div.'+modulesKeys[index]).first().hide();
|
52 |
+
index++;
|
53 |
+
if(index > totalProduct) {
|
54 |
+
index = 0;
|
55 |
+
}
|
56 |
+
//elem.addClassName('ayaline-product-'+index);
|
57 |
+
//elem.addClassName(modulesKeys[index]);
|
58 |
+
//div.addClassName(modulesKeys[index]);
|
59 |
+
$$('div.'+modulesKeys[index]).first().show();
|
60 |
+
setTimeout(function(){startSlide(index);}, 10000);
|
61 |
+
}
|
62 |
+
</script>
|
app/locale/en_US/Ayaline_Core.csv
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
"Welcome to aYaline!","Welcome to aYaline!"
|
2 |
+
"Visit our website","Visit our website"
|
3 |
+
"See exception.log","See exception.log"
|
app/locale/fr_FR/Ayaline_Core.csv
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
"Welcome to aYaline!","Bienvenue chez aYaline !"
|
2 |
+
"Visit our website","Visitez notre site"
|
3 |
+
"See exception.log","Regarder exception.log"
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Ayaline_Core</name>
|
4 |
+
<version>1.1.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html">aYaline Custom License</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Base extension required by all our other extensions</summary>
|
10 |
+
<description>Ayaline_Core is the base extension required by all our other extensions</description>
|
11 |
+
<notes>Base extension required by all our other extensions</notes>
|
12 |
+
<authors><author><name>aYaline Team</name><user>auto-converted</user><email>magento@ayaline.com</email></author></authors>
|
13 |
+
<date>2012-03-23</date>
|
14 |
+
<time>10:01:28</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Ayaline"><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Hint.php" hash="1dceb70d0f3532b0ee1334eeb75b8ae1"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="c9964e626dbcbb3b7c4ca2e87fabde46"/></dir><dir name="Model"><dir name="Cron"><file name="Abstract.php" hash="ac6c9b10284c1d50c75c7c8f67ee0dd9"/></dir><file name="Feed.php" hash="1623eb7fcb8b98c74afafa676b4dc81f"/><file name="Observer.php" hash="d691685e1c08e99a06b96e6ca69794df"/></dir><dir name="etc"><file name="config.xml" hash="b091519f72b9752c9df3319af0d292ba"/><file name="system.xml" hash="e51437007790626550e667b4b226b8f6"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="ayaline"><dir name="core"><dir name="system"><dir name="config"><dir name="fieldset"><file name="hint.phtml" hash="d09d568cfb49259a7488389f7ccd7072"/></dir></dir></dir></dir></dir></dir><dir name="layout"><dir name="ayaline"><file name="core.xml" hash="deda77f0c2dce40cb44f796f0a4325ee"/></dir></dir></dir></dir></dir><dir name="modules"><file name="Ayaline_Core.xml" hash=""/></dir></target><target name="magelocale"><dir name="en_US"><file name="Ayaline_Core.csv" hash="9a20fba048bc91df06ef1a639f67a130"/></dir><dir name="fr_FR"><file name="Ayaline_Core.csv" hash="10d5987f7d5d2ed22be099fbb9cc3c68"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="ayaline"><file name="ayaline_header.png" hash="8da709173dec62ed2abef4a9bb64705f"/><file name="ayaline_icommerce.png" hash="583c9808ae4654ca969871dd6fcb07df"/></dir></dir><file name="ayaline.css" hash="8188a46ba443d8642b4153e2f320332c"/></dir></dir></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies/>
|
18 |
+
</package>
|
skin/adminhtml/default/default/ayaline.css
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* @category Ayaline
|
4 |
+
* @package Ayaline_Core
|
5 |
+
* @author aYaline
|
6 |
+
* @copyright Ayaline - 2012 - http://magento-shop.ayaline.com
|
7 |
+
* @license http://magento-shop.ayaline.com/fr/conditions-generales-de-vente.html
|
8 |
+
*/
|
9 |
+
li.ayaline-tab dl dt.label {
|
10 |
+
background: url("images/ayaline/ayaline_icommerce.png") no-repeat scroll 35px -15px #D1DEDF;
|
11 |
+
height: 41px;
|
12 |
+
}
|
13 |
+
h3.ayaline-header {
|
14 |
+
background: url("images/ayaline/ayaline_header.png") no-repeat scroll 4px 0 transparent;
|
15 |
+
padding: 11px 0 2px 90px;
|
16 |
+
height: 19px;
|
17 |
+
color: #EA4512;
|
18 |
+
}
|
19 |
+
|
20 |
+
#ayaline-encart.ayaline-notice {
|
21 |
+
border: 1px solid #DBDBDB;
|
22 |
+
background-color: #E8E9EC;
|
23 |
+
color: #3D3D3D;
|
24 |
+
padding: 5px 5px 0;
|
25 |
+
margin: 0 0 10px;
|
26 |
+
}
|
27 |
+
.ayaline-content {
|
28 |
+
padding: 0 0 0 150px;
|
29 |
+
}
|
30 |
+
|
31 |
+
/* Images produits */
|
32 |
+
/*#ayaline-products {
|
33 |
+
float: left;
|
34 |
+
height: 115px;
|
35 |
+
width: 150px;
|
36 |
+
}
|
37 |
+
.ayaline-product-1 {
|
38 |
+
background: url("images/ayaline/ayaline_range_filters.png") no-repeat scroll 7px 0 transparent;
|
39 |
+
}
|
40 |
+
.ayaline-product-2 {
|
41 |
+
background: url("images/ayaline/dashboard.png") no-repeat scroll 32px 0 transparent;
|
42 |
+
}
|
43 |
+
.ayaline-product-3 {
|
44 |
+
background: url("images/ayaline/ayaline_tab.png") no-repeat scroll 7px 0 transparent;
|
45 |
+
}
|
46 |
+
.ayaline-product-4 {
|
47 |
+
background: url("images/ayaline/ayaline_icommerce.png") no-repeat scroll 7px 0 transparent;
|
48 |
+
}*/
|
skin/adminhtml/default/default/images/ayaline/ayaline_header.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/ayaline/ayaline_icommerce.png
ADDED
Binary file
|