OpnePNE2のレビュー機能からアダルト商品を除外する

SNSを運営していてエロイ商品をどんどん投稿されると運営者は困っちゃいますよねってことで、OpnePNE2を改造してみました。

config.phpにこれを追加。

// レビュー機能からアダルト商品を除外するかどうか
define('AMAZON_EXCLUDE_ADULT', true);

webapp/lib/db/review.phpを修正
function do_review_add_search_result内

    foreach ($products['Item'] as $key => $value) {
        if (is_array($value['ItemAttributes']['Author'])) {
            $authors = array_unique($value['ItemAttributes']['Author']);
            $products['Item'][$key]['author'] = implode(', ', $authors);
        }
        if (is_array($value['ItemAttributes']['Artist'])) {
            $artists = array_unique($value['ItemAttributes']['Artist']);
            $products['Item'][$key]['artist'] = implode(', ', $artists);
        }
    }

これを以下のように。

    foreach ($products['Item'] as $key => $value) {
        if (is_array($value['ItemAttributes']['Author'])) {
            $authors = array_unique($value['ItemAttributes']['Author']);
            $products['Item'][$key]['author'] = implode(', ', $authors);
        }
        if (is_array($value['ItemAttributes']['Artist'])) {
            $artists = array_unique($value['ItemAttributes']['Artist']);
            $products['Item'][$key]['artist'] = implode(', ', $artists);
        }
        if (AMAZON_EXCLUDE_ADULT && $value['ItemAttributes']['IsAdultProduct'] == '1') {
            unset($products['Item'][$key]);
        }
    }

function db_review_write_product4asin内

    $product  = $result['Item'][0];

これを以下のように。

    $product  = $result['Item'][0];

    if (AMAZON_EXCLUDE_ADULT && $product['ItemAttributes']['IsAdultProduct'] == '1') {
        return false;
    }

アダルト商品かどうかの識別はこちらを参考にしました。
http://phpspot.org/blog/archives/2006/06/amazon_ecs4.html