Johncms 6.x.x вопросы новичка

5.1K
.

xames10,

ошибка такая
Parse error: syntax error, unexpected '[' in Z:\home\james\sub\incfiles\classes\functions.php on line 197
Вот это говорит о том, что у тебя версия PHP на хосте ниже версии 5.4.

Если есть такая возможность, то подними версию PHP до 5.4, и тогда ошибка исчезнет.
Ну а если нет возможности сменить версию PHP, тогда надо переписать объявления массивов в моём коде.
.

xames10, вот так должен работать на твоём хосте:

PHP <= 5.3 (+/-)
public static function display_date($times)
{
    $pl = function ($int, $arr) {
        if ($int > 10 && $int < 15) {
            $out = ' '. $arr[2];
        } elseif (($int % 10) == 1) {
            $out = ' '. $arr[0];
        } elseif (($int % 10) > 1 && ($int % 10) < 5) {
            $out = ' '. $arr[1];
        } else {
            $out = ' '. $arr[2];
        }
 
        return $int . $out;
    };
 
    $time = time();
    $label = $time - $times;
 
    $shift = (self::$system_set['timeshift'] 
            + self::$user_set['timeshift']) * 3600;
 
    $w = 'секунд';
    $arrSec = array($w .'у', $w .'ы', $w);
    $w = 'минут';
    $arrMin = array($w .'у', $w .'ы', $w);
    $back = ' назад';
 
    if ($label == 0) {
        $timesp = 'Только что';
    } elseif ($label < 60) {
        $timesp = $pl($label, $arrSec) . $back;
    } elseif ($label < 3600) {
        $timesp = $pl(intval($label / 60), $arrMin) . $back;
    } else {
        $today = date('j M Y', $time + $shift);
        $yesterday = date('j M Y', strtotime('-1 day'));
        $timesp = date('j M Y в H:i', $times + $shift);
        $timesp = str_replace($today, 'Сегодня', $timesp);
        $timesp = str_replace($yesterday, 'Вчера', $timesp);
        $timesp = strtr(
            $timesp, 
            array(
                'Jan' => 'Янв',
                'Feb' => 'Фев',
                'Mar' => 'Марта',
                'May' => 'Мая',
                'Apr' => 'Апр',
                'Jun' => 'Июня',
                'Jul' => 'Июля',
                'Aug' => 'Авг',
                'Sep' => 'Сент',
                'Oct' => 'Окт',
                'Nov' => 'Ноября',
                'Dec' => 'Дек'
            )
        );
    }
 
    return $timesp;
}
.

ДоХтор, спасибо вам код работает

.

ДоХтор,

$quiz = '1';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news` WHERE `refid`='$quiz'"), 0);
echo '<div class="phdr"><b>Викторины сайта</b></div>';

$req = mysql_query("SELECT `id`, `name`, `img`, `text`, `time`, `user_id`, `refid`, `count` FROM `cms_news` where `refid` = '" . $quiz . "' ORDER BY `time` DESC LIMIT " . $start . ",". 5);
$i = 1;
while (($row = mysql_fetch_assoc($req)) !== false) {

$us = mysql_query("SELECT `id`, `name` FROM `users` WHERE `id` = '{$row['user_id']}'");
if (mysql_num_rows($us)) {
$rowuse = mysql_fetch_assoc($us);
$name_use = $user_id ? '<a href="../users/profile.php?user=' . $rowuse['id'] . '"><b>' . $rowuse['name'] . '</b></a>' : $rowuse['name'];
 
 
} else {
$name_use = $lng['guest'];
}

echo '<div class="chats"><table><tr><td rowspan=2 style="width: 65px;">';
if(!empty($row['img'])) {
			echo'<img src="'.$row['img'].'"  width="60" height="60" style="border-radius: 59px; border: 3px solid whitesmoke;" alt="loyiha"/>';}else{
echo'<img src="'.$home.'/images/site_icons/home_news.png" width="60" height="60" style="border-radius: 59px; border: 3px solid whitesmoke;" alt="loyiha"/>';}
echo'</td>';
echo'<td><a href="' . $set['homeurl'] . '/news/index.php?act=view&amp;id=' . $row['id'] . '"> ' . htmlentities($row['name'], ENT_QUOTES, 'UTF-8') . '</a> <img src="'.$home.'/images/site_icons/izoh.png" width="16" height="16" alt="fikrlar"/> ' . mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_comments` WHERE `refid`='" . $row['id'] . "'"), 0) . '</td></tr>';
echo ' <tr><td><span class="jamoa"><img src="'.$home.'/images/site_icons/add_author.png" width="14" height="14" alt="yangilik avtori"/> '.$name_use . '&nbsp;&nbsp;<img src="'.$home.'/images/site_icons/date.png" width="14" height="14" alt="sana"/> ' . date('d.m.y , H:i', $row ['time']) . '&nbsp;&nbsp;<img src="'.$home.'/images/site_icons/view.png" width="14" height="14" alt="views"/>'. $row['count'] .'</span></td></tr></table>';
echo'</div>';
  $i;
}
echo '<div class="menu"><a href="'.$home.'/news/index.php?id='.$quiz.'">»Все викторины сайта</a> ('.$count.')</div>';


