Your IP : 216.73.216.79


Current Path : /var/www/html/dosm_backup/frontend/controllers/
Upload File :
Current File : /var/www/html/dosm_backup/frontend/controllers/SiteController.php

<?php

namespace frontend\controllers;

use Yii;
use yii\filters\AccessControl;
use yii\filters\VerbFilter;
use yii\web\Controller;
use kartik\mpdf\Pdf;
use common\models\ICS;

/**
 * Site controller
 */
class SiteController extends Controller {

    /**
     * {@inheritDoc}
     * @see \yii\web\Controller::beforeAction()
     */
    public function beforeAction($action) {
        //         $this->layout = 'main_default';
        // TODO Auto-generated method stub
        return parent::beforeAction($action);
    }

    /**
     * @inheritdoc
     */
    public function behaviors() {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' => ['logout', 'signup', 'error', 'stub'],
                'rules' => [
                    [
                        'actions' => ['signup', 'error', 'stub'],
                        'allow' => true,
                        'roles' => ['?'],
                    ],
                    [
                        'actions' => ['logout', 'error'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
            ],
        ];
    }

    /**
     * @inheritdoc
     */
    public function actions() {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
        ];
    }

    /**
     * Displays homepage.
     *
     * @return mixed
     */
    public function actionIndex() {
        return $this->render('index');
    }

    /**
     * Logs out the current user.
     *
     * @return mixed
     */
    public function actionLogout() {
        Yii::$app->user->logout();

        return $this->goHome();
    }

    public function actionError() {
        $exception = Yii::$app->errorHandler->exception;
        if ($exception !== null) {
            return $exception->getMessage();
        }
    }

    public function actionTranslate($language) {
        $cookies = Yii::$app->response->cookies;
        Yii::$app->language = $language;
        $cookies->add(new \yii\web\Cookie([
                    'name' => 'language',
                    'value' => $language
        ]));
        return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);
    }

