touch /path/to/your/website/protected/assets
App.lang = 'ru'; // app = вымышленный объект
<span class="client__title" data-translate="client_title"></span>
$(function() {
var file = '/locale/' + App.lang + '.json';
// Тут предположим, что response = есть содержимое файла
$.get(file).then(function (response) {
// Идем по всем файлам и заменяем контент
$('[data-translate]').each(function () {
var $elem = $(this),
locKey = $elem.data('translate');
// Если ключ найден
if (response[locKey]) {
$elem.html(response[locKey]);
}
});
});
});
<?php
// PSR-1, PSR-2, PSR-4 Читаем и пользуем!
// namespace все дела... "Model_admin" - это прошлое.
// phpDocumentor - твой друг, прописывай всюду типы данных
class Model_admin extends Model
{
// Лишний перевод строки
private $name;
private $password;
private $code;
private $mail;
// Не информативное название. get model admin... что бы это значило...
public function get($login, $password) {
// Где проверка аргумантов? Влететь может что угодно
$this->name = $login;
$this->password = $password;
// Модель НЕ должна управлять подключением к БД, это должно выполняться выше в коде
$this->db_connect();
// Код вообще проверялся?)) у вас закрывающей строки нет.
$result = msql_query("SELECT 'login', 'password', 'mail' FROM 'admin_authorization'";
// сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
$arr = mysql_fetch_array($result);
// Зачем нужен цикл, это дро*ба БД!!! Вытягиваете одну запись по логину и проверяете соответствует ли пароль
do {
// Лишний перевод строки
if ($login === $arr['login']) {
// Лишний перевод строки
if (
md5( md5( trim( $password ))) === $arr['password']
) {
$this->mail = $arr['mail'];
$this->random_code();
// Перед return лучше делать перевод строки
return true;
}
// Лишний перевод строки
}
// сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
// Присваивание в условиях управляющих кнострукций лучше не делать, это операции разного характера
} while ($arr = mysql_fetch_array($res));
return false;
// Лишний перевод строки
}
private function random_code($length = 15) {
// Где проверка аргумантов? Влететь может что угодно
$symbols = '0123456789abcdefghijklmnopqrstuvwxyz_-~!+*%$#&';
for ($i = 0; $i < (int)$length; $i++)
{
$num = rand (1, strlen ($symbols));
$this->code .= substr ($symbols, $num, 1);
}
// сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
$bool_update = mysql_query('UPDATE "admin_authorization" SET code="'.$this->code.'" WHERE login="'.$this->name.'"');
// Вот так писать плохо, всегда используйте фигурные скобки.
if ($bool_update) $this->send_code();
// Лишний перевод строки
}
private function send_code() {
// Модель НЕ должна отправлять письма, под отправку обычно пишется отдельная подсистема/сервис
mail ($this->mail, "Admin code", $this->code);
}
public function check_code($user_code) {
// Где проверка аргумантов? Влететь может что угодно
// SQL инъекция!!!!
// сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
$this->code = mysql_query("SELECT 'code' FROM admin_authorization WHERE code='".$user_code."'");
// Вот так писать плохо, всегда используйте фигурные скобки.
if ($this->code != '') return true;
}
// Лишний перевод строки
}
use app\assets\PostAsset;
PostAsset::register($this); // $this - представляет собой объект представления
Начал изучать вакансии и вижу, что предлагается от 25-35 тысяч для джуна (прикинул, что это на год-два), затем миддл (думаю около 60-70 тыс года на 3-5).
БД, C#, Java, JS, PHP
женат, ребёнок; мне 27, кстати ... Но времени на это "хобби" катастрофически не хватает.
Еще на одном портале с вакансиями полистал резюме чужие, у многих смена мест работы каждые 2-6 месяцев и таких мест у людей от 5
Расскажите, господа программисты, что меня может ждать?