本文整理汇总了PHP中Varien_Event_Observer类的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Event_Observer类的具体用法?PHP Varien_Event_Observer怎么用?PHP Varien_Event_Observer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Varien_Event_Observer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: _castObject
protected function _castObject(Varien_Event_Observer $observer)
{
$object = $observer->getObject();
if ($object instanceof Mage_Core_Model_Email_Template) {
return $object;
}
}
开发者ID:kiutisuperking,项目名称:eatsmartboxdev,代码行数:7,代码来源:Observer.php
示例2: methodIsAvailable
/**
* Check if customer group can use the payment method
*
* @param Varien_Event_Observer $observer
* @return bool
*/
public function methodIsAvailable(Varien_Event_Observer $observer)
{
$paymentMethodInstance = $observer->getMethodInstance();
/* @var $paymentMethodInstance Mage_Payment_Model_Method_Abstract */
$result = $observer->getResult();
$customer = Mage::helper('customer')->getCustomer();
/* @var $customer Mage_Customer_Model_Customer */
if ($paymentMethodInstance instanceof Mage_Paypal_Model_Standard) {
$customerGroupConfig = Mage::getStoreConfig('paypal/wps/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
} elseif ($paymentMethodInstance instanceof Mage_Paypal_Model_Express) {
$customerGroupConfig = Mage::getStoreConfig('paypal/express/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
} elseif ($paymentMethodInstance instanceof Mage_GoogleCheckout_Model_Payment) {
$customerGroupConfig = Mage::getStoreConfig('google/checkout/' . self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
} else {
$customerGroupConfig = $paymentMethodInstance->getConfigData(self::XML_CUSTOMER_GROUP_CONFIG_FIELD);
}
if (!empty($customerGroupConfig)) {
$methodCustomerGroups = explode(',', $customerGroupConfig);
if (count($methodCustomerGroups) > 0) {
if (!in_array($customer->getGroupId(), $methodCustomerGroups)) {
$result->isAvailable = false;
}
}
}
return true;
}
开发者ID:netz98,项目名称:N98_CustomerGroupCheckout,代码行数:34,代码来源:Observer.php
示例3: salesOrderInvoicePay
public function salesOrderInvoicePay(Varien_Event_Observer $observer)
{
try {
if (Mage::helper('M2ePro/Data_Global')->getValue('skip_invoice_observer')) {
// Not process invoice observer when set such flag
Mage::helper('M2ePro/Data_Global')->unsetValue('skip_invoice_observer');
return;
}
/** @var $invoice Mage_Sales_Model_Order_Invoice */
$invoice = $observer->getEvent()->getInvoice();
$magentoOrderId = $invoice->getOrderId();
try {
/** @var $order Ess_M2ePro_Model_Order */
$order = Mage::helper('M2ePro/Component_Ebay')->getObject('Order', $magentoOrderId, 'magento_order_id');
} catch (Exception $e) {
return;
}
if (!$order->getChildObject()->canUpdatePaymentStatus()) {
return;
}
$this->createChange($order);
Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Model_Order_Log::INITIATOR_EXTENSION);
$result = $order->getChildObject()->updatePaymentStatus();
$result ? $this->addSessionSuccessMessage() : $this->addSessionErrorMessage($order);
} catch (Exception $exception) {
Mage::helper('M2ePro/Module_Exception')->process($exception);
return;
}
}
开发者ID:xiaoguizhidao,项目名称:bb,代码行数:29,代码来源:Invoice.php
示例4: saveConfig
/**
* @param Varien_Event_Observer $o
*/
public function saveConfig(Varien_Event_Observer $o)
{
$store = is_null($o->getEvent()->getStore()) ? 'default' : $o->getEvent()->getStore();
if (!Mage::helper('mandrill')->useTransactionalService()) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_Autoresponder_Model_Config::GENERAL_ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
if (!Mage::helper('mandrill')->useTransactionalService()) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_AbandonedCart_Model_Config::ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
if (!Mage::getStoreConfig('customer/address/dob_show')) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_Autoresponder_Model_Config::BIRTHDAY_ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
if (!Mage::getStoreConfig('customer/address/dob_show', $store)) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_Autoresponder_Model_Config::BIRTHDAY_ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
if (Mage::getStoreConfig('advanced/modules_disable_output/Mage_Wishlist', $store)) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_Autoresponder_Model_Config::WISHLIST_ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
if (Mage::getStoreConfig('advanced/modules_disable_output/Mage_Review', $store)) {
$config = new Mage_Core_Model_Config();
$config->saveConfig(Ebizmarts_Autoresponder_Model_Config::REVIEW_ACTIVE, false, "default", $store);
Mage::getConfig()->cleanCache();
}
}
开发者ID:xiaoguizhidao,项目名称:ecommerce,代码行数:37,代码来源:EventObserver.php
示例5: _afterCreditmemoSave
public function _afterCreditmemoSave(Varien_Event_Observer $event)
{
$base_path = Mage::getBaseDir('base');
$orgin_string = str_replace(PHP_EOL, '', file_get_contents($base_path . "/app/code/local/Nextorder/Refundbanking/Helper/sepaCheck.txt"));
if ($orgin_string == 0) {
return true;
} else {
$incrementCreditID = $event->getEvent()->getDataObject()->getCreditmemo()->getIncrementId();
if (file_exists($base_path . "/media/Sepa_Gutschrift/" . $incrementCreditID . ".xml")) {
// Mage::log( "it works!!!!!!!!!!!: test ", null, 'xulin.log');
return true;
} else {
$adminUser = Mage::getSingleton('admin/session')->getUser()->getUsername();
// $order = $event->getEvent()->getOrder();
$Grand_Total = $event->getEvent()->getDataObject()->getCreditmemo()->getData('grand_total');
// $Base_Total = $event->getEvent()->getDataObject()->getCreditmemo()->getData('base_grand_total');
// Mage::log($event->getEvent()->getDataObject()->getCreditmemo()->getData() , null, 'xulin.log');
$helper = Mage::helper("refundbanking/data");
$orderNr = $event->getEvent()->getDataObject()->getCreditmemo()->getData('order_id');
$order = Mage::getModel('sales/order')->load($orderNr);
$payment_code = $order->getPayment()->getMethodInstance()->getCode();
$paymentPools = array('ops_cc', 'paypal_billing_agreement', 'paypal_express');
// Mage::log( "it works +1", null, 'xulin.log');
if ($helper->isConfig($payment_code)) {
$kontoInfos_shop = $helper->getKontonForRefund($payment_code);
$customer = Mage::getModel('customer/customer')->load($order->getData('customer_id'));
$urlForXML = $helper->getSepaXML($customer->getData('debit_payment_acount_name'), $customer->getId(), $customer->getData('debit_payment_account_iban'), $customer->getData('debit_payment_account_swift'), $kontoInfos_shop['inhaber'], $kontoInfos_shop['iban'], $kontoInfos_shop['bic'], $order->getIncrementId(), $incrementCreditID, $Grand_Total);
Mage::getSingleton('adminhtml/session')->addSuccess("Sepa XML Gutschrit ist von User " . $adminUser . " erstellt.<a href='" . str_replace('index.php/', '', Mage::getUrl()) . "media/Sepa_Gutschrift/" . $incrementCreditID . ".xml' download> Zum Download </a>");
$event->getEvent()->getDataObject()->getCreditmemo()->addComment("Sepa XML Gutschrit ist von User " . $adminUser . " erstellt.<a href='" . str_replace('index.php/', '', Mage::getUrl()) . "media/Sepa_Gutschrift/" . $incrementCreditID . ".xml' download> Zum Download </a>", true, true);
}
}
}
}
开发者ID:fatalerrortan,项目名称:Magento_Refundbanking,代码行数:33,代码来源:Observer.php
示例6: dispatchAlways
/**
* Process cron queue for tasks marked as 'always'
*
* @param Varien_Event_Observer $observer
*/
public function dispatchAlways(Varien_Event_Observer $observer)
{
if (!Mage::getStoreConfigFlag('system/cron/enable')) {
return;
}
$processManager = Mage::getModel('aoe_scheduler/processManager');
/* @var $processManager Aoe_Scheduler_Model_ProcessManager */
$processManager->watchdog();
$scheduleManager = Mage::getModel('aoe_scheduler/scheduleManager');
/* @var $scheduleManager Aoe_Scheduler_Model_ScheduleManager */
$helper = Mage::helper('aoe_scheduler');
/* @var Aoe_Scheduler_Helper_Data $helper */
$includeJobs = $helper->addGroupJobs((array) $observer->getIncludeJobs(), (array) $observer->getIncludeGroups());
$excludeJobs = $helper->addGroupJobs((array) $observer->getExcludeJobs(), (array) $observer->getExcludeGroups());
/* @var $jobs Aoe_Scheduler_Model_Resource_Job_Collection */
$jobs = Mage::getSingleton('aoe_scheduler/job')->getCollection();
$jobs->setWhiteList($includeJobs);
$jobs->setBlackList($excludeJobs);
$jobs->setActiveOnly(true);
foreach ($jobs as $job) {
/* @var Aoe_Scheduler_Model_Job $job */
if ($job->isAlwaysTask() && $job->getRunModel()) {
$schedule = $scheduleManager->getScheduleForAlwaysJob($job->getJobCode());
if ($schedule !== false) {
$schedule->process();
}
}
}
}
开发者ID:xantin,项目名称:Aoe_Scheduler,代码行数:34,代码来源:Observer.php
示例7: execute
/**
* Set flag, which will be checked in SalesOrderCreditmemoSaveAfter observer
*
* @param \Varien_Event_Observer $observer
* @return $this
*/
public function execute(Varien_Event_Observer $observer)
{
/* @var $creditmemo Mage_Sales_Model_Order_Creditmemo */
$creditmemo = $observer->getEvent()->getCreditmemo();
$creditmemo->setData('avatax_can_add_to_queue', true);
return $this;
}
开发者ID:onepica,项目名称:avatax,代码行数:13,代码来源:SalesOrderCreditmemoRefund.php
示例8: checkReview
/**
* Check Captcha On Product Reviews Page
*
* @param Varien_Event_Observer $observer
*
* @return Mage_Captcha_Model_Observer
*/
public function checkReview($observer)
{
$formId = 'user_review';
$captchaModel = Mage::helper('captcha')->getCaptcha($formId);
if ($captchaModel->isRequired()) {
$controller = $observer->getControllerAction();
if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
Mage::getSingleton('core/session')->addError(Mage::helper('captcha')->__('Incorrect CAPTCHA.'));
$data = $controller->getRequest()->getPost();
Mage::getSingleton('review/session')->setFormData($data);
if ($this->isOldMagento()) {
$controller->setFlag('', Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true);
if ($redirectUrl = Mage::getSingleton('review/session')->getRedirectUrl(true)) {
$controller->getResponse()->setRedirect($redirectUrl);
return $this;
}
$controller->getResponse()->setRedirect($this->_getRefererUrl($controller));
} else {
//invalidate the formkey, which will force the controller to redirect back to referer
$controller->getRequest()->setParam('form_key', 'Incorrect CAPTCHA.');
}
}
}
return $this;
}
开发者ID:proxiblue,项目名称:recaptcha,代码行数:32,代码来源:Observer.php
示例9: addGdrtBlock
public function addGdrtBlock(Varien_Event_Observer $observer)
{
if (Mage::getStoreConfig('google/gdrt_general/gdrt_enable', Mage::app()->getStore()->getId()) === "1") {
$gdrtPages = Mage::getStoreConfig('google/gdrt_pages');
$mName = Mage::app()->getRequest()->getModuleName();
$cName = Mage::app()->getRequest()->getControllerName();
$aName = Mage::app()->getRequest()->getActionName();
$pageType = 'other';
foreach ($gdrtPages as $k => $v) {
$v = rtrim($v, '/');
if ($mName . '/' . $cName . '/' . $aName == $v || $mName . '/' . $cName == $v) {
$pageType = $k;
}
}
$layout = $observer->getEvent()->getLayout();
$block = '<reference name="before_body_end">
<block type="gdrt/script" name="gdrt_block">
<action method="setData">
<key>pageType</key>
<value>' . $pageType . '</value>
</action>
<action method="setData">
<key>pagePath</key>
<value>' . $mName . '/' . $cName . '/' . $aName . '</value>
</action>
</block>
</reference>';
$layout->getUpdate()->addUpdate($block);
return $this;
}
}
开发者ID:sreichel,项目名称:magento-Anaraky-GDRT,代码行数:31,代码来源:Observer.php
示例10: validateAfter
/**
* @param Varien_Event_Observer $observer
* @return void
*/
public function validateAfter(Varien_Event_Observer $observer)
{
/** @var $quote Mage_Sales_Model_Quote */
/** @var $quoteAddress Payone_Core_Model_Sales_Quote_Address */
/** @var $errors Varien_Object */
$event = $observer->getEvent();
$quote = $event->getQuote();
$quoteAddress = $event->getQuoteAddress();
$errors = $event->getErrors();
$useForShipping = (bool) $event->getUseForShipping();
$fullActionName = $event->getFullActionName();
if ($this->isEnabledForAction($fullActionName)) {
$config = $this->helperConfig()->getConfigProtect($quote->getStoreId())->getAddressCheck();
if (!$config->getEnabled()) {
return;
}
$addressType = $quoteAddress->getAddressType();
if ($this->mustCheckAddress($addressType, $config, $quote, $useForShipping)) {
// Inject into QuoteAdress for later use in mapper
$quoteAddress->setUseForShipping($useForShipping);
// Config says we must perform an addresscheck:
$service = $this->getFactory()->getServiceVerificationAddressCheck($config);
$service->execute($quoteAddress, $errors);
}
}
}
开发者ID:kirchbergerknorr,项目名称:Payone_Core,代码行数:30,代码来源:Address.php
示例11: setAutogenerateSku
/**
* Sets sku_autogenerate parameter
*
* The parameter would usually be set via checkbox in the "quick create" form
* but since the SKU field is now a label instead of a text field, it is not included.
*
* @see Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Super_Config_Simple
* @see event controller_action_predispatch_adminhtml_catalog_product_quickCreate
* @param Varien_Event_Observer $observer
*/
public function setAutogenerateSku(Varien_Event_Observer $observer)
{
$request = $observer->getControllerAction()->getRequest();
$simpleProductRequest = $request->getParam('simple_product');
$simpleProductRequest['sku_autogenerate'] = '1';
$request->setParam('simple_product', $simpleProductRequest);
}
开发者ID:piotr0beschel,项目名称:AutoSKU,代码行数:17,代码来源:Observer.php
示例12: salesOrderCreditmemoSaveCommitAfter
/**
* Disable package access when order is refunded
*
* @param Varien_Event_Observer $observer
*/
public function salesOrderCreditmemoSaveCommitAfter(Varien_Event_Observer $observer)
{
$event = $observer->getEvent();
/** @var Mage_Sales_Model_Order_Creditmemo $creditmemo */
$creditmemo = $event->getCreditmemo();
/** @var Mage_Sales_Model_Order $order */
$order = $creditmemo->getOrder();
$customerId = $order->getCustomerId();
$productIds = [];
foreach ($creditmemo->getItemsCollection() as $item) {
$productIds[] = $item->getProductId();
}
$packageIds = Mage::getResourceModel('genmato_composerrepo/packages_collection')->addFielToFilter('product_id', array('in' => $productIds))->getAllIds();
$collection = Mage::getResourceModel('genmato_composerrepo/customer_packages_collection')->addFieldToFilter('status', array('eq' => 1))->addFieldToFilter('customer_id', array('eq' => $customerId))->addFieldToFilter('order_id', array('eq' => $order->getId()))->addFieldToFilter('package_id', array('in' => $packageIds));
foreach ($collection as $item) {
$item->setStatus(0);
}
try {
$collection->save();
} catch (Exception $ex) {
Mage::log($ex->getMessage());
}
$cleanTags = [];
$cleanTags[] = Genmato_ComposerRepo_Model_Customer_Auth::CACHE_TAG . $customerId;
Mage::app()->getCache()->clean('matchingTag', $cleanTags);
}
开发者ID:markoshust,项目名称:ComperRepo,代码行数:31,代码来源:Observer.php
示例13: captureBraintreePayment
/**
* Capture payment on shipment if set
*
* @param Varien_Event_Observer $observer
*
* @return $this
*/
public function captureBraintreePayment(Varien_Event_Observer $observer)
{
/* @var $shipment Mage_Sales_Model_Order_Shipment */
$shipment = $observer->getEvent()->getShipment();
/* @var $order Mage_Sales_Model_Order */
$order = $shipment->getOrder();
// Should we capture the payment in shipment?
if ($this->shouldCaptureShipment($order)) {
// Check the order can be invoiced
if ($order->canInvoice()) {
/* @var @invoice Mage_Sales_Model_Order_Invoice */
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
// Check the invoice has items to invoice
if ($invoice->getTotalQty()) {
// Set the requested capture case
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
// Register the invoice
$invoice->register();
// Save the transaction
$transactionSave = Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder());
// Save the transaction
$transactionSave->save();
}
}
}
return $this;
}
开发者ID:kiutisuperking,项目名称:eatsmartboxdev,代码行数:34,代码来源:Observer.php
示例14: refundOrderInventory
public function refundOrderInventory(Varien_Event_Observer $observer)
{
$creditmemo = $observer->getEvent()->getCreditmemo();
foreach ($creditmemo->getAllItems() as $product) {
$this->updateStock($product->getProductId());
}
}
开发者ID:halk,项目名称:algoliasearch-magento,代码行数:7,代码来源:Observer.php
示例15: update_price
public function update_price(Varien_Event_Observer $observer)
{
$quote_item = $observer->getQuoteItem();
$item = Mage::getModel('catalog/product')->load($quote_item->getProduct()->getId());
//echo ' '.$item->getId()."==".$quote_item->getProduct()->getQty().' '.$item->getData('minqtyforfreeshipping').' '.$item->getData('shippingcost');
//exit;
echo $quote_item->getProduct()->getId() . "==" . $quote_item->getProduct()->getQty() . "==" . $item->getData('minqtyforfreeshipping');
exit;
if ($quote_item->getProduct()->getQty() < $item->getData('minqtyforfreeshipping')) {
$special_price = $item->getFinalPrice();
/*if(!$special_price || $special_price == 0.00){
$special_price = number_format($item->getPrice(),2);
}*/
$extra_price = $item->getData('shippingcost') / $quote_item->getProduct()->getQty();
$final_unit_price = number_format($special_price + $extra_price, 2);
$quote_item->setCustomPrice($final_unit_price);
$quote_item->setOriginalCustomPrice($final_unit_price);
$quote_item->getProduct()->setIsSuperMode(true);
} else {
$quote_item->setCustomPrice($special_price);
$quote_item->setOriginalCustomPrice($special_price);
$quote_item->getProduct()->setIsSuperMode(true);
}
return $this;
}
开发者ID:mSupply,项目名称:runnable_test_repo,代码行数:25,代码来源:Observer.php
示例16: execute
/**
* Set flag, which will be checked in SalesOrderInvoiceSaveAfter observer
*
* @param \Varien_Event_Observer $observer
* @return $this
*/
public function execute(Varien_Event_Observer $observer)
{
/** @var Mage_Sales_Model_Order_Invoice $invoice */
$invoice = $observer->getEvent()->getInvoice();
$invoice->setData('avatax_can_add_to_queue', true);
return $this;
}
开发者ID:onepica,项目名称:avatax,代码行数:13,代码来源:SalesOrderInvoicePay.php
示例17: handleOrderCreateContextEvent
/**
* add order context information to the order create
* request.
* @param Varien_Event_Observer $observer
* @return self
*/
public function handleOrderCreateContextEvent(Varien_Event_Observer $observer)
{
$event = $observer->getEvent();
$orderContext = $event->getOrderContext();
Mage::getModel('eb2cfraud/order_create_context')->addContextInfoToPayload($orderContext);
return $this;
}
开发者ID:sirishreddyg,项目名称:magento-retail-order-management,代码行数:13,代码来源:Observer.php
示例18: custom_sales_order_cancel
public function custom_sales_order_cancel(Varien_Event_Observer $observer)
{
$order = $observer->getEvent()->getOrder();
Mage::getSingleton('core/session')->addSuccess('OK class ElderXavier_Stockmanager_Model_Observer');
try {
$productIds = array();
foreach ($order->getItemsCollection() as $item) {
$productIds[] = $item->getProductId();
}
foreach ($productIds as $productId) {
$product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($productId);
if (!$product->isConfigurable()) {
continue;
}
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
foreach ($childProducts as $childProduct) {
if (!in_array($childProduct->getId(), $productIds)) {
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($childProduct)->addQty(1)->save();
}
//->subtractQty(1)
}
}
Mage::getSingleton('core/session')->addSuccess('OK observer');
} catch (Exeption $e) {
Mage::getSingleton('core/session')->addError('Erro : ' . $e);
}
}
开发者ID:elderxavier,项目名称:tropikanas-gerenciamento-de-estoque,代码行数:27,代码来源:Observer.php
示例19: endStep
/**
* Add log when step ends
*
* @param Varien_Event_Observer $observer
*
* @return $this
*/
public function endStep(Varien_Event_Observer $observer)
{
/* @var $task Pimgento_Core_Model_Task */
$task = $observer->getEvent()->getTask();
$this->_log($task->getMessage(), Zend_Log::INFO);
return $this;
}
开发者ID:juaniyyo,项目名称:PIMGento,代码行数:14,代码来源:Log.php
示例20: sendOrderMail
function sendOrderMail($data)
{
require_once '../app/Mage.php';
Mage::app();
if (isset($data['order_id']) && trim($data['order_id']) != '') {
$order = Mage::getModel('sales/order')->loadByIncrementId(trim($data['order_id']));
$orderId = $order->getId();
if ($orderId) {
$orderLoad = Mage::getModel('sales/order')->load($orderId);
$orderLoad->sendNewOrderEmail();
$proArr['message'] = "sent";
$proArr['status'] = 'ok';
$sms = new Celusion_SMSConneXion_Model_Observer();
$observer = new Varien_Event_Observer();
$observer->setData(array('order_ids' => array(0 => $orderId)));
$sms->sendOrderAlerts($observer);
} else {
$proArr['message'] = "order_id doesnot match";
$proArr['status'] = 'failed';
}
} else {
$proArr['message'] = "order_id is required";
$proArr['status'] = 'failed';
}
return $proArr;
}
开发者ID:mSupply,项目名称:runnable_test_repo,代码行数:26,代码来源:orderEmail.php
注:本文中的Varien_Event_Observer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论