Вчера вечером, был пост, где человек хочет отфильтровать по оператору '<>'. Казалось, всё просто, но система втыка, не дала свой результат. Меня стала мучить мысля… что, не так, вскрыв getResources, я заметил, что в tvFilters '==' — это не оператор, а разделитель.
Иногда, (в данной ситуации у меня возникла необходимость) нужно вывесть картинку или любой тег в зависимости от версии браузера. В данный момент мне нужно было вывести в IE6 картинку без тени. Можно было имено для ослика 6 написать, но написал более расширенный снипет, может кому пригодиться.
<?php
$SearchString = isset($_REQUEST['search'])?$_REQUEST['search']:'';
$result = '';
if ($SearchString!='') {
$SearchString = mb_strtolower($SearchString,$modx->config['modx_charset']);
$matches = array();
if (preg_match('/\S+\s+футов/',$SearchString,$matches)) {
$SizeString = $matches[0];
$result='pagetitle,'.$SizeString.',9';
}
}
return $result;
?>
[!AjaxSearch? .... &filter=`[!ASFilter!]`!]
<?php
global $modx;
$modx->db->connect();
$pid = $modx->documentIdentifier;;
$ip=$_SERVER['REMOTE_ADDR'];
if($_GET['id'])
{
if((is_numeric($_GET['id'])) and ($_GET['id'] > 0)){
$id=$_GET['id'];
$ip_sql=mysql_query("SELECT ip_add FROM image_IP WHERE img_id_fk='$id' AND ip_add='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0)
{
$sql = "UPDATE modx_maxigallery SET love=love+1 WHERE id='$id'";
mysql_query( $sql);
$sqlin = "insert into image_IP (ip_add,img_id_fk) values ('$ip','$id')";
mysql_query( $sqlin);
$modx->webAlert('Спасибо за Ваш голос','[~'.$pid.'~]');
}
else
{
$modx->webAlert('Вы уже голосовали за это Фото','[~'.$pid.'~]');
}
}
else
{
$modx->webAlert('Что то Вы запрос ручками поменяли!','[~'.$pid.'~]');
}
}
?>CREATE TABLE image_IP(
ip_id INT PRIMARY KEY AUTO_INCREMENT,
img_id_fk INT,
ip_add VARCHAR(40),
FOREIGN KEY(img_id_fk)
REFERENCES modx_maxigallery(id));[+maxigallery.embedtype:is=``:then=`
<a href="[+maxigallery.picture_link_url+]">
`+]
<img src="[(base_url)][+maxigallery.path_to_gal+]tn_[+maxigallery.picture.filename+]" class="thumbnail" title="[+maxigallery.picture.title:htmlent+] [+maxigallery.strings.click_to_zoom+]" alt="[+maxigallery.picture.title:htmlent+] [+maxigallery.strings.click_to_zoom+]" />
</a>[+maxigallery.embedtype:is=``:then=`
<div>
<div class="box" align="left">
<a href="[~[*id*]~]?id=[+maxigallery.picture.id+]" class="love" id="[+maxigallery.picture.id+]">
<span class="on_img" align="left"> [+maxigallery.picture.love+] </span>
</a>
</div>
`+]
<img src="[(base_url)][+maxigallery.path_to_gal+]tn_[+maxigallery.picture.filename+]" class="thumbnail" />
</div>.box
{
background-color:#303030; padding:6px;
height:17px;
}
.on_img
{
background-image:url(http://test.finessco.hdd1.ru/on.gif);
background-repeat:no-repeat;
padding-left:35px;
cursor:pointer;
width:60px;
}
.over_img
{
background-image:url(http://test.finessco.hdd1.ru/over.gif);
background-repeat:no-repeat;
padding-left:35px;
cursor:pointer;
width:60px;
}||[!MaxiGallery? &display=`normal` &pics_per_row=`2` &max_thumb_size=`310` &max_pic_size=`0` &thumb_use_dropshadow=`1` &pic_use_watermark=`0` ?=`ru` !][!imagevote!]//redirect the user to the dutch pages
$sl = 0;
$ssl = 'full';
if($http)$ssl = $$http;
if($sleep)$sl = $sleep;
header('Refresh: '.$sl.'; URL='.$modx->makeUrl($id, '', '', $ssl));<?php
$modx->db->connect();
if ( !isset( $_GET['action'] ) ) $_GET['action'] = 'showInBox';
$actions = array( 'showInBox',
'showOutBox',
'sendMsgForm' );
if ( !in_array( $_GET['action'], $actions ) ) $_GET['action'] = 'showInBox';
switch ( $_GET['action'] )
{
case 'showInBox':
$content = showInBox( $pageTitle );
break;
case 'showOutBox':
$content = showOutBox( $pageTitle );
break;
case 'sendMsgForm':
$content = sendMsgForm( $pageTitle );
break;
default:
$content = showInBox();
}
$menu = getMainMenu();
$html = file_get_contents( 'p.html' );
$html = str_replace( '{menu}', $menu, $html );
$html = str_replace( '{content}', $content, $html );
echo $html;
function getMainMenu()
{
$html = '<table>'."\n";
$html = $html.'<tr valign="left">'."\n";
$html = $html.'<td width="100px"><a class="header" href="?action=showInBox">Входящие</a> </td>'."\n";
$html = $html.'<td width="100px"><a class="header" href="?action=showOutBox">Исходящие</a></td>'."\n";
$html = $html.'<td width="200px"><a class="header" href="?action=sendMsgForm">Отправить сообщение</a></td>'."\n";
$html = $html.'</tr>'."\n";
$html = $html.'</table>'."\n";
echo $html;
}
function showInBox()
{
global $modx;
$toUser = $modx->getLoginUserName();
$toUserid = $modx->getLoginUserID();
$res=mysql_query("SELECT * FROM `messages` WHERE to_user = '".$toUser."' AND id_rmv!='".$toUserid."' ");
echo "<table border=\"1\" cellpadding=\"10\" cellspacing=\"0\">
<tr style=\'border: solid 1px #000\'>
<td><b>Кому</b></td>
<td align=\"center\"><b>От кого</b></td>
<td align=\"center\" width=\"80px\"><b>Когда</b></td>
<td align=\"center\"><b>Тема сообщения</b></td>
<td align=\"center\"><b>Сообщение</b></td>
<td align=\"center\"><b>Статус</b></td>
<td align=\"center\"><b>Удалить</b></td>
</tr>";
while($row=mysql_fetch_array($res))
{
if ($row['viewed'] == 0)
{
$stat = 'Новое';
}else{
$stat = 'Прочитанное';
}
$html = $html. "<tr>\n";
$html = $html. "<td width='80px'>".$row['to_user']."</td>\n";
$html = $html. '<td width="80px"><a href="'.'?action=sendMsgForm&toUser='.$row['from_user'].'&subject='.$row['subject'].'">'.$row['from_user'].'</a></td>'."\n";
$html = $html. "<td width='140px'>".$row['sendtime']."</td>\n";
$html = $html. '<td width="115px"><a href="'.'?idMs='.$row['id_msg'].'" >'.$row['subject'].'</a></td>'."\n";
$html = $html. "<td width='405px'>".$row['message']."</td>\n";
$html = $html. "<td width='80px'>".$stat."</td>\n";
$html = $html.'<td align="center"><a href="?action=showInBox&deleteMsg&idMsg='.$row['id_msg'].'">Удалить</a></td>'."\n";
$idMsg = $_GET['idMsg'];
if ( $row['id_rmv'] == 0 )
$query1 = "UPDATE `messages` SET id_rmv=".$toUserid." WHERE id_msg=".$idMsg;
else
$query1 = "DELETE FROM `messages` WHERE id_msg=".$idMsg;
$res1 = mysql_query( $query1 );
}
$html = $html. ("</table>\n");
$idM = $_GET['idMs'];
if ( $row['viewed'] != 1 ) {
$query = "UPDATE `messages` SET viewed=1 WHERE id_msg=".$idM;
mysql_query( $query );
}
echo $html;
}
function showOutBox()
{
global $modx;
$fromUser = $modx->getLoginUserName();
$fromUserid = $modx->getLoginUserID();
$res = mysql_query("SELECT * FROM `messages` WHERE from_user = '".$fromUser."' AND id_rmv!='".$fromUserid."' ");
echo "<table border=\"1\" cellpadding=\"10\" cellspacing=\"0\">
<tr style=\'border: solid 1px #000\'>
<td align=\"center\"><b>От кого</b></td>
<td><b>Кому</b></td>
<td align=\"center\"><b>Когда</b></td>
<td align=\"center\"><b>Тема сообщения</b></td>
<td align=\"center\"><b>Сообщение</b></td>
<td align=\"center\"><b>Статус</b></td>
<td align=\"center\"><b>Удалить</b></td>
</tr>";
while($row = mysql_fetch_array($res))
{
if ($row['viewed'] == 0)
{
$stat = 'Ожидает';
}else{
$stat = 'Прочитанно';
}
$html = $html. "<tr>\n";
$html = $html. "<td width='80px'>".$row['from_user']."</td>\n";
$html = $html. "<td width='80px'>".$row['to_user']."</td>\n";
$html = $html."<td width='140px'>".$row['sendtime']."</td>\n";
$html = $html. "<td width='115px'>".$row['subject']."</td>\n";
$html = $html."<td width='405px'>".$row['message']."</td>\n";
$html = $html. "<td width='80px'>".$stat."</td>\n";
$html = $html.'<td align="center"><a href="?action=showOutBox&deleteMsg&idMsg='.$row['id_msg'].'">Удалить</a></td>'."\n";
$idMsg = $_GET['idMsg'];
if ( $row['id_rmv'] == 0 )
$query2 = "UPDATE `messages` SET id_rmv=".$fromUserid." WHERE id_msg=".$idMsg;
else
$query2 = "DELETE FROM `messages` WHERE id_msg=".$idMsg;
$res2 = mysql_query( $query2 );
}
$html = $html. ("</table>\n");
echo $html;
}
function sendMsgForm()
{
global $modx;
$from = $modx->getLoginUserName();
$fromid = $modx->getLoginUserID();
$to = $_POST[toUser];
$subject = $_POST[subject];
$message = $_POST[message];
if ( empty( $_POST['toUser'] ) or
empty( $_POST['subject'] ) or
empty( $_POST['message'] ) )
{
$text = ($_GET['toUser']);
$text1 = ($_GET['subject']);
echo '<form action="" method="POST" name="sendMessageForm" id="sendMessageForm">
<table class="showTable">
<tr>
<td colspan="2"><b>Отправить личное сообщение</b></td>
</tr>
<tr>
<td>Для пользователя:</td>
<td><input style="width: 300px;" maxlength="60" name="toUser" type="text" value="'.$text.'" /></td>
</tr>
<tr>
<td>От пользователя:</td>
<td>
'.$from.'
</td>
</tr>
<tr>
<td>Заголовок сообщения:</td>
<td><input type="text" name="subject" maxlength="60" value="'.$text1.'" style="width:300px" /></td>
</tr>
<tr>
<td>Сообщение</td>
<td>
<textarea name="message" cols="40" rows="5" ></textarea>
<input type="submit" name="submitForm" value="Отправить" />
</td>
</tr>
</table>
</form>';
}
else
{
$query = "INSERT INTO messages (to_user, from_user, sendtime, subject, message, id_rmv, viewed) VALUES ('$to', '$from', NOW(), '$subject', '$message', '0', '0')";
$res = mysql_query( $query );
echo "Сообщение успешно отправленно!";
}
}
?>CREATE TABLE IF NOT EXISTS `messages` (
`id_msg` int(10) unsigned NOT NULL AUTO_INCREMENT,
`to_user` varchar(50) NOT NULL,
`from_user` varchar(50) NOT NULL,
`sendtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`subject` varchar(255) NOT NULL DEFAULT '',
`message` text NOT NULL,
`id_rmv` int(10) NOT NULL DEFAULT '0',
`viewed` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_msg`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;<div align="left">
{menu}
</div>
<div align="left">
{content}
</div>
<?php
if (!isset($id)) $id = $modx->documentIdentifier;
if (!is_dir($modx->config['base_path'].'assets/mp3/'.$id)) {return false;}
$i=0;
foreach (glob($modx->config['base_path']."assets/mp3/$id/*.{mp3}", GLOB_BRACE) as $sTmp1) {
$aRow1[] = '<div id="audioplayer'.($i+1).'"></div> '.basename($sTmp1).'
<script type="text/javascript">
var flashvars = {"uid":"audioplayer'.($i+1).'","st":"audio12-837.txt","file":"[(base_url)]assets/mp3/'.$id.'/'.basename($sTmp1).'"};
var params = {id:"audioplayer'.($i+1).'",allowScriptAccess:"always"};
new swfobject.embedSWF("uppod.swf", "audioplayer'.($i+1).'", "400", "35", "9.0.115", false, flashvars, params);
</script>
';
$i++;
}
if (is_array($aRow1)) {
echo 'Альбом: ';
echo '<strong>';
echo '[*pagetitle*] |   ';
echo '</strong>';
echo 'Песен в альбоме: ';
echo '<strong>';
echo count($aRow1) ;
echo '</strong>';
echo ' штук';
echo '
';
echo '<hr>';
return implode('', $aRow1);
}
?><script language="JavaScript" src="js/uppod_player.js"></script>
<script language="JavaScript" src="js/swfobject.js"></script><?php
if (!isset($id)) $id = $modx->documentIdentifier;
if (!is_dir($modx->config['base_path'].'assets/images/'.$id)) {return false;}
// получаем список файлов
foreach (glob($modx->config['base_path']."assets/images/$id/*.{jpeg,jpg,gif,png}", GLOB_BRACE) as $sTmp) {
$aRow[] = '<li><a href="[(base_url)]assets/images/'.$id.'/'.basename($sTmp).'"><img src="[(base_url)]assets/images/'.$id.'/'.basename($sTmp).'"></a><span>'.basename($sTmp).'</span></li>';
}
if (is_array($aRow)) {
return implode('', $aRow);
}
?><link type="text/css" href="gallery.css" rel="stylesheet" />
<script type='text/javascript' src='js/jquery.js'></script>
<script type="text/javascript" src="js/jquery.pikachoose.js"></script>
<script type="text/javascript" src="js/jquery.jcarousel.min.js"></script>
<script language="javascript">
<!--
$(document).ready(
function (){
$("#pikame").PikaChoose();
$("#pikame").jcarousel({scroll:4,
initCallback: function(carousel)
{
$(carousel.list).find('img').click(function() {
//console.log($(this).parents('.jcarousel-item').attr('jcarouselindex'));
carousel.scroll(parseInt($(this).parents('.jcarousel-item').attr('jcarouselindex')));
});
}
});
});
-->
</script><div class="pikachoose">
<ul id="pikame" class="jcarousel-skin-pika">
[!Gallery!]
</ul>
</div>