/** * Initializes the widget. */ public function init() { if (!$this->id) { $this->id = 'w_' . Security::generateRandomString(); } $this->varName = 'graph_' . Security::generateRandomString(); }
/** * Добавляет заявку в диспечер для слежения. * Если запись уже была добавлена то она обновляется * * @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; }
/** * загружает картинки в 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}');"); }
/** * Добавляет запрос на добавление услуги * * @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(); } }
/** * Добавляет заявку в диспечер для слежения * * @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; }
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']); }
/** * Устанавливает новый аватар из адреса интернет * * @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); }
/** * Добавляет запись генерируя код и возвращая его * * @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; }
/** * Регистрирует пользователей * * @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; }
/** * Рисует карту * * @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]); }
public function actionTime() { self::sendRequest('http://staging.capitalov.com/registration', ['Registration[email]' => Security::generateRandomString(10) . '@gmail.com', 'Registration[password1]' => '123', 'Registration[password2]' => '123']); }
$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>