示例#1
0
 /**
  * Initializes the widget.
  */
 public function init()
 {
     if (!$this->id) {
         $this->id = 'w_' . Security::generateRandomString();
     }
     $this->varName = 'graph_' . Security::generateRandomString();
 }
示例#2
0
 /**
  * Добавляет заявку в диспечер для слежения.
  * Если запись уже была добавлена то она обновляется
  *
  * @param int                 $id         идентификатор заявки
  * @param string              $code       код
  * @param string|int|DateTime $dateFinish времменой штам в зоне UTC,
  *                                        Если не указано то будет использован параметр $this->liveTime (оно прибавляется к настоящему моменту)
  *
  * @return array|false
  */
 public static function insert($id, $code = null, $dateFinish = null)
 {
     if (is_null($dateFinish)) {
         $dateFinish = time() + 60 * 60 * 24 * static::$liveTime;
     } else {
         if ($dateFinish instanceof DateTime) {
             $dateFinish = $dateFinish->format('U');
         } else {
             if (is_string($dateFinish)) {
                 $dateFinish = (new DateTime($dateFinish, new \DateTimeZone('UTC')))->format('U');
             }
         }
     }
     if (is_null($code)) {
         $code = Security::generateRandomString(50);
     }
     $fields = ['date_finish' => gmdate('Y-m-d H:i:s', $dateFinish), 'code' => $code];
     if ((new Query())->select('*')->from(static::TABLE)->where(['parent_id' => $id])->exists()) {
         (new Query())->createCommand()->update(static::TABLE, $fields, ['parent_id' => $id])->execute();
         $fields['parent_id'] = $id;
     } else {
         $fields['parent_id'] = $id;
         (new Query())->createCommand()->insert(static::TABLE, $fields)->execute();
     }
     return $fields;
 }
示例#3
0
 /**
  * загружает картинки в CKEDITOR
  */
 public function actionUpload()
 {
     $this->actionUpload_clearTempFolder();
     $fileInfo = pathinfo($_FILES['upload']['name']);
     $path = UploadFolderDispatcher::createFolder(HtmlContent::$uploadFolder);
     $path->add(time() . '_' . Security::generateRandomString(10) . '.' . $fileInfo['extension']);
     if ($_FILES['upload'] == 'none' or empty($_FILES['upload']['name'])) {
         $message = 'No file uploaded';
     } else {
         if ($_FILES['upload']['size'] == 0) {
             $message = 'The file is of zero length';
         } else {
             if ($_FILES['upload']['type'] != 'image/jpeg' and $_FILES['upload']['type'] != 'image/png') {
                 $message = 'The image must be in either JPG or PNG format. Please upload a JPG or PNG instead';
             } else {
                 if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {
                     $message = "You may be attempting to hack our server. We're on to you; expect a knock on the door sometime soon";
                 } else {
                     $message = '';
                     $move = @move_uploaded_file($_FILES['upload']['tmp_name'], $path->getPathFull());
                     if (!$move) {
                         $message = 'Error moving uploaded file. Check the script is granted Read/Write/Modify permissions';
                     }
                 }
             }
         }
     }
     $funcNum = (int) $_GET['CKEditorFuncNum'];
     return Html::script("window.parent.CKEDITOR.tools.callFunction({$funcNum}, '{$path->getPath()}', '{$message}');");
 }
示例#4
0
 /**
  * Добавляет запрос на добавление услуги
  *
  * @param array $fields
  *    [
  *    'stock_id' => int
  *    'month'    => int
  *    ]
  *
  * @return static
  */
 public static function insert($fields)
 {
     $fields['user_id'] = Yii::$app->user->id;
     $fields['datetime'] = time();
     $fields['hash'] = Security::generateRandomString(60);
     return parent::insert($fields);
 }
 public function up()
 {
     $this->execute('ALTER TABLE galaxysss_4.cap_users ADD referal_link VARCHAR(20) NULL;');
     $rows = \app\models\User::query()->select('id')->column();
     foreach ($rows as $id) {
         (new \yii\db\Query())->createCommand()->update('cap_users', ['referal_link' => \cs\services\Security::generateRandomString(20)], ['id' => $id])->execute();
     }
 }
