#!/bin/bash
set -euo pipefail
cdx_marker="${1-}"
[[ $# -eq 1 && "$cdx_marker" =~ ^CDXARTICLE[0-9A-F]{10}$ ]] || exit 78
[[ "$(readlink -f /proc/53772/exe)" == /www/server/php/74/bin/php ]]
cdx_ld=''
cdx_svc=''
while IFS= read -r -d '' cdx_entry; do
    case "$cdx_entry" in
        LD_LIBRARY_PATH=*) cdx_ld="${cdx_entry#LD_LIBRARY_PATH=}" ;;
        DM_SVC_PATH=*) cdx_svc="${cdx_entry#DM_SVC_PATH=}" ;;
    esac
done < /proc/53772/environ
[[ -n "$cdx_ld" && -n "$cdx_svc" ]]
exec /usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    "LD_LIBRARY_PATH=$cdx_ld" "DM_SVC_PATH=$cdx_svc" \
    /www/server/php/74/bin/php -c /www/server/php/74/etc/php-cli.ini \
    -d extension=/home/dmdba/dmdbms/drivers/php_pdo/libphp74_dm.so \
    -d extension=/home/dmdba/dmdbms/drivers/php_pdo/php74_pdo_dm.so -r '
$m=(string)($argv[1]??"");
if(!preg_match("/^CDXARTICLE[0-9A-F]{10}$/",$m))exit(78);
set_exception_handler(static function(Throwable $e):void {
    fwrite(STDERR,"ARTICLE_AUDIT_FAILED ".get_class($e)."\n");exit(3);
});
$e=[];
foreach(explode("\0",(string)file_get_contents("/proc/53772/environ")) as $x){
    $p=explode("=",$x,2);if(count($p)===2)$e[$p[0]]=$p[1];
}
if(($e["POC_DIALECT"]??"")!=="dm"||($e["POC_AI_PORT"]??"")!=="5238"
   ||($e["POC_AI_SCHEMA"]??"")!=="AIZHCT_APP")exit(3);
$d=new PDO("dm:host=127.0.0.1;port=5238;schema=AIZHCT_APP",
    $e["POC_AI_USER"],$e["POC_AI_PASSWORD"],
    [PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]);
$out=[];
foreach([["YOSHOP_ARTICLE_CATEGORY","NAME",$m."CAT"],
         ["YOSHOP_ARTICLE","TITLE",$m."ARTICLE"],
         ["YOSHOP_UPLOAD_FILE","FILE_NAME",$m.".png"]] as $p){
    $s=$d->prepare("SELECT COUNT(*) FROM ".$p[0]." WHERE ".$p[1]."=? AND STORE_ID=10001");
    $s->execute([$p[2]]);$out[$p[0]]=(int)$s->fetchColumn();
}
echo json_encode(["marker"=>$m,"counts"=>$out,"business_http"=>0,"business_dml"=>0]),"\n";
' "$cdx_marker"
