クラス
MemberPage
ソース ソース
ファイル: src/Pages/MemberPage/MemberPage.php
class MemberPage
{
/**
* Registers member page hooks
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return void
*/
public static function init() {
add_filter('usces_filter_history_item_name', [get_class(), 'addDataGroupItemDownloadBtns'], 11, 4);
(new ConditionalAssetsLoader())->loadMemberPageAssets(function () {
wp_enqueue_style(
'wcexics-member-page',
WCEXICS_PLUGIN_URL . '/src/Pages/MemberPage/member-page.css',
[],
WCEXICS_VERSION
);
Loader::loadCoreCss();
});
}
/**
* Adds download buttons for 'data' division group item files
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param string $html
* @param array $umhs
* @param array $cart_row
* @param int $i
* @return string
*/
public static function addDataGroupItemDownloadBtns($html, $umhs, $cart_row, $i) {
if (!defined('WCEX_DLSELLER')) {
return $html;
}
$sels = unserialize($cart_row['cart_serial']);
// combo-set ID not set, continue
if (empty($sels['comboSetId'])) {
return $html;
}
// combo-set group items not set, continue
if (!isset($sels['comboSetItems'])) {
return $html;
}
$subhtml = '';
$ordercart = wcexics_api_get_combo_set_ordercartdata($umhs['ID']);
foreach ($ordercart as $cscart) {
$division = dlseller_get_division($cscart['post_id']);
if ($division !== 'data') {
continue;
}
if ((int)$cscart['combo_set_cart_id'] === (int)$cart_row['cart_id']) {
$subhtml .= '<tr>';
$subhtml .= '<th>';
$subhtml .= $cscart['sku_code'] . ' - ' . $cscart['sku_name'];
$subhtml .= '</th>';
$subhtml .= '<td>';
$fd = new FileDownloads();
add_filter('dlseller_filter_download_para', [$fd, 'filterGroupItemDownloadUrlParams'], 10, 2);
$subhtml .= dlseller_filter_history_item_name('', $umhs, $cscart, $i);
remove_filter('dlseller_filter_download_para', [$fd, 'filterGroupItemDownloadUrlParams'], 10);
$subhtml .= '</td>';
$subhtml .= '</tr>';
}
}
if (!empty($subhtml)) {
$subhtml = '<div class="avc-v3 mt-2rem wcexics gi-dl"><table>' . $subhtml . '</table></div>';
}
return $html . $subhtml;
}
}
- addDataGroupItemDownloadBtns — Adds download buttons for 'data' division group item files
- init — Registers member page hooks