四月, 2010 的文章

四月
18
2010

https://lx.azure.microsoft.com/. 申请地址

<appSettings>
<add key=”wll_appid” value=”Your.Application.ID”/>
<add key=”wll_secret” value=”Your.Application.Secret”/>
<add key=”wll_securityalgorithm” value=”wsignin1.0″/>
<add key=”wll_returnurl” value=”http://Your.Server.Host.Name/delauth/sample1/delauth-handler.aspx” />
<add key=”wll_policyurl” value=”http://Your.Server.Host.Name/delauth/sample1/policy.html” />
</appSettings>

key输入.

php代理方式范例:

http://msdn.microsoft.com/en-us/library/cc287663%28v=MSDN.10%29.aspx

四月
18
2010

niconico SDK 开发包.

4
作者:AirForce

http://help.nicovideo.jp/jksdk/

环境需求:

  • CPU:

    Pentium4 2.0GHz以上

  • メモリ:

    1.0GB以上

  • OS:

    Windows XP/Windows Vista/Windows 7

  • ランタイム:

    Visual C++ 2008 SP1 ランタイム

API详细介绍:

API概要

各APIの大まかな説明です。

Interface

IJKNiCOM

  • 主インターフェイスです。 JKNiCOM を使用する際は 本インスタンス が常に存在しなければなりません。

ICommentWindow

  • コメントウィンドウ制御用インターフェイスです。

IChannelCollection

  • 公式チャンネル一覧取得用インターフェイスです。IEnumerableをサポートしています

IRadioChannelCollection

  • ラジオチャンネル一覧取得用インターフェイスです。IEnumerableをサポートしています

IUserChannelCollection

  • ユーザーチャンネル一覧取得用インターフェイスです。IEnumerableをサポートしています

IChannel

  • チャンネル情報保持用インターフェイスです

Types

TPlayStatus

  • 再生状態を示す列挙子です

TNotify

  • 通知コードを示す列挙子です
目前接口提供C#和VBScript两个方法.
四月
5
2010

Alicesoft 官方网页改版

14
作者:AirForce

首页

http://www.alicesoft.com/img/enter.png

内页:

リニューアルしました!

logo:

Special:
http://www.alicesoft.com/special/index.html
网页流程和概念:

分类
标签
四月
5
2010

http://www.microsoft.com/windowsazure/windowsazure/

php的地址:http://phpazure.codeplex.com/

四月
5
2010

// load order
$order = Mage::getModel(‘sales/order’)->load($orderId);

// set store and locale according to order store
Mage::app()->setCurrentStore($order->getStoreId());
Mage::app()->getLocale()->emulate($order->getStoreId());

// create invoice and send email
if ($order->canInvoice()) {
$invoice = $order->prepareInvoice();
$invoice->register();
$invoice->setEmailSent(true);
$invoice->save();
$invoice->sendEmail();
}

// create shipment and send email
if ($order->canShip()) {
$shipment = $order->prepareShipment();
$shipment->register();
$shipment->setEmailSent(true);
$shipment->save();
$shipment->sendEmail();
}

// save order
$order->save();

// reset locale
Mage::app()->getLocale()->revert();

标签
四月
5
2010

<?php
require_once ‘app/Mage.php’;
umask(0);
/* not Mage::run(); */
Mage::app(‘default’);

// get layout object
$layout = Mage::getSingleton(‘core/layout’);

//get block object
$block = $layout->createBlock(‘catalog/product_ajax’);

/* choose whatever category ID you want */
$block->setCategoryId(3);
$block->setTemplate(‘catalog/product/ajaxevents.phtml’);

echo $block->renderView();

?>

include(‘app/Mage.php’);
Mage::App(‘base’); //might be “default”

$customer = Mage::getModel(‘customer/customer’);
$customer->loadByEmail(‘some@email.address’); /* need a users email address */
$session = Mage::getSingleton(‘customer/session’);
$session->start();

<?php

$mageFilename = ‘app/Mage.php’;
require_once $mageFilename;

umask(0);
Mage::app();

/* Magento uses different sessions for ‘frontend’ and ‘adminhtml’ */
Mage::getSingleton(‘core/session’, array(‘name’=>’frontend’));

// $cart = Mage::getSingleton(‘checkout/cart’)->getItemsCount();
// $cart = Mage::helper(‘checkout/cart’)->getItemsCount();

$cart = Mage::helper(‘checkout/cart’)->getCart()->getItemsCount();

echo ‘cart items count: ‘ . $cart;

?>

require_once ‘app/Mage.php’;
umask(0);

$app = Mage::app(‘default’);

/* Init User Session */
$session = Mage::getSingleton(‘customer/session’, array(‘name’=>’frontend’));

if ($session->isLoggedIn()) {
/* do something if logged in */
} else {
/* do something else if not logged in */
}

标签
四月
5
2010

magento 外部处理订单

4
作者:AirForce

This is a method that we developed to handle custom integration with an inventory management system. This pulls all orders and processes them into an xml feed for processing by the inventory management system. Once it has passed the information it can optionally set each order to closed. Hopefully this helps you.

