本文整理汇总了PHP中ShoppDatabaseObject::copydata方法的典型用法代码示例。如果您正苦于以下问题:PHP ShoppDatabaseObject::copydata方法的具体用法?PHP ShoppDatabaseObject::copydata怎么用?PHP ShoppDatabaseObject::copydata使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ShoppDatabaseObject
的用法示例。
在下文中一共展示了ShoppDatabaseObject::copydata方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: copydata
public function copydata($Item, $prefix = '', array $ignores = array())
{
parent::copydata($Item);
if (isset($Item->option->label)) {
$this->optionlabel = $Item->option->label;
}
$this->price = $Item->option->id;
// Generate download link for downloadables
if ('Download' == $Item->type && !empty($this->download)) {
$this->keygen();
$this->download = (int) $this->download->id;
// Convert download property to integer ID
}
$this->addons = 'no';
if (empty($Item->addons) || !is_array($Item->addons)) {
return true;
}
$addons = array();
// Create meta records for any addons
foreach ((array) $Item->addons as $i => $Addon) {
$Download = false;
$Meta = new ShoppMetaObject(array('parent' => $this->id, 'context' => 'purchased', 'type' => 'meta', 'name' => $Addon->label));
$Meta->context = 'purchased';
$Meta->type = 'addon';
$Meta->name = $Addon->label;
$Meta->numeral = $Addon->unitprice;
// Add a meta record to the purchased line item for an addon download
if (!empty($Addon->download)) {
$hash = array($this->name, $Addon->label, $this->purchase, $this->product, $this->price, $i, time());
$Addon->dkey = sha1(join('', $hash));
$Download = new ShoppMetaObject(array('parent' => $this->id, 'context' => 'purchased', 'type' => 'download', 'name' => $Addon->dkey));
$Download->context = 'purchased';
$Download->type = 'download';
$Download->name = $Addon->dkey;
$Download->value = $Addon->download;
}
$Meta->value = serialize($Addon);
$addons[] = $Meta;
if ($Download !== false) {
$addons[] = $Download;
}
}
$this->addons = $addons;
}