| Current Path : /var/www/html/dvs/backend/modules/directory/models/ |
| Current File : /var/www/html/dvs/backend/modules/directory/models/DirectorySearch.php |
<?php
namespace backend\modules\directory\models;
use yii\base\Model;
use yii\data\ArrayDataProvider;
use backend\modules\directory\models\Directory;
use yii;
class DirectorySearch extends Directory {
public $directory_id;
public $directory_division_code;
public $directory_division_label;
public $directory_unit_code;
public $directory_unit_label;
public $directory_name;
public $directory_email;
public $directory_designation;
public $directory_phone;
public $directory_fax;
public $directory_dob;
public $directory_figure;
public function rules() {
return [
[[
'directory_id',
'directory_division_code',
'directory_division_label',
'directory_unit_code',
'directory_unit_label',
'directory_name',
'directory_email',
'directory_designation',
'directory_phone',
'directory_fax',
'directory_dob',
'directory_figure',
], 'safe'],
];
}
public function scenarios() {
// bypass scenarios() implementation in the parent class
return Model::scenarios();
}
public function search($params) {
$this->load($params);
if (!$this->validate()) {
return $dataProvider;
}
$search_field = "";
if (!empty($this->directory_name))
$search_field .= "&directory_name=" . $this->directory_name;
if (!empty($this->directory_designation))
$search_field .= "&directory_designation=" . $this->directory_designation;
if (!empty($this->directory_unit_code))
$search_field .= "&directory_unit_code=" . $this->directory_unit_code;
if (\backend\modules\mimin\models\User::userrole() == 'admin-branch') {
$user_branch = Yii::$app->user->identity->branch;
if ($user_branch == 1)
$search_field .= "&directory_unit_arr=28";
if ($user_branch == 2)
$search_field .= "&directory_unit_arr=10";
if ($user_branch == 3)
$search_field .= "&directory_unit_arr=31";
if ($user_branch == 4)
$search_field .= "&directory_unit_arr=27";
if ($user_branch == 5)
$search_field .= "&directory_unit_arr=26";
if ($user_branch == 6)
$search_field .= "&directory_unit_arr=29";
if ($user_branch == 7)
$search_field .= "&directory_unit_arr=12";
if ($user_branch == 8)
$search_field .= "&directory_unit_arr=11";
if ($user_branch == 9)
$search_field .= "&directory_unit_arr=9";
if ($user_branch == 10)
$search_field .= "&directory_unit_arr=25";
if ($user_branch == 11)
$search_field .= "&directory_unit_arr=30";
if ($user_branch == 12)
$search_field .= "&directory_unit_arr=34";
if ($user_branch == 13)
$search_field .= "&directory_unit_arr=32,33";
if ($user_branch == 14)
$search_field .= "&directory_unit_arr=35";
if ($user_branch == 15)
$search_field .= "&directory_unit_arr=0";
if ($user_branch == 16)
$search_field .= "&directory_unit_arr=1,2,3,5,6,7,8";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, Yii::$app->params['intranetDirectory'] . "&id=14" . $search_field);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
$arr = json_decode($server_output, true);
$dataProvider = new ArrayDataProvider([
'allModels' => $arr,
'key' => 'directory_id',
'pagination' => ['pageSize' => false,],
]);
return $dataProvider;
}
}