//    public function actionDownloadarc($search_year = '', $search_month = '') {
//        $ical = "BEGIN:VCALENDAR\n
//VERSION:2.0\n
//PRODID:-//hacksw/handcal//NONSGML v1.0//EN\n
//BEGIN:VEVENT\n
//UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test\n
//DTSTAMP:" . gmdate('Ymd') . 'T' . gmdate('His') . "Z\n
//DTSTART:20230114T170000Z\n
//DTEND:20230115T035959Z\n
//SUMMARY:Bastille Day Party\n
//END:VEVENT\n
//BEGIN:VEVENT\n
//UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test\n
//DTSTAMP:" . gmdate('Ymd') . 'T' . gmdate('His') . "Z\n
//DTSTART:20230114T170000Z\n
//DTEND:120230115T035959Z\n
//SUMMARY:Bastille Day Party 2\n
//END:VEVENT\n
//END:VCALENDAR\n";
//
//
//        header('Content-type: text/calendar; charset=utf-8');
//        header('Content-Disposition: inline; filename=calendar.ics');
//        echo $ical;
//        exit;
//    }

    public function actionDownloadarc($search_year = '', $search_month = '') {
        //print_r(phpversion());exit;
        //$calendar = new \Eluceo\iCal\Domain\Entity\Calendar();

        $ical = "BEGIN:VCALENDAR\n
VERSION:2.0\n
PRODID:-//hacksw/handcal//NONSGML v1.0//EN\n";


        $queryRelease = (new \yii\db\Query())->from('release_settings')->where(['=', 'YEAR(release_start_date)', $search_year]);
        if ($search_month != 'All') {
            $queryRelease->andwhere(['=', 'MONTH(release_start_date)', $search_month]);
        }
        $queryRelease->orderBy(['release_start_date' => SORT_ASC]);
        $modelRelease = $queryRelease->all();
        if (!empty($modelRelease)) {
            foreach ($modelRelease as $rowRelease) {

                $releaseParentTheme = $rowRelease['release_theme'];
                $releaseMainTheme = $rowRelease['release_theme'];

                while ($releaseParentTheme != '') {
                    $modelReleaseTheme2 = (new \yii\db\Query())->from('release_themes')->where(['=', 'theme_id', $releaseParentTheme])->one();
                    if (!empty($modelReleaseTheme2)) {
                        $releaseParentTheme = $modelReleaseTheme2['theme_parent_id'];
                        $releaseMainTheme = $modelReleaseTheme2['theme_id'];
                    }
                }

                $release_theme = '';
                $modelReleaseTheme = (new \yii\db\Query())->from('release_themes')->where(['=', 'theme_id', $releaseMainTheme])->one();
                if (!empty($modelReleaseTheme))
                    $release_theme = $modelReleaseTheme['theme_name'];

                $ical .= "BEGIN:VEVENT\n
UID:" . md5(uniqid(mt_rand(), true)) . "\n
DTSTAMP:" . gmdate('Ymd') . 'T' . gmdate('His') . "Z\n
DTSTART:".date("Ymd", strtotime($rowRelease['release_start_date']))."T1200000Z\n
SUMMARY:".$rowRelease['release_title']."\n
END:VEVENT\n";

//                $event = (new \Eluceo\iCal\Domain\Entity\Event())
//                        ->setSummary($rowRelease['release_title'])
//                        ->setDescription('[' . $release_theme . '] ' . $rowRelease['release_title'])
//                        ->setOccurrence(
//                        new \Eluceo\iCal\Domain\ValueObject\SingleDay(
//                                new \Eluceo\iCal\Domain\ValueObject\Date(
//                                        \DateTimeImmutable::createFromFormat('Y-m-d', $rowRelease['release_start_date'])
//                                )
//                        )
//                );
//                $calendar->addEvent($event);
            }
        }
        //$calendar = new \Eluceo\iCal\Domain\Entity\Calendar([$event]);
//        $componentFactory = new \Eluceo\iCal\Presentation\Factory\CalendarFactory();
//        $calendarComponent = $componentFactory->createCalendar($calendar);
//        header('Content-Type: text/calendar; charset=utf-8');
//        header('Content-Disposition: attachment; filename="advance_release_calendar.ics"');
//        echo $calendarComponent;

        $ical .= "END:VCALENDAR\n";

        header('Content-type: text/calendar; charset=utf-8');
        header('Content-Disposition: inline; filename=calendar.ics');
        echo $ical;
        exit;
    }

    public function actionDownloadrelease($id, $lang = 'English') {

        $release_title = '';
        $modelRelease = (new \yii\db\Query())->from('release_settings')->where(['=', 'release_slug', $id])->one();
        if (!empty($modelRelease)) {
            $release_title = urlencode($modelRelease['release_title']);
        }

        $output = '';
        $modelTemplate = \backend\modules\contentTemplate\models\ContentTemplate::findOne(['code' => 'release-content']);
        if (!empty($modelTemplate)) {
            eval("?>" . $modelTemplate->content . "<?");
        }

        $pdf = new Pdf([
            'mode' => Pdf::MODE_BLANK,
            'filename' => $release_title . '.pdf',
            'format' => Pdf::FORMAT_A4,
            'orientation' => Pdf::ORIENT_PORTRAIT,
            'destination' => Pdf::DEST_BROWSER,
            'content' => $output,
                //'marginLeft' => '0',
                //'marginRight' => '0',
                //'marginTop' => '0',
                //'marginBottom' => '0',
                //'cssFile' => '@vendor/kartik-v/yii2-mpdf/src/assets/kv-mpdf-bootstrap.min.css',
                //'cssInline' => 'table td{line-height:150%} table{border-collapse: collapse;} table thead th{background-color:#ccc;}',
        ]);
        return $pdf->render();


        /* $DataEncoded = json_encode(
          array(
          'xAxis' =>
          array(
          'categories' => ['Ene', 'Feb', 'Mar', 'Abr']
          ),
          'series' =>
          array(
          array(
          'data' => [1, 2, 3, 4],
          'type' => 'line'
          ),
          array(
          'data' => [5, 6, 7, 8],
          'type' => 'line'
          )
          )
          )
          );


          $dataString = ('type=image/png&width=800&options=' . $DataEncoded);
          $url = 'https://export.highcharts.com/';
          $ch = curl_init();

          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
          curl_setopt($ch, CURLOPT_POST, 1);

          $headers = array();
          $headers[] = "Accept: application/json";
          $headers[] = "Content-Type: application/x-www-form-urlencoded";
          curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
          $result = curl_exec($ch);

          //echo $result;
          //$resultimg = str_replace("data:image/png; base64,", "", $result);
          //header('Content-Disposition: attachment;filename="test.png"');
          //header('Content-Type: image/png');
          //echo base64_decode($resultimg);
          //echo $result;
          curl_close($ch);
          //$profile_Image = 'http://dosm.blunetdev.com/assets/dosm/images/logo/logo3.png'; //image url
          //$imageurl = 'iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOzdd3hUZf7+8fekTNqEAKEl9C4loYjSIYkFsQtY1oJrQ8SCC4Jkf1v0cr8bCIgV176IoIsCiiJgo4gCIgoJJYD0AAkdkslMZjIz5/dHEBtggJOcSXK/rmuvlSQz8yGOM/d5znPusRmGYSAiIiIipgmxegARERGRqkYBS0RERMRkClgiIiIiJlPAEhERETGZApaIiIiIyRSwREREREymgCUiIiJiMgUsEREREZMpYImIiIiYTAFLRM5Kt27dGDx4sNVjVLjq+vcWkXMTZvUAImKtoqIiZs2axdKlS9m5cydOp5OoqCjq169Pq1atGDx4MBdeeKHVY5qqW7duNG3alNmzZ1s9iohUUQpYItXYtm3bGDlyJPv37yc1NZUrr7yS2NhYDh06RE5ODqtXr6ZZs2aWB6yxY8eyfv165s+fb8ptJkyYQExMjCmPIyJyKgpYItWUy+Xi0Ucf5fDhwzz//PP07Nnzdz9jGAZOp9OC6cDr9WK324HSIHjgwIGzuv2ZbnPJJZec9W1ERM6G9mCJVFOzZ88mLy+PO++885ThCsBmsxEbG3vK77lcLjIzM7n88svp3bs3f//73/F4PCe/7/F4eOWVV7j99tvp3bs3vXv3ZsSIEezbt+939/XT/qYDBw4wZswY+vfvz9SpU09+b9euXSf/uVu3bn/4d/uj25xqP9W5PA5AQUEB//73v7n88svp1asX9913H5s2bSrTbUWk6lLAEqmmlixZAsANN9xw1rf1eDwMHz6cPXv2MHLkSPr168eCBQt47bXXTv7M4cOHWbJkCWlpafz973/nyiuvZNWqVTz11FOnvM/i4mKGDx9OZGQkjz/+OH369AFKT+fVrVv35D9PmDDhD+erqNsUFxczbNgwVqxYwbBhw3jsscfYv38/w4cP5+DBg394exGpunSKUKSa2rFjB7Vq1aJ+/fpnfdv8/Hx69+5Neno6AL179+bzzz9n5cqVPPTQQwA0aNCAd9999+RtrrjiCr766iuysrJOeZ/79+/nkUceYejQob/6+iWXXMJLL7108p/LoqJuM336dLZu3cqMGTNo27YtAM2aNWPYsGG8//77jBgxokz3IyJVj1awRKqpoqIiHA7HOd02Pj6exx577OSfa9asCYDb7T75tZCQn19eDMPA5XIRExOD1+s95X02aNCAO+6445zmscrnn39OfHw8iYmJFBYWUlhYSLNmzQDIzs62djgRsZRWsESqqZiYmHPewO5wOAgPD//Dn1u0aBHvvvsuGzdu/NX+rFOJiIjAZrOd0zxWyc3Nxev1kpqa+rvvHTlyxIKJRCRYKGCJVFNNmzZl3bp17Nu3j8TERNPv/7333iMzM5OmTZsyatQoGjduzJNPPsn+/ftNfyyr2Gw2GjduzN/+9rfffS8yMtKCiUQkWChgiVRTffv2Zd26dcycOZO//OUvpt//1KlTiYqK4s033yQuLg6oeqGjZcuWbN26lQsuuOCUvVoiUn1pD5ZINTVkyBDq1q3Lu+++y8KFC0/5Mx6Ph927d5/T/R89epTo6Ghq1KgBlF5x53K5AE67D+t0IiIiADh06FBQ3ea6667D6/Xy6quvlvkxRKR6UMASqaZq1KjB5MmTqVWrFn/7298YMWIE7777Lp999hnvv/8+TzzxBAMHDjxt+PojXbp04fDhw2RkZPDBBx9w9913Ex8fD8BLL710VnuUOnfuDEBGRgaffPJJ0NzmhhtuoH///syYMYNRo0Yxd+5cFi5cyH/+859TnjYUkepDpwhFqrF27drx3nvvMXPmTJYtW8bLL7+M2+0mNjaWli1bcscdd3Dddded033/85//5B//+Acff/wxGzdu5NFHH6Vhw4aMGDGCDz/8kD59+lC7du0y3dfw4cPZu3cvy5cvJycnh6uuuioobhMSEsLEiROZOXMmc+fOZcKECYSGhtKkSRNSUlLK9HcTkarJZhiGYfUQIiIiIlWJThGKiIiImEwBS0RERMRkClgiIiIiJlPAEhERETGZApaIiIiIyRSwREREREymgCUiIiJiMgUsEREREZMpYImIiIiYTAFLRERExGQKWCIiIiImU8ASERERMZkCloiIiIjJFLBERERETKaAJSIiImIyBSwRERERkylgiYiIiJhMAUtERETEZGFWD/BbJSUlTJ8+nT179uD3+0lLS6Nfv35WjyUiIiJSZjbDMAyrh/il//3vf4SEhHDTTTcBUFRURExMjMVTiYiIiJRdUJ0iNAyDFStWkJaWdvJrClciIiJS2QTVKcKjR4/i9XpZt24dK1euxG63c+utt5KQkHBe95uXl2fShCIiIlKdlTWTBFXA8vv9BAIBateuTXp6OvPmzWPq1Kmkp6ef1/2eb0ATERERORtBdYowLi6OkJAQkpKSAOjUqRP5+fkWTyUiIiJydoIqYNntdtq3b09WVhYA27Zto3nz5hZPJSIiInJ2gu4qwqNHj/Lmm2/icrmIiorirrvuIj4+3uqxRERERMos6AKWiIiISGUXVKcIRURERKoCBSwRERERkylgiYiIiJhMAUtERETEZApYIiIiIiZTwBIRERExmQKWiIiIiMkUsERERERMpoAlIiIiYjIFLBERERGTKWCJiIiImEwBS0RERMRkClgiIiIiJlPAEhERETGZApaIiIiIyRSwREREREymgCUiIiJiMgUsEREREZMpYImIiIiYTAFLRERExGQKWCIiIiImU8ASERERMZkCloiIiIjJFLBERERETKaAJSIiImIyBSwRERERkylgiYiIiJhMAUtERETEZApYIiIiIiZTwBIRERExmQKWiIiIiMkUsERERERMpoAlIiIiYjIFLBERERGTKWCJiIiImEwBS0RERMRkClgiIiIiJguzeoDfys/P54knnqBJkyYA1K9fn3vuucfiqSq/adOmAzB06O0WTyIiIlL1BV3AAggNDeWvf/2r1WNUGdOmTWfatBkn/6yQJSIiUr50irCK+224mjZtxsnVLBERESkfQRewQkJCcDgcPPnkk8yYMQOXy2X1SJXWb8PVz19XyBIRESlPQXeKsF69ekyYMAGv18vMmTP573//y4MPPnhe95mXl2fSdJWL0+k87feOHTtWbX8vIiIi5yohIaFMPxd0AesndrudlJQUJk2adN73VdZfRlUzYsRwHA7HKVexfvhhLZdffhkXXNDWgslERESqtqA7RWgYxsl/zsnJoX79+hZOU/kNHXo7Q4fedvLPV199JU2bNmHPnr088sgopk2bgc/ns3BCERGRqsdm/DLRBIFDhw7x/PPPEx4eTlRUFLfddlu1XYEy0y9rGjweL2+++V9mz/4QgAsuaMu4cWNo1KihlSOKiIhUGUEXsKTirFmzlszMpzl48BAREXaGDx/G1Vdfic1ms3o0ERGRSk0Bq5orLHTywgsvsWjRYgAuuqgbY8b8hdq1a1s8mYiISOWlgCUALF68lOeeewGns4jY2FhGjXqEvn37WD2WiIhIpaSAJScdOnSYiRMn8/33PwBw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gCUiIiJiMgUsEREREZMpYImIiIiYTAFLRERExGQKWCIiIiImU8ASERERMZkCloiIiIjJFLBERERETKaAJSIiImIyBSwRERERkylgiYiIiJhMAUtERETEZApYIiIiIiZTwBIRERExmQKWiIiIiMkUsERERERMpoAlIiIiYjIFLBERERGTKWCJiIiImEwBS0RERMRkClgiIiIiJlPAEhERETGZApaIiIiIyRSwREREREymgCUiIiJiMgUsEREREZMpYImIiIiYTAFLRERExGQKWCIiIiImU8ASERERMZkCloiIiIjJFLBERETk/7d37zFV138cx18cDocCAVFU0LyTps0UOAaiigAADf5JREFUIVSU5qWGJbp0lnM6WsuFiy3bLDWSrWER/aWb3bW5HTHDS15IkxbVAikdKiqhLlfkFZG8cFOQc87vD+P8PGLAwS8cwOdjczvnez7n83mfr4fPee3z/XCAwQhYAAAABjN7uoC7VVZWav369aqqqlK/fv300ksvydvb29NlAQAAtFiHW8HKzMxURESEUlJSZLFY9MMPP3i6JAAAALd0qIBls9l05MgRRUZGSpIiIyNVUFDg4aoAAADc06EC1tWrV2W32xUQECBJCgoK0uXLlz1cFQAAgHs63B6sOzkcDkP6OXSi3JB+AADAgy1yREiL2nWogNW9e3eZTCZVVVWpW7duunbtmnr16nXf/bb0ZAAAABihQ10iNJvNGjNmjA4fPixJOnTokKKiojxcFQAAgHu8HEZdhzNIRUWF1q1bp5qaGr6mAQAAdEodLmABAAB0dh3qEiEAAEBXQMACAAAwGAELAADAYAQsAAAAgxGwAAAADEbAAiBJKi0tVVJSkqfLAIAugYDVhfABiTuVlpZq8eLFSktLc/77888/PV0WPKi0tFSJiYlat26dy/ENGzYwdzzg6uvrtXTpUm3dutXTpXQZHepP5QAwlre3t5KTkz1dBjoQk8mkkydPqr6+XmazWfX19Tp58qTb/TgcDnl5ebVBhfCEwsJCeXl56cCBA5o9e7bMZvfjAe8JVwSsLuznn39WQUGBrly5ookTJ2rGjBkqLS3VqlWrtHDhQv3yyy+6fv26pk+frqeeesrT5aKdOBwObd++XadOndKtW7e0cOFChYeHOx/fu3evjh49qps3b2rRokXq37+/B6uF0UwmkwYPHqzi4mI9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';
          //$imageurl = $result;
          //$imagename = (new \yii\db\Query)->select(new \yii\db\Expression('UUID()'))->scalar();
          //$path = 'uploads/release-content/';
          //$thumb_image = file_get_contents(base64_decode($result));
          //$thumb_file = $path . $imagename;
          //file_put_contents($thumb_file, $thumb_image);


          die(); */
    }

    public function actionGettotaldownloads($article_code = '', $file_type = '') {
        $output = (new \yii\db\Query())
                ->from('page_visit_log')
                ->where(['=', 'content_type', 'covid-19-report'])
                ->andwhere(['=', 'data_id', $article_code])
                ->andwhere(['=', 'action_type', 'download_' . $file_type])
                ->count();
        return $output;
    }
    
    public function actionRss(){
      $query = new \yii\db\Query(); 
$query->select(['*'])->from('release_settings')
    ->where(['=','release_language','English'])
    ->andwhere(['=','release_status','active'])
    ->andwhere(['>','release_start_date',date('Y-m-d')]);
$model = $query->all();
$output = "";
if(!empty($model)){
    foreach($model as $row){
        $output .= "<item>
              <title>".preg_replace('/&(?!#?[a-z0-9]+;)/', '&amp;', $row['release_title'])."</title>
              <link>".$baseUrl."</link>
              <description>Release on ".$row['release_start_date']."</description>
            </item>";
    }
}
 header( "Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
<channel> 

<title>Article Release</title>
<link>".$baseUrl."</link>
<description>List of upcoming DOSM article release</description>
<language>en-us</language>

".$output."

</channel>
</rss>";

die();
    }

}