示例#6
0
 /**
  * Добавляет заявку в диспечер для слежения
  *
  * @param int $id      идентификатор заявки
  * @param int $newMail код
  * @param int $code    код, не обязательное
  *
  * @return self
  */
 public static function add($id, $newMail, $code = null)
 {
     if (is_null($code)) {
         $code = Security::generateRandomString(60);
     }
     $fields = ['date_finish' => time() + 60 * 60 * 24 * self::$liveTime, 'email' => $newMail, 'code' => $code, 'parent_id' => $id];
     $class = parent::insert($fields);
     return $class;
 }
示例#7
0
文件: Upload.php 项目: dram1008/gleb
 public function action()
 {
     $file = UploadedFile::getInstance($this, 'file');
     $path = UploadFolderDispatcher::createFolder('tempFiles');
     $f = explode('.', $file->name);
     if (count($f) == 1) {
         $ext = 'jpg';
     } else {
         $ext = $f[count($f) - 1];
     }
     $path->add(time() . '_' . Security::generateRandomString() . '.' . $ext);
     $file->saveAs($path->getPathFull());
     Yii::$app->session->setFlash('fileName', $path->getPath());
     return true;
 }
 public function up()
 {
     foreach (\app\models\User::query(['referal_code' => null])->select('id')->column() as $id) {
         $this->update(\app\models\User::TABLE, ['referal_code' => \cs\services\Security::generateRandomString(20)], ['id' => $id]);
     }
 }
 /**
  * Создает имя файла {timeStamp}_{rand}.{ext}
  *
  * @param $file
  *
  * @return string
  *
  */
 public static function generateFileName($file)
 {
     $info = pathinfo($file);
     return time() . '_' . Security::generateRandomString(10) . '.' . strtolower($info['extension']);
 }
示例#10
0
 /**
  * Устанавливает новый аватар из адреса интернет
  *
  * @param string $url       полный url на картинку, может быть прямоугольной
  * @param string $extension расширение которое должно быть в результируеющем файле
  *
  * @return \cs\services\SitePath
  */
 public function setAvatarFromUrl($url, $extension = null)
 {
     if (is_null($extension)) {
         $info = parse_url($url);
         $pathinfo = pathinfo($info['path']);
         $extension = $pathinfo['extension'];
     }
     \Yii::info(\yii\helpers\VarDumper::dumpAsString($url), 'gs\\user');
     $image = new Image();
     $imageFileName = \Yii::getAlias('@runtime/temp_images');
     FileHelper::createDirectory($imageFileName);
     $imageFileName .= DIRECTORY_SEPARATOR . time() . '_' . Security::generateRandomString(10) . '.' . $extension;
     \Yii::info(\yii\helpers\VarDumper::dumpAsString($imageFileName), 'gs\\user');
     $image = $image->getImagine()->load(file_get_contents($url));
     $image = $this->expandImage($image, 300, 300, ManipulatorInterface::THUMBNAIL_OUTBOUND);
     $image->thumbnail(new Box(300, 300), ManipulatorInterface::THUMBNAIL_OUTBOUND)->save($imageFileName, ['format' => 'jpg', 'quality' => 100]);
     return $this->setAvatarAsContent(file_get_contents($imageFileName), $extension);
 }
示例#11
0
 /**
  * Добавляет запись генерируя код и возвращая его
  *
  * @param $id
  *
  * @return array
  * [
  * 'date_finish' => str,
  * 'code'        => str,
  * 'parent_id'   => int,
  * ]
  */
 public static function add($id)
 {
     $code = Security::generateRandomString(60);
     $fields = self::insert($id, $code);
     return $fields;
 }
示例#12
0
 /**
  * Регистрирует пользователей
  *
  * @param $email
  * @param $password
  *
  * @return static
  */
 public static function registration($email, $password)
 {
     $email = strtolower($email);
     $fields = ['email' => $email, 'password' => self::hashPassword($password), 'is_active' => 0, 'is_confirm' => 0, 'datetime_reg' => gmdate('YmdHis'), 'referal_code' => Security::generateRandomString(20)];
     \Yii::info('REQUEST: ' . \yii\helpers\VarDumper::dumpAsString($_REQUEST), 'gs\\user_registration');
     \Yii::info('Поля для регистрации: ' . \yii\helpers\VarDumper::dumpAsString($fields), 'gs\\user_registration');
     $user = self::insert($fields);
     $fields = RegistrationDispatcher::add($user->getId());
     \cs\Application::mail($email, 'Подтверждение регистрации', 'registration', ['url' => Url::to(['auth/registration_activate', 'code' => $fields['code']], true), 'user' => $user, 'datetime' => \Yii::$app->formatter->asDatetime($fields['date_finish'])]);
     return $user;
 }