как использовать $timesp на этот код
.

xames10, я не понимаю вопроса... Вернее, что требуется получить в результате.

.
xames10

ДоХтор, В этом коде время выглядить 21.05.17 , 15:06 так , как я заменить это на 23минуты назад итд.

Для этого Как изменить этот код ' . date('d.m.y , H:i', $row ['time']) . '

.
Добавлено: 21.05.2017 / 18:35
# xames10 (21.05.2017 / 18:29)
ДоХтор, В этом коде время выглядить 21.05.17 , 15:06 так , как я заменить это на 23минуты назад итд.

Для этого Как изменить этот код ' . date('d.m.y , H:i', $row ['time']) . '
Теперь понятно. Надо в нужных местах записать functions::display_date(/*тут метка времени*/);

Добавлено: 21.05.2017 / 18:36
Сейчас просмотрю где это нужно записать.
.

xames10, попробуй так

* (+/-)
$quiz = '1';
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news` WHERE `refid`='$quiz'"), 0);
echo '<div class="phdr"><b>Викторины сайта</b></div>';
 
$req = mysql_query("SELECT `id`, `name`, `img`, `text`, `time`, `user_id`, `refid`, `count` FROM `cms_news` where `refid` = '" . $quiz . "' ORDER BY `time` DESC LIMIT " . $start . ",". 5);

$i = 1;

while (($row = mysql_fetch_assoc($req)) !== false) {
    $us = mysql_query("SELECT `id`, `name` FROM `users` WHERE `id` = '{$row['user_id']}'");

    if (mysql_num_rows($us)) {
        $rowuse = mysql_fetch_assoc($us);
        $name_use = $user_id ? '<a href="../users/profile.php?user=' . 
            $rowuse['id'] . '"><b>' . $rowuse['name'] . '</b></a>' : $rowuse['name'];
    } else {
        $name_use = $lng['guest'];
    }
     
    echo '<div class="chats"><table><tr><td rowspan=2 style="width: 65px;">';
    
    if (!empty($row['img'])) {
    	echo'<img src="'.$row['img'].'"  width="60" height="60" style="border-radius: 59px; border: 3px solid whitesmoke;" alt="loyiha"/>';}else{
    echo'<img src="'.$home.'/images/site_icons/home_news.png" width="60" height="60" style="border-radius: 59px; border: 3px solid whitesmoke;" alt="loyiha"/>';}
    echo'</td>';
    echo'<td><a href="' . $set['homeurl'] . '/news/index.php?act=view&amp;id=' . $row['id'] . '"> ' . htmlentities($row['name'], ENT_QUOTES, 'UTF-8') . '</a> <img src="'.$home.'/images/site_icons/izoh.png" width="16" height="16" alt="fikrlar"/> ' . mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_comments` WHERE `refid`='" . $row['id'] . "'"), 0) . '</td></tr>';
    echo ' <tr><td><span class="jamoa"><img src="'.$home.'/images/site_icons/add_author.png" width="14" height="14" alt="yangilik avtori"/> '.$name_use . '&nbsp;&nbsp;<img src="'.$home.'/images/site_icons/date.png" width="14" height="14" alt="sana"/> ' . functions::display_date($row['time']) . '&nbsp;&nbsp;<img src="'.$home.'/images/site_icons/view.png" width="14" height="14" alt="views"/>'. $row['count'] .'</span></td></tr></table>';
    echo'</div>';
    ++$i;
}
echo '<div class="menu"><a href="'.$home.'/news/index.php?id='.$quiz.'">»Все викторины сайта</a> ('.$count.')</div>';
.
xames10
Добавлено: 21.05.2017 / 18:48
ДоХтор, Все работает большое спасибо вам за помощь!

Добавлено: 22.05.2017 / 16:23
Это код дата добавление матча
<input type='text' name='d' size='2'/><input type='text' name='m' value='".date("m")."' size='2'/><input type='text' name='y' value='".date("Y")."' size='4'/>
<br/>Время:<br/><input type='text' name='h' size='2'/>:<input type='text' name='i' size='2'/>


Как я положить дата и время добавление матчи (похож на 22.05.2017 16:18) на sql код:

mysql_query("INSERT INTO `manager_log` SET 
`turnir` = '$_POST[turn]',
`userid` = '$user_id',
`set` = 'addmatch',
`clubs` = '{$a1['name']}-{$a2['name']} итд',
`date` = 'здесь положит пост  дата и время  добавление матчи '
");
.
Добавлено: 25.05.2017 / 13:55
xames10,
<input type='text' name='dat' />


$dat = intval(strtotime($_POST['dat'])); //Твоя дата

mysql_query("INSERT INTO `manager_log` SET 
`turnir` = '$_POST[turn]',
`userid` = '$user_id',
`set` = 'addmatch',
`clubs` = '{$a1['name']}-{$a2['name']} итд',
`date` = '".$dat."'
");


Добавлено: 25.05.2017 / 15:07
в инпут соответственно вводить дату в формате 22.05.2017 16:18
Всего: 100