Экшены в VQS
Инфо
Документация доступна на странице Как создать Action
Задачи для самостоятельного решения тут
Примеры
Экш, приветствующий авторизованных пользователей
<?
if ( $this->GetUser() ){
$name = $this->AddSpaces($this->GetUserName());
echo "Привет, $name";
} else {
echo 'Войдите в систему';
}
AJAX и виртуальные формы
Информация по AJAX и виртуальным формам доступна в документации.
Вводится текст. Найти и вывести самое длинное слово.
Вывести исходный текст, подчеркнув самое длинное слово.
<?
echo '<div id="longword">';
echo $this->StartVirtual();
echo $this->ajxFormOpen("edit","","longword");
echo $this->vfrmField("text","textarea","");
echo '<input type="submit" value="Send">';
echo $this->FormClose();
$text = $_REQUEST['text'];
$words = explode(' ', $text);
/*
foreach ($words as $word){
if ( strlen($word) >= $maxLen ){
$maxWord = $word;
$maxLen = strlen($word);
}
}
echo 'Самое длинное слово: '.$maxWord.'<br />';
echo 'Его длина: '.$maxLen;
*/
for ($i = 0; $i < count($words); $i++){
if ( strlen($words[$i]) >= $maxLen ){
$maxWordIndex = $i;
$maxLen = strlen($words[$i]);
}
}
$words[$maxWordIndex] = '<u>'.$words[$maxWordIndex].'</u>';
$text = implode(' ', $words);
echo $text;
echo $this->FinishVirtual('longword');
echo '</div>';
?>
Cookies
hello.php
<?
$olddate = $this->GetCookie("lastvis");
if ($olddate){
$lastvis = $olddate;
}else{
$lastvis = "впервые";
}
$date = date("G:i j-m-Y");
$this->SetSessionCookie("lastvis", $date);
$user = $this->AddSpaces($this->GetUserName());
$hello = $this->Format($hello);
echo "<b>$hello, $user!</b><br />\n";
echo "Последний раз вы были у нас $lastvis<br />";
echo "Сейчас вы на странице ".$this->GetPageTag();
?>