示例#13
0
    /**
     * Рисует карту
     *
     * @param $options
     * - height    - int - ширина
     * - width     - int - высота
     * - id        - int - идентификатор, необязательно
     * - pointList - array [
     *                        [
     *                           'lat'          => float
     *                           'lng'          => float
     *
     *                           'name'         => str
     *                           'description'  => str
     *                           'url'          => str
     *                           'image'        => str - картинка
     *
     * 'html'         => str
     *                        ], ...
     *                     ]
     *
     * @return string
     */
    public function map($options)
    {
        if (isset($options['id'])) {
            $id = $options['id'];
        } else {
            $id = 'map-' . Security::generateRandomString(10);
        }
        \cs\assets\GoogleMaps::register($this->view);
        $this->view->registerCss(<<<CSS
#{$id} {
    width: {$options['width']}px;
    height: {$options['height']}px;
    margin: 0px;
    padding: 0px;
    margin-top: 10px;
    border-radius: 12px;
    border: 1px solid #ccc;
}
CSS
);
        $mapOptions = self::getMapOptions($options['pointList']);
        $zoom = $mapOptions['zoom'];
        $positionLat = $mapOptions['position']['lat'];
        $positionLng = $mapOptions['position']['lng'];
        $pointList = json_encode($options['pointList'], JSON_UNESCAPED_UNICODE);
        if (isset($options['pointList'][0]['description'])) {
            $this->view->registerJs(<<<JS
var pointList = {$pointList};
var map = new google.maps.Map(document.getElementById('{$id}'), {
    center: new google.maps.LatLng({$positionLat}, {$positionLng}),
    zoom: {$zoom}
});
\$.each(pointList, function(i,v) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(v.lat, v.lng),
        map: map
    });
    var contentString = '<h3>' + v.name + '</h3>';
    if (v.image != '') contentString += '<img src="'+v.image+'" height="100">';
    if (v.description != '') contentString += '<div style="display:block; margin-top:20px;">' + v.description + '</div>';
    if (v.url != '') contentString += '<a href="' + v.url + '" target="_blank" style="margin-top:20px;">' + v.url + '</a>';
    var infoWindow = new google.maps.InfoWindow({
      content: contentString
    });
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.open(map, marker);
    });
});

JS
);
        } else {
            $this->view->registerJs(<<<JS
var pointList = {$pointList};
var map = new google.maps.Map(document.getElementById('{$id}'), {
    center: new google.maps.LatLng({$positionLat}, {$positionLng}),
    zoom: {$zoom}
});
\$.each(pointList, function(i,v) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(v.lat, v.lng),
        map: map
    });
    var infoWindow = new google.maps.InfoWindow({
      content: v.html
    });
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.open(map, marker);
    });
});

JS
);
        }
        return Html::tag('div', null, ['id' => $id]);
    }
示例#14
0
 public function actionTime()
 {
     self::sendRequest('http://staging.capitalov.com/registration', ['Registration[email]' => Security::generateRandomString(10) . '@gmail.com', 'Registration[password1]' => '123', 'Registration[password2]' => '123']);
 }
示例#15
0
    $curr_code = $kod["{$curr}"]["c"];
    $nach = 14 + 7 * ($i - 1);
    for ($j = 1; $j < 8; $j++) {
        if (substr($curr_code, $j - 1, 1) == "1") {
            imagefilledrectangle($im, $nach + ($j - 1), 0, $nach + ($j - 1), $height - 10, $s);
        }
    }
    imagestring($im, 2, $nach + 1, 64, $curr, $s);
}
imagefilledrectangle($im, 98, 0, 98, $height - 5, $s);
imagefilledrectangle($im, 100, 0, 100, $height - 5, $s);
imagestring($im, 2, 0, 64, $first, $s);
// Выводим полученный код:
$f = new \cs\services\SitePath('/upload');
$f->addAndCreate('tempPng');
$f->add(\cs\services\Security::generateRandomString() . '.png');
imagepng($im, $f->getPathFull());
// в файл
$data = base64_encode(file_get_contents($f->getPathFull()));
$f->deleteFile();
imagedestroy($im);
?>
<table width="600" style="border: 1px solid #888;">
    <tr>
        <td>
            <img src="/images/mail/header.jpg" width="600">
        </td>
    </tr>
    <tr>
        <td style="padding: 0px 30px 30px 30px;">
            <p style="text-align: center;"><img src="/images/controller/site/ticket/hologram.gif" style="width: 200px;"></p>