/** * Enter description here... * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderHtml($element) { $default = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store'); $html = '<div class="entry-edit-head collapseable" ><a id="' . $element->getHtmlId() . '-head" href="#" onclick="Fieldset.toggleCollapse(\'' . $element->getHtmlId() . '\'); return false;">' . $element->getLegend() . '</a></div>'; $html .= '<fieldset class="config collapseable" id="' . $element->getHtmlId() . '">'; $html .= '<legend>' . $element->getLegend() . '</legend>'; // field label column $html .= '<table cellspacing="0" class="form-list"><colgroup class="label"/><colgroup class="value"/>'; if (!$default) { $html .= '<colgroup class="default"/>'; } $html .= '<tbody>'; return $html; }
/** * Render fieldset html * * @param Varien_Data_Form_Element_Abstract $fieldset * @return string */ public function render(Varien_Data_Form_Element_Abstract $fieldset) { foreach ($fieldset->getSortedElements() as $element) { $htmlId = $element->getHtmlId(); $this->_elements[$htmlId] = $element; } $originalData = $fieldset->getOriginalData(); $this->addData(array('fieldset_label' => $fieldset->getLegend(), 'fieldset_help_url' => isset($originalData['help_url']) ? $originalData['help_url'] : '')); return $this->toHtml(); }
/** * Render fieldset html * * @param Varien_Data_Form_Element_Abstract $fieldset * @return string */ public function render(Varien_Data_Form_Element_Abstract $fieldset) { foreach ($fieldset->getSortedElements() as $element) { $htmlId = $element->getHtmlId(); $this->_elements[$htmlId] = $element; } $originalData = $fieldset->getOriginalData(); $this->addData(array('fieldset_label' => $fieldset->getLegend(), 'fieldset_admin_label' => isset($originalData['admin_label']) ? $originalData['admin_label'] : '', 'fieldset_backend_url' => Mage::getModel('intraship/config')->getBackendUrl(), 'fieldset_help_url' => isset($originalData['help_url']) ? $originalData['help_url'] : '', 'fieldset_doc_url' => isset($originalData['doc_url']) ? $originalData['doc_url'] : '', 'fieldset_onlineretoure_doc_url' => isset($originalData['onlineretoure_doc_url']) ? $originalData['onlineretoure_doc_url'] : '', 'fieldset_partner_url' => isset($originalData['partner_url']) ? $originalData['partner_url'] : '')); return $this->toHtml(); }
/** * Return header title part of html for payment solution * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderTitleHtml($element) { $html = '<div class="entry-edit-head collapseable" ><a id="' . $element->getHtmlId() . '-head" href="#" onclick="Fieldset.toggleCollapse(\'' . $element->getHtmlId() . '\', \'' . $this->getUrl('*/*/state') . '\'); return false;">'; $html .= ' <img src="' . $this->getSkinUrl('images/adyen/logo.png') . '" height="20" style="vertical-align: text-bottom; margin-right: 5px;"/> '; $html .= $element->getLegend(); if ($this->_isPaymentEnabled($element)) { $html .= ' <img src="' . $this->getSkinUrl('images/icon-enabled.png') . '" style="vertical-align: middle"/> '; } $html .= '</a></div>'; return $html; }
/** * @param Varien_Data_Form_Element_Abstract $element * * @return string */ public function render(Varien_Data_Form_Element_Abstract $element) { $helper = $this->_getHelper(); if (!$helper->validApiToken()) { // Route to API token $url = $helper->getScopeUrl('*/system_config/edit', array('section' => 'bronto')); $element->setComment("In order to receive <strong>{$element->getLegend()}</strong>, you must enter a valid <a href=\"{$url}\">API Token</a>."); } else { foreach ($this->_pullRssItems() as $rssItem) { $this->addItemToFieldset($element, $rssItem)->setRenderer($this->_getRenderer()); } } return parent::render($element); }
/** * Return header html for fieldset * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderHtml($element) { $default = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store'); $html = '<div class="entry-edit-head collapseable" ><a id="' . $element->getHtmlId() . '-head" href="#" onclick="Fieldset.toggleCollapse(\'' . $element->getHtmlId() . '\', \'' . $this->getUrl('*/*/state') . '\'); return false;">' . $element->getLegend() . '</a></div>'; $html .= '<input id="' . $element->getHtmlId() . '-state" name="config_state[' . $element->getId() . ']" type="hidden" value="' . (int) $this->_getCollapseState($element) . '" />'; $html .= '<fieldset class="' . $this->_getFieldsetCss() . '" id="' . $element->getHtmlId() . '">'; $html .= '<legend>' . $element->getLegend() . '</legend>'; if ($element->getComment()) { $html .= '<div class="comment">' . $element->getComment() . '</div>'; } // field label column $html .= '<table cellspacing="0" class="form-list"><colgroup class="label" /><colgroup class="value" />'; if (!$default) { $html .= '<colgroup class="use-default" />'; } $html .= '<colgroup class="scope-label" /><colgroup class="" /><tbody>'; return $html; }
/** * Return header title part of html for payment solution * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderTitleHtml($element) { $html = '<div class="config-heading" ><div class="heading"><strong>' . $element->getLegend(); $groupConfig = $this->getGroup($element)->asArray(); if (!empty($groupConfig['learn_more_link'])) { $html .= '<a class="link-more" href="' . $groupConfig['learn_more_link'] . '" target="_blank">' . $this->__('Learn More') . '</a>'; } if (!empty($groupConfig['demo_link'])) { $html .= '<a class="link-demo" href="' . $groupConfig['demo_link'] . '" target="_blank">' . $this->__('View Demo') . '</a>'; } $html .= '</strong>'; if ($element->getComment()) { $html .= '<span class="heading-intro">' . $element->getComment() . '</span>'; } $html .= '</div>'; $html .= '<div class="button-container"><button type="button"' . ($this->_isPaymentEnabled($element) ? '' : ' disabled="disabled"') . ' class="button' . (empty($groupConfig['paypal_ec_separate']) ? '' : ' paypal-ec-separate') . ($this->_isPaymentEnabled($element) ? '' : ' disabled') . '" id="' . $element->getHtmlId() . '-head" onclick="paypalToggleSolution.call(this, \'' . $element->getHtmlId() . '\', \'' . $this->getUrl('*/*/state') . '\'); return false;"><span class="state-closed">' . $this->__('Configure') . '</span><span class="state-opened">' . $this->__('Close') . '</span></button></div></div>'; return $html; }
/** * If all conditions described in <conditions> section of the group description are TRUE - render as it was * specified as <frontend_type>text</frontend_type>. Otherwise don't render anything. * * @param Varien_Data_Form_Element_Abstract $fieldset * @return string */ public function render(Varien_Data_Form_Element_Abstract $fieldset) { $this->_currentGroupName = $fieldset->getLegend(); $group = $this->getGroup(); $doRender = !empty($group) && isset($group->conditions); if ($doRender) { foreach ($group->conditions as $conditionLabels) { /* @var $conditionLabels Mage_Core_Model_Config_Element */ $xpath = ''; $shouldBeEmpty = null; $value = ''; foreach ($conditionLabels as $condition) { foreach ($condition as $conditionElement) { /* @var $conditionElement Mage_Core_Model_Config_Element */ switch ($conditionElement->getName()) { case 'xpath': $xpath = (string) $conditionElement; break; case 'empty': $shouldBeEmpty = true; break; case 'non_empty': $shouldBeEmpty = false; break; case 'value': $value = (string) $conditionElement; break; } } $node = Mage::app()->getConfig()->getNode($xpath); if ($shouldBeEmpty !== null) { $doRender = $shouldBeEmpty ? empty($node) : !empty($node); } else { $doRender = (string) $node == $value; } if (!$doRender) { break; } } } } return $doRender ? parent::render($fieldset) : ''; }
/** * Return header title part of html for payment solution * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderTitleHtml($element) { $html = '<div class="config-heading" style="display:block; clear:both; content:"."; font-size:0; line-height:0; height:0; overflow:hidden;" ><div class="heading" style="padding-left:56px; background:url(' . $this->getSkinUrl('images/paypalmx/logo-paypal.png') . ') no-repeat 0 2px;"><strong>' . $element->getLegend(); $groupConfig = $this->getGroup($element)->asArray(); if (!empty($groupConfig['learn_more_link'])) { $html .= '<a class="link-more" href="' . $groupConfig['learn_more_link'] . '" target="_blank">' . $this->__('Aprende más') . '</a>'; } if (!empty($groupConfig['demo_link'])) { $html .= '<a class="link-demo" href="' . $groupConfig['demo_link'] . '" target="_blank">' . $this->__('Vér Demo') . '</a>'; } $html .= '</strong>'; if ($element->getComment()) { $html .= '<span class="heading-intro">' . $element->getComment() . '</span>'; } $html .= '</div>'; $html .= '<div class="button-containermx" style="float:right; padding:0 0 0 0; "> <img src="' . $this->getSkinUrl('images/paypalmx/accpmark_mensualidades_SP.PNG') . '" width="160px" height="30px"> <img src="' . $this->getSkinUrl('images/paypalmx/accpmark_tarjdeb_SP.PNG') . '" width="160px" height="30px" style=" padding: 0 0 0 5px;"> <img src="' . $this->getSkinUrl('images/paypalmx/accpmark_visa_mc_SP.PNG') . '" width="75px" height="30px" style=" margin: 0 10px 0 5px; "> <button type="button"' . ($this->_isPaymentEnabled($element) ? '' : ' disabled="disabled"') . ' class="button' . (empty($groupConfig['paypal_ec_separate']) ? '' : ' paypal-ec-separate') . ($this->_isPaymentEnabled($element) ? '' : ' disabled') . '" id="' . $element->getHtmlId() . '-head" onclick="paypalToggleSolution.call(this, \'' . $element->getHtmlId() . '\', \'' . $this->getUrl('*/*/state') . '\'); return false;"><span class="state-closed">' . $this->__('Configurar') . '</span><span class="state-opened">' . $this->__('Cerrar') . '</span></button></div></div>'; return $html; }
/** * Return header title part of html for fieldset * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderTitleHtml($element) { return '<div class="entry-edit-head collapseable" ><a id="' . $element->getHtmlId() . '-head" href="#" onclick="Fieldset.toggleCollapse(\'' . $element->getHtmlId() . '\', \'' . $this->getUrl('*/*/state') . '\'); return false;">' . $element->getLegend() . '</a></div>'; }
/** * Return header title part of html for payment solution * * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getHeaderTitleHtml($element) { $html = '<div id="cosmocommerce_modules" class="config-heading" ><div class="heading"><strong>' . $element->getLegend(); $groupConfig = $this->getGroup($element)->asArray(); if (!empty($groupConfig['learn_more_link'])) { $html .= '<a class="link-more" href="' . $groupConfig['learn_more_link'] . '" target="_blank">' . $this->__('Learn More') . '</a>'; } if (!empty($groupConfig['demo_link'])) { $html .= '<a class="link-demo" href="' . $groupConfig['demo_link'] . '" target="_blank">' . $this->__('View Demo') . '</a>'; } $html .= '</strong>'; if ($element->getComment()) { $html .= '<span class="heading-intro">' . $element->getComment() . '</span>'; } $html .= '</div>'; if ($this->_isEnabled($element)) { $html .= '<div class="button-container"><button type="button"><span class="state-closed">' . $this->__('模块环境正常') . '</span></button></div></div>'; //$version=Mage::getSingleton('adminhtml/config')->getSection('cosmocommerce')->modules->user; $user = Mage::getStoreConfig('cosmocommerce/required_settings/user'); $pwd = Mage::getStoreConfig('cosmocommerce/required_settings/pwd'); //print_r(Mage::getSingleton('adminhtml/config')->getSection('cosmocommerce')->groups->modules->fields->required_settings->fields->user->value); $html .= ' <script type="text/javascript"> //<![CDATA[ function redirectToUpdate() { var url = "' . Mage::getSingleton("adminhtml/url")->getUrl("*/updates/update") . '"+"?repo="+this.value; if (confirm("模块将会更新代码.")) { if (Prototype.Browser.IE) { var generateLink = new Element("a", {href: url}); $$("body")[0].insert(generateLink); generateLink.click(); } else { window.location.href = url; } } } function redirectToUpdatef() { var url = "' . Mage::getSingleton("adminhtml/url")->getUrl("*/updates/updatef") . '"+"?repo="+this.value; if (confirm("模块将会强制覆盖代码.")) { if (Prototype.Browser.IE) { var generateLink = new Element("a", {href: url}); $$("body")[0].insert(generateLink); generateLink.click(); } else { window.location.href = url; } } } function redirectToCommit() { var url = "' . Mage::getSingleton("adminhtml/url")->getUrl("*/updates/commit") . '"+"?repo="+this.value; var note = prompt("请输入记录这次版本的备注"); url=url+"¬e="+note; if (confirm("模块更新将会进行提交.")) { if (Prototype.Browser.IE) { var generateLink = new Element("a", {href: url}); $$("body")[0].insert(generateLink); generateLink.click(); } else { window.location.href = url; } } } function disableGenerateButton(id) { var elem = $(id); elem.disabled = true; elem.addClassName("disabled"); } $("cosmocommerce_modules").select("input").each(function(elem) { Event.observe($(elem.id), "change", disableGenerateButton(elem.id)); }); //]]> </script>'; $base_path = Mage::getBaseDir('base'); $modman_path = Mage::getBaseDir('base') . DS . '.modman'; return $html; $html .= "<ul style='font-size: 11px;padding:10px;'>"; foreach (glob($modman_path . "/*", GLOB_ONLYDIR) as $_subfolder) { $repo = new Git2\Repository($_subfolder); $foldername = basename($_subfolder); //print_r($repo); $ref = Git2\Reference::lookup($repo, "refs/heads/master"); //print_r(get_class_methods(new Git2\Repository($_subfolder))); //print_r(get_class_vars('Git2\Repository')); //print_r(get_object_vars($repo)); //print_r($ref); //echo $ref->getName() . PHP_EOL; $version = $ref->getTarget(); //$remoteref = Git2\Reference::lookup($repo, "refs/remotes/origin/master"); //print_r($repo->lookup()); //ini_set('display_errors',1); //以后考虑要做一个模块,定时把github版本记录下来。不用经常远程查询 //Set maximum age of cache file before refreshing it $cacheLife = 1800; // in seconds $cacheFileName = "/tmp/" . $foldername; if (!file_exists($cacheFileName) or time() - filemtime($cacheFileName) >= $cacheLife) { $ch = curl_init("https://api.github.com/repos/cosmocommerce/" . $foldername . "/commits"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); $content = json_decode($result); if ($content) { $remoteversion = $content[0]->sha; file_put_contents($cacheFileName, $result); } else { $remoteversion = 'error'; } //$content=json_decode(file_get_contents("https://api.github.com/repos/cosmocommerce/".$foldername."/commits")); //$remoteversion=$content[0]->sha; //file_put_contents($cacheFileName, ($result)); //$remoteversion='af'; $remoteversion = 'error'; } else { $content = json_decode(file_get_contents($cacheFileName)); if ($content) { $remoteversion = $content[0]->sha; } else { $remoteversion = 'error'; } } $config = new Git2\Config($_subfolder . "/.git/config"); $remoteurl = $config->get("remote")['origin']['url']; $path = $_subfolder; $output = ""; $class = ""; chdir($path); $last_line = exec(escapeshellcmd('git status'), $output, $retval); if ($last_line == "nothing to commit (working directory clean)") { $class = "success"; } else { $class = "fail"; } if ($last_line == 'no changes added to commit (use "git add" and/or "git commit -a")') { $class = "fail"; } $html .= '<li>'; $html .= '<div style="float:left">'; $html .= '<button type="button" class="scalable ' . $class . '" style=""><span><span><span>' . $foldername . '</span></span></span></button> <button id="updateBtn' . $foldername . '" value="' . $foldername . '" type="button" class="scalable save" onclick="" style=""><span><span><span>更新</span></span></span></button> '; $html .= '<button id="commitBtn' . $foldername . '" value="' . $foldername . '" type="button" class="scalable save" onclick="" style=""><span><span><span>提交</span></span></span></button> </div>'; $html .= '<div style="float:right;"><button id="updatefBtn' . $foldername . '" value="' . $foldername . '" type="button" class="scalable save" onclick="" style=""><span><span><span>强制更新</span></span></span></button> </div>'; $html .= ' <script type="text/javascript"> //<![CDATA[ Event.observe("updateBtn' . $foldername . '", "click", redirectToUpdate); Event.observe("updatefBtn' . $foldername . '", "click", redirectToUpdatef); Event.observe("commitBtn' . $foldername . '", "click", redirectToCommit); //]]> </script>'; $html .= '<div style="clear:both;">'; if ($version == $remoteversion) { $html .= '版本一致:<br />' . $version . '<br />' . date('Y-m-d h:j:s', filemtime($_subfolder)) . "<br />"; } else { $html .= '本地版本:<br />' . $version . '<br />' . date('Y m-d h:j:s', filemtime($_subfolder)) . "<br />"; $html .= '远程版本:<br />' . $remoteversion . "<br />"; } if ($class == 'fail') { $html .= '修改说明:<br />'; $html .= implode('<br />', $output) . "<br />"; } //$html .= $retval."<br />"; $html .= "</div>"; //$html .= "<b>".$last_line."</b><br />"; $html .= '</li>'; } $html .= "</ul>"; } else { $html .= '<div class="button-container"><button type="button"><span class="state-opened">' . $this->__('模块环境缺失') . '</span></button></div></div>'; } return $html; }
/** * Render fieldset html * * @param Varien_Data_Form_Element_Abstract $fieldset * * @return string */ public function render(Varien_Data_Form_Element_Abstract $fieldset) { $this->addData(array('fieldset_label' => $fieldset->getLegend())); return $this->toHtml(); }