Your IP : 216.73.216.79


Current Path : /var/www/html/jpp/backend/modules/directory/controllers/
Upload File :
Current File : /var/www/html/jpp/backend/modules/directory/controllers/DirectoryController.php

<?php

namespace backend\modules\directory\controllers;

use Yii;
use backend\modules\directory\models\Directory;
use backend\modules\directory\models\DirectorySearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;

/**
 * ContentPollController implements the CRUD actions for ContentPoll model.
 */
class DirectoryController extends Controller {

    /**
     * {@inheritdoc}
     */
    public function behaviors() {
        return [
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'delete' => ['POST'],
                ],
            ],
        ];
    }

    public function actionIndex() {
        $searchModel = new DirectorySearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider,]);
    }

    public function actionView($id) {
        //print_r($this->findModel($id));
        return $this->render('view', ['model' => $this->findModel($id),]);
    }

    public function actionCreate() {
        $model = new Directory();
        if ($model->load(Yii::$app->request->post())) {
            $data_post = '&directory_id=0&directory_division_code=' . $model->directory_division_code .
                    '&directory_unit_code=' . $model->directory_unit_code .
                    '&directory_name=' . urlencode($model->directory_name) .
                    '&directory_email=' . urlencode($model->directory_email) .
                    '&directory_designation=' . urlencode($model->directory_designation) .
                    '&directory_phone=' . urlencode($model->directory_phone) .
                    '&directory_fax=' . urlencode($model->directory_fax) .
                    '&directory_dob=' . urlencode($model->directory_dob) .
                    '&directory_figure=' . $model->directory_figure .
                    '&directory_grade=' . $model->directory_grade .
                    '&directory_staffing=' . $model->directory_staffing;

            $url = Yii::$app->params['intranetDirectory'] . "&id=17" . $data_post;
            $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, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $server_output = curl_exec($ch);
            curl_close($ch);
            if ($server_output == 'success')
                return $this->redirect(['index']);
        }
        return $this->render('create', ['model' => $model,]);
    }

    public function actionUpdate($id) {
        $data = $this->findModel($id);
        $model = new Directory();
        $model->directory_id = $id;
        $model->directory_division_code = $data['directory_division_code'];
        $model->directory_division_label = $data['directory_division_label'];
        $model->directory_unit_code = $data['directory_unit_code'];
        $model->directory_unit_label = $data['directory_unit_label'];
        $model->directory_name = $data['directory_name'];
        $model->directory_email = $data['directory_email'];
        $model->directory_designation = $data['directory_designation'];
        $model->directory_phone = $data['directory_phone'];
        $model->directory_fax = $data['directory_fax'];
        $model->directory_dob = $data['directory_dob'];
        $model->directory_figure = $data['directory_figure'];
        $model->directory_grade = $data['directory_grade'];
        $model->directory_staffing = $data['directory_staffing'];

        if ($model->load(Yii::$app->request->post())) {
            $data_post = '&directory_id=' . $model->directory_id .
                    '&directory_division_code=' . $model->directory_division_code .
                    '&directory_unit_code=' . $model->directory_unit_code .
                    '&directory_name=' . urlencode($model->directory_name) .
                    '&directory_email=' . urlencode($model->directory_email) .
                    '&directory_designation=' . urlencode($model->directory_designation) .
                    '&directory_phone=' . urlencode($model->directory_phone) .
                    '&directory_fax=' . urlencode($model->directory_fax) .
                    '&directory_dob=' . urlencode($model->directory_dob) .
                    '&directory_figure=' . $model->directory_figure .
                    '&directory_grade=' . $model->directory_grade .
                    '&directory_staffing=' . $model->directory_staffing;

            $url = Yii::$app->params['intranetDirectory'] . "&id=17" . $data_post;
            $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, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $server_output = curl_exec($ch);
            curl_close($ch);
            if ($server_output == 'success')
                return $this->redirect(['index']);
        }
        return $this->render('create', ['model' => $model,]);
    }

    public function actionDelete($id) {
        $url = Yii::$app->params['intranetDirectory'] . "&id=18&directory_id=" . $id;
        $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, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $server_output = curl_exec($ch);
        curl_close($ch);
        if ($server_output == 'success')
            return $this->redirect(['index']);
    }

    protected function findModel($id) {
        $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&directory_id=" . $id);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $server_output = curl_exec($ch);
        curl_close($ch);
        $arr = json_decode($server_output, true);
        return $arr[0];
    }

    public function actionSorting($data = '') {
        $count = 0;
        $data_arr = explode(',', $data);
        $data_directory = [];
        if (!empty($data_arr)) {
            foreach ($data_arr as $directory_id) {
                $count++;
                $data_directory[$count] = $directory_id;
            }
        }

        $fields_string = http_build_query(['data_directory' => $data_directory]);

        $url = Yii::$app->params['intranetDirectory'] . "&id=19";
        $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, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $server_output = curl_exec($ch);
        curl_close($ch);

        echo $server_output;
    }

}