//External script – Load magento framework
require_once(“../app/Mage.php”);
Mage::app();

/* function for adding new node to xml file  */

function Add_NewDocElement($root, $parent, $name, $value){
$parent->appendChild($root->createElement($name))->appendChild($root->createTextNode($value));
}

#creating new xml-document
$dom = new DomDocument(’1.0′);
$dom->xmlStandalone = true;
$orders = $dom->appendChild($dom->createElement(‘ePosimPCOrders’));

#Magento required models
$myCustomer = Mage::getModel(‘customer/customer’);
$ordersMag = Mage::getModel(‘sales/mysql4_order_collection’);
$ordersInfo = Mage::getModel(‘sales/order_item’)->getCollection();

#Optional filters you might want to use – more available operationsin method _getConditionSql in Varien_Data_Collection_Db.
$ordersMag->addFieldToFilter(‘status’,Array(‘eq’=>”complete”)); //Status is “Completed”

#now we will get all order numbers associated
$allIds = $ordersMag->getAllIds();

#create new xml element

foreach($allIds as $thisId){
#this always needs to be inside the loop. otherwise we end up with bad data.
$myOrder = Mage::getModel(‘sales/order’);
$myOrder->load($thisId);
$getIncrement = $myOrder->getData();
$orderID = $getIncrement['increment_id'];
$myOrder->loadByIncrementId($orderID);
$order = $orders->appendChild($dom->createElement(‘Orders’));
$data = $myOrder->getData();
$address = Mage::getModel(‘sales/order_address’)->load($orderID);
#$customer = Mage::getModel(‘customer/customer’)->load($orderID->getCustomerId());

#first i’ll need to handle the multiple address scenario
$streetBA=$myOrder->getBillingAddress()->getStreet();
$streetSA=$myOrder->getShippingAddress()->getStreet();
if ($data['customer_id']){
$customer = “webCust-”.$data['customer_id'];
}else{
$customer = “web-guest”;
}

Add_NewDocElement($dom, $order, ‘idOrder’, $myOrder->getData(‘increment_id’));
Add_NewDocElement($dom, $order, ‘idCustomer’, $customer);
Add_NewDocElement($dom, $order, ‘CustomerPO’, “NO PO”); # can be left blank
Add_NewDocElement($dom, $order, ‘pcOrd_Time’, strftime(“%m-%d-%Y %H:%M%p”,strtotime($data['created_at'])));
Add_NewDocElement($dom, $order, ‘IPAddress’, $myOrder->getData(‘remote_ip’)); #remote_ip
#Add_NewDocElement($dom, $order, ‘lineBreak’, ‘#####################’); #visual debugging
#Billing Information
Add_NewDocElement($dom, $order, ‘customerCompany’, $myOrder->getBillingAddress()->getCompany());
Add_NewDocElement($dom, $order, ‘name’, $myOrder->getBillingAddress()->getFirstname());
Add_NewDocElement($dom, $order, ‘lastName’,$myOrder->getBillingAddress()->getLastname());
Add_NewDocElement($dom, $order, ‘address’, $streetBA[0]);
Add_NewDocElement($dom, $order, ‘address2′, (count($streetBA)==2)?$streetBA[1]:”);
Add_NewDocElement($dom, $order, ‘city’, $myOrder->getBillingAddress()->getCity());
Add_NewDocElement($dom, $order, ‘zip’,$myOrder->getBillingAddress()->getPostcode());
Add_NewDocElement($dom, $order, ‘stateCode’, $myOrder->getBillingAddress()->getRegion());
Add_NewDocElement($dom, $order, ‘countryCode’, $myOrder->getBillingAddress()->getData(‘country_id’));
Add_NewDocElement($dom, $order, ‘phone’, $myOrder->getBillingAddress()->getData(‘telephone’));
Add_NewDocElement($dom, $order, ‘email’, $data['customer_email']);
#Add_NewDocElement($dom, $order, ‘lineBreak’, ‘#####################’); #visual debugging

#now we pull shipping information
Add_NewDocElement($dom, $order, ‘shippingCompany’, $myOrder->getShippingAddress()->getFirstname());
Add_NewDocElement($dom, $order, ‘ShippingFirst’, $myOrder->getShippingAddress()->getFirstname());
Add_NewDocElement($dom, $order, ‘ShippingLast’, $myOrder->getShippingAddress()->getLastname());
Add_NewDocElement($dom, $order, ‘shippingAddress’, $streetBA[0]);
Add_NewDocElement($dom, $order, ‘shippingAddress2′, (count($streetSA)==2)?$streetSA[1]:”);
Add_NewDocElement($dom, $order, ‘shippingCity’, $myOrder->getShippingAddress()->getCity());
Add_NewDocElement($dom, $order, ‘shippingStateCode’, $myOrder->getShippingAddress()->getRegion());
Add_NewDocElement($dom, $order, ‘shippingZip’,$myOrder->getShippingAddress()->getPostcode());
Add_NewDocElement($dom, $order, ‘shippingCountryCode’, $myOrder->getShippingAddress()->getData(‘country_id’));
Add_NewDocElement($dom, $order, ‘pcOrd_ShippingPhone’, $myOrder->getShippingAddress()->getData(‘telephone’));
# get email
Add_NewDocElement($dom, $order, ‘pcOrd_ShippingEmail’, ” );
#start payment info
Add_NewDocElement($dom, $order, ‘Total’, number_format($myOrder->getTotal_paid(), 2, ‘.’, ”));
Add_NewDocElement($dom, $order, ‘SubTotal’, number_format($data['base_subtotal'], 2, ‘.’, ”));
#start tax info
Add_NewDocElement($dom, $order, ‘TaxRate1′, “.0675″);
Add_NewDocElement($dom, $order, ‘TaxRate2′, “0″);
Add_NewDocElement($dom, $order, ‘TaxAmt1′, number_format($data['base_tax_amount'], 2, ‘.’, ”));
Add_NewDocElement($dom, $order, ‘TaxAmt2′, ’0′);
Add_NewDocElement($dom, $order, ‘TotalTaxAmt’, number_format($data['base_tax_amount'], 2, ‘.’, ”));

Add_NewDocElement($dom, $order, ‘cardtype’, $myOrder->getData(‘cc_type’));
Add_NewDocElement($dom, $order, ‘cardnumber’,$myOrder->getData(‘cc_last4′));
Add_NewDocElement($dom, $order, ‘expiration’, $myOrder->getData(‘exp_month’).$myOrder->getData(‘exp_year’));
#Add_NewDocElement($dom, $order, ‘BatchID’, $BatchID); # not required

/* additional info not used
Add_NewDocElement($dom, $order, ‘TotalInvoiceAmount’, $myOrder->getTotal_paid());
Add_NewDocElement($dom, $order, ‘OrderStatus’, $myOrder->getStatus());
Add_NewDocElement($dom, $order, ‘PaymentMethod’,$myOrder->getPayment()->getData(‘method’));
Add_NewDocElement($dom, $order, ‘ShippingCaptured’, $myOrder->getPayment()->getData(‘shipping_captured’));

*/
#$myOrder->setStatus(Mage_Sales_Model_Order::STATE_CLOSED, true);
}

