Эксперт
					  
				 
			
			
			
			
				
					
				
			
			
				
					 
					Join Date: Oct 2007 
					Location: Moscow 
					
					
					
						Posts: 558
					 
					Версия vB: 5.x.x 
					Пол:    
					
					
					
					
					
					
						
						
							Reputation: 
								Expert 1283
							 
						
						
							Репутация в разделе: 1162 
						
					
					
					
					      
				 
						
							
							
							
							
							
						 
					 
				 | 
				
					
				
				
				
					
					
						
							 
							Как вставить события в чат vBShout Pro
						 
						
    
        
            0
            
        
    
					 
					 
					
				
				
				
					
					 
За вывод отвечает переменная:  $upcomingevents
Формируется она в index.php в строках с 170 по 432 (если не ошибаюсь) 
ее код
 Оффтоп
	PHP Code: 
	
		
			
// ### TODAY'S EVENTS ################################################# if ($vbulletin->options['showevents']) {     require_once(DIR . '/includes/functions_calendar.php');
      $future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options['showevents']);
      if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache['date'])     {         // Need to update!         $eventstore = build_events();         DEVDEBUG('Updated Events');     }     else     {         $eventstore = $vbulletin->eventcache;     }
      unset($eventstore['date']);     $events = array();     $eventcount = 0;     $holiday_calendarid = 0;
      foreach ($eventstore AS $eventid => $eventinfo)     {         $offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset'] : $vbulletin->userinfo['tzoffset'];         $eventstore["$eventid"]['dateline_from_user'] = $eventinfo['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;         $eventstore["$eventid"]['dateline_to_user'] = $eventinfo['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;         $gettime = TIMENOW - $vbulletin->options['hourdiff'];         $iterations = 0;         $todaydate = getdate($gettime);
          if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND $eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))         {             $sub = -3;         }         else if ($eventinfo['holidayid'])         {             $sub = -2;         }         else if ($eventinfo['singleday'])         {             $sub = -1;         }         else         {             $sub = $eventinfo['dateline_from_user'] - (86400 * (intval($eventinfo['dateline_from_user'] / 86400)));         }
          if ($vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR ($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))         {             if ($eventinfo['holidayid'] AND $vbulletin->options['showholidays'])             {                 if (!$holiday_calendarid)                 {                     $holiday_calendarid = -1; // stop this loop from running again in the future                     if (is_array($eventinfo['holiday_calendarids']))                     {                         foreach ($eventinfo['holiday_calendarids'] AS $potential_holiday_calendarid)                         {                             if ($vbulletin->userinfo['calendarpermissions']["$potential_holiday_calendarid"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'])                             {                                 $holiday_calendarid = $potential_holiday_calendarid;                                 break;                             }                         }                     }                 }
                  if ($holiday_calendarid < 0)                 {                     continue;                 }
                  $eventstore["$eventid"]['calendarid'] = $holiday_calendarid;                 $eventinfo['calendarid'] = $holiday_calendarid;             }
              if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))             {                 if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !$eventinfo['singleday'] AND cache_event_info($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))                 {                     $events["$eventid"][] = $gettime . "_$sub";                 }                 else                 {                     while ($iterations < $vbulletin->options['showevents'])                     {                         $addcache = false;
                          $todaydate = getdate($gettime);                         if ($eventinfo['holidayid'] AND $eventinfo['recurring'] == 6)                         {                             if ($eventinfo['recuroption'] == "$todaydate[mon]|$todaydate[mday]")                             {                                 $addcache = true;                             }                         }                         else if (cache_event_info($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))                         {                             $addcache = true;                         }
                          if ($addcache)                         {                             if (!$vbulletin->options['showeventtype'])                             {                                 $events["$eventid"][] = $gettime . "_$sub";                             }                             else                             {                                 $events["$gettime"][] = $eventid;                             }                             $eventcount++;                         }
                          $iterations++;                         $gettime += 86400;                     }                 }             }         }     }
      if (!empty($events))     {         if ($vbulletin->options['showeventtype'])         {             ksort($events, SORT_NUMERIC);         }         else         {             function groupbyevent($a, $b)             {                 if ($a[0] == $b[0])                 {                     return 0;                 }                 else                 {                     $values1 = explode('_', $a[0]);                     $values2 = explode('_', $b[0]);                     if ($values1[0] != $values2[0])                     {                         return ($values1[0] < $values2[0]) ? -1 : 1;                     }                     else                     {                         // Same day events. Check the event start time to order them properly (compare number of seconds from 00:00)                         return ($values1[1] < $values2[1]) ? -1 : 1;                     }                 }             }             uasort($events, 'groupbyevent');             // this crazy code is to remove $sub added above that ensures a event maintains its position after the sort             // if associative values are the same             foreach($events AS $eventid => $times)             {                 foreach ($times AS $key => $time)                 {                     $events["$eventid"]["$key"] = intval($time);                 }             }         }
          $upcomingevents = '';         foreach($events AS $index => $value)         {             $pastevent = 0;             $pastcount = 0;
              $comma = $eventdates = $daysevents = '';             if (!$vbulletin->options['showeventtype'])             {    // Group by Event // $index = $eventid                 $eventinfo = $eventstore["$index"];                 if (empty($eventinfo['recurring']) AND empty($eventinfo['singleday']))                 {    // ranged event -- show it from its real start and real end date (vbgmdate)                     $fromdate = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);                     $todate = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);                     if ($fromdate != $todate)                     {                         $eventdates = construct_phrase($vbphrase['event_x_to_y'], $fromdate, $todate);                     }                     else                     {                         $eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);                     }                     $day = vbdate('Y-n-j', $eventinfo['dateline_from_user'], false, false);                 }                 else                 {                     unset($day);                     foreach($value AS $key => $dateline)                     {                         if (($dateline - 86400) == $pastevent AND !$eventinfo['holidayid'])                         {                             $pastevent = $dateline;                             $pastcount++;                             continue;                         }                         else                         {                             if ($pastcount)                             {                                 $eventdates = construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent, false, true, false));                             }                             $pastcount = 0;                             $pastevent = $dateline;                         }                         if (!$day)                         {                             $day = vbdate('Y-n-j', $dateline, false, false, false);                         }                         $eventdates .= $comma . vbdate($vbulletin->options['dateformat'], $dateline, false, true, false);                         $comma = ', ';                     }                     if ($pastcount)                     {                         $eventdates = construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent, false, true, false));                     }                 }
                  if ($eventinfo['holidayid'])                 {                     $callink = '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . "</a>";                 }                 else                 {                     $callink = '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";                 }             }             else             {    // Group by Date                 $eventdate = vbdate($vbulletin->options['dateformat'], $index, false, true, false);
                  $day = vbdate('Y-n-j', $index, false, false, false);                 foreach($value AS $key => $eventid)                 {                     $eventinfo = $eventstore["$eventid"];                     if ($eventinfo['holidayid'])                     {                         $daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . "</a>";                     }                     else                     {                         $daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";                     }                     $comma = ', ';                 }             }
              ($hook = vBulletinHook::fetch_hook('forumhome_event')) ? eval($hook) : false;             eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');         }         // memory saving         unset($events, $eventstore);     }     $show['upcomingevents'] = iif ($upcomingevents, true, false);     $show['todaysevents'] = iif ($vbulletin->options['showevents'] == 1, true, false); } else {     $show['upcomingevents'] = false; } 
 
		
	 
  
Пробовал вставлять в шаблон чата  inferno_shoutbox_box не канает. 
Пробовал добавлять в  infernoshout.php в $globaltemplates = array(
 forumhome_event
его код:
 
	PHP Code: 
	
		
			
<div> <if condition="!$vboptions['showeventtype']">     $callink: $eventdates <else />     $eventdate: $daysevents </if> </div> 
 
		
	 
 Тоже нифига.
 Как вставить события в чат vBShout Pro 2.5.2 Rus?
Лишний запрос не хочу лепить. Т.к внизу форума вообще не нужны события. Теоретически и практически хочется перенести всё в чат.
				  
				
				
				
				
				
				
				
			 |