Your IP : 216.73.216.79


Current Path : /var/www/html/dynaweb.blunetdev.com/backend/modules/repodl/
Upload File :
Current File : /var/www/html/dynaweb.blunetdev.com/backend/modules/repodl/api.txt

<?php
use backend\modules\moduleRepository\models\ModuleList;
use backend\modules\moduleRepository\models\ModuleVersion;
use backend\modules\moduleRepository\models\ModuleDownload;

// cross origin
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");

$res = [];
$ver = [];

$list = new ModuleList;
$get = Yii::$app->request->get();

$query = $list->find();

//id
if(isset($get['id'])) {
    $id = filter_var($get['id'], FILTER_SANITIZE_NUMBER_INT);
    
    // when id present
    if(!empty($id))
        $query->where(['module_id' => $id]);
}

// get all query
$all = $query->all();

foreach($all as $a) {
    
    
    $attr = $a->attributes;
    
    // module version
    $md = ModuleVersion::find()->where(['module_id' => $attr['module_id']])->all();
    foreach($md as $m) {
        $verattr = $m->attributes;
        $verattr['download'] = 0;
        
        //get download count
        $download = ModuleDownload::find()->where(['version_id' => $verattr['version_id']])->all();
        if(is_array($download)) 
            $verattr['download'] = count($download);
        
        $ver[] = $verattr;
    }
    
    if(!empty($ver)) {
        $attr['ver'] = $ver;
        $res[] = $attr;
    } else {
        $res[] = $a->attributes;   
    }
}

die(json_encode($res));