#next, for each order we retreive the specifics.

# first we’ll pull items information
$allIds = $ordersMag->getAllIds();
foreach($allIds as $thisId)
{      $myOrder->load($thisId);
foreach ($myOrder->getItemsCollection() as $item)
{

$order = $orders->appendChild($dom->createElement(‘OrdersItems’));
$data = $item->getOrigData();

Add_NewDocElement($dom, $order, ‘idOrder’, $myOrder->getData(‘increment_id’));
Add_NewDocElement($dom, $order, ‘LineOrder’, ’100′);
Add_NewDocElement($dom, $order, ‘sku’, $data['sku']);
Add_NewDocElement($dom, $order, ‘quantity’, $item->getQtyOrdered());
Add_NewDocElement($dom, $order, ‘unitPrice’, $item->getPrice());
Add_NewDocElement($dom, $order, ‘ns_TransCode’, “S” );//TODO pull all trans types.
Add_NewDocElement($dom, $order, ‘ns_Description’, $item->getName());
Add_NewDocElement($dom, $order, ‘ns_PriceCode’,  “A”);
#Add_NewDocElement($dom, $order, ‘TaxCode’,  $data['tax_percent']);// we may need this for later.

}
}

# next we’ll pull shipping information
$allIds = $ordersMag->getAllIds();
foreach($allIds as $thisId)
{
$myOrder->load($thisId);
$order = $orders->appendChild($dom->createElement(‘OrdersItems’));
$data = $myOrder->getOrigData();

Add_NewDocElement($dom, $order, ‘idOrder’, $myOrder->getData(‘increment_id’));
Add_NewDocElement($dom, $order, ‘LineOrder’, ’500′); #TODO ask brad about the significance of this.
Add_NewDocElement($dom, $order, ‘quantity’, ’1′);
Add_NewDocElement($dom, $order, ‘unitPrice’, $myOrder->getPayment()->getData(‘shipping_captured’));
Add_NewDocElement($dom, $order, ‘sku’, ‘AxloShipping’);
Add_NewDocElement($dom, $order, ‘ns_TransCode’, “F” );//POSIM specific freight code.
Add_NewDocElement($dom, $order, ‘ns_Description’, ‘per order shipping charge’ );
Add_NewDocElement($dom, $order, ‘ns_PriceCode’,  “A”);
#Add_NewDocElement($dom, $order, ‘TaxCode’,  $data['tax_percent']);// we may need this for later.
}
}

#now we’ll start the output.

#this method is for debugging. uncomment when testing.
/* $dom->formatOutput = true; ?> <pre> <? echo $dom->saveXML(); ?>  </pre> <? */

# this method is for live version. comment out when teting for easier debugging.
$dom->formatOutput = true;
return $dom->saveXML();

标签