Перейти к содержимому


Квэнди



Ищем талантливых PHP программистов, за достойное вознаграждение =)

Написано Kvendi, 23 Сентябрь 2011 · 2 167 Просмотров
PHP, HH
Обязанности:
  • участие в разработке новых проектов Компании и поддержке существующих;
  • участие в развитии внутренних систем компании;
  • взаимодействие с командой проекта;
  • создание web-интерфейсов для сложных программных систем;
  • написание программного кода, оптимизация запросов.

Требования:
  • отличное знание PHP5;
  • опыт применения шаблонов проектирования;
  • опыт работы с Javascript, CSS;
  • высшее образование;
  • опыт работы в данной сфере не менее 2 лет;
  • умение писать SQL-запросы;
  • преимуществом будет опыт работы с различными СУБД и знание XSLT, XPath;
  • наличие успешных и работающих в сети проектов;
  • общее понятие о Web-программировании (безопасность, эффективность, корректность).

Условия:
  • график работы: полный рабочий день.
  • оформление по ТК РФ.
  • конкурентная заработная плата, компенсация обедов, широкая премиальная система.
  • перспективы карьерного и зарплатного роста.
  • социальный пакет‚ оплата больничных листов, отпусков.
  • адекватное руководство, дружелюбный коллектив, интересные задачи.
  • работа в современном удобном офисе (ст. м. Алексеевская или м.ВДНХ).
зп 80-100
пишите! ))


Перлы Delphi

Написано Kvendi, 11 Февраль 2009 · 1 620 Просмотров

не мог не поделиться. Через 8 лет активного писания в этой среде сегодня обратил внимание что функция booltostr, конвертирующая, соответственно boolean в string, встроенная в VCL возвращает странные результаты:
true='-1'
false='0'
посмотрел исходник этой функции и долго ржал... потом стало весьма грустно.....
var
  TrueBoolStrs: array of String;
  FalseBoolStrs: array of String;

const
  DefaultTrueBoolStr = 'True';   // DO NOT LOCALIZE
  DefaultFalseBoolStr = 'False'; // DO NOT LOCALIZE
.............
procedure VerifyBoolStrArray;
begin
  if Length(TrueBoolStrs) = 0 then
  begin
	SetLength(TrueBoolStrs, 1);
	TrueBoolStrs[0] := DefaultTrueBoolStr;
  end;
  if Length(FalseBoolStrs) = 0 then
  begin
	SetLength(FalseBoolStrs, 1);
	FalseBoolStrs[0] := DefaultFalseBoolStr;
  end;
end;
function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
const
  cSimpleBoolStrs: array [boolean] of String = ('0', '-1');
begin
  if UseBoolStrs then
  begin
	VerifyBoolStrArray;
	if B then
	  Result := TrueBoolStrs[0]
	else
	  Result := FalseBoolStrs[0];
  end
  else
	Result := cSimpleBoolStrs[b];
end;
как- то после этого сразу исчезло желание ругать горе- программистов за качество кода.... если уж авторы Delphi такое творят...


Блок "кто в чате" (ElfChat) на главной странице формуа

Написано Kvendi, 11 Апрель 2008 · 2 109 Просмотров

1. В файле /sources/action_public/boards.php:
найти:
//-----------------------------------------
		// Showing who's chatting NEW?
		// IPB3.0: To Do: move into components
		//-----------------------------------------
		
		if ( $this->ipsclass->vars['chat04_account_no'] and $this->ipsclass->vars['chat04_who_on'] )
		{
			require_once( ROOT_PATH.'sources/lib/func_chat.php' );
			
			$chat		   =  new func_chat();
			$chat->ipsclass =& $this->ipsclass;
			
			$chat->register_class( $this );
			
			$chat_html = $chat->get_online_list();
			
			$this->output = str_replace( "<!--IBF.WHOSCHATTING-->", $chat_html, $this->output );
		}
Заменить на:
//-----------------------------------------
		// Showing who's chatting NEW?
		// IPB3.0: To Do: move into components
		//-----------------------------------------
		global $DB, $std, $ibforums;

		$this->ipsclass->DB->query("SELECT COUNT(*) AS count FROM elfchat_users");
		
		$cactive = $this->ipsclass->DB->fetch_row();
		$chat_active = "<I>Никого</I>";

		if ( $cactive > 0 )
		{	
			$this->ipsclass->DB->query("SELECT ibf_members.id,ibf_members.mgroup,ibf_members.members_display_name from ibf_members inner join elfchat_users on ibf_members.id=elfchat_users.det");
			 while ( $member = $this->ipsclass->DB->fetch_row() )
						{
						
							$groups = $this->ipsclass->cache['group_cache'][ $member['mgroup'] ];   
								$data['members'][ $member['id'] ] = "<a href='{$this->ipsclass->base_url}showuser={$member['id']}' >{$this->ipsclass->make_name_formatted($member['members_display_name'],$member['mgroup'])}</a>";
								$chat_active = implode(",\n", $data['members']);  
						}
					   
					   
		}
		
			
		 
			$this->output = str_replace( "<!-- CHAT_ACTIVE -->" , $this->ipsclass->compiled_templates['skin_boards']->chat_active($chat_active) , $this->output );
2. в админке->внешний вид->Изменить HTML шаблоны (для всех стилей операцию повторить)->skin_boards->Добавить шаблон
Название шаблона chat_active
Входящие переменные $chat_active=""
Содержание шаблона:
<td class="formsubtitle" colspan="2">В Чате</td>
				</tr>
				<tr>
						<td class="row1" width="1%"><{F_ACTIVE}></td>
						<td class="row2">
						
								 {$chat_active}
							   
						</td>
				</tr>
Далее в шаблоне skin_boards->stats_header в самый конец шаблона вставляем:
<!-- CHAT_ACTIVE -->

Вот и все.
код основан на коде Theron
тестировалось на 2.3.3


Блок "Кто в чате" (ElfChat) для Unreal portal

Написано Kvendi, 09 Апрель 2008 · 1 331 Просмотров

Добавляем новый Custom Block
С следующим содержанием:

<?
$topview = $this->ipsclass->DB->query("SELECT ibf_members.id,ibf_members.mgroup,ibf_members.name from ibf_members inner join elfchat_users on ibf_members.id=elfchat_users.det");
$result = mysql_query($query);
  ?>
<table class ="ipbtable">
<?
while($row=mysql_fetch_array($topview)) {
?>
<tr class="row2">
<td>
<a href="/index.php?showuser=<? echo( $row['id'])?>"><? echo ($this->ipsclass->make_name_formatted($row['name'],$row['mgroup']))?></a>
</td>
</tr>
<? } ?>
</table>



Топ репутации для Unreal Portal

Написано Kvendi, 09 Апрель 2008 · 1 238 Просмотров

Добавляем custom block
содержание (AhModding)
<?
$topview = $this->ipsclass->DB->query("SELECT id,rep_all,members_display_name,mgroup from ibf_members order by rep_all DESC limit 5");
$result = mysql_query($query);
  ?>
<table class='ipbtable'>
<th>
Пользователь
</th>
<th>
Репутация
</th>
</tr>
<?
while($row=mysql_fetch_array($topview)) {
?>
<tr class="row2">
<td>
<a href="/index.php?showuser=<? echo( $row['id'])?>"><? echo ($this->ipsclass->make_name_formatted($row['members_display_name'],$row['mgroup']))?></a>
</td>
<td>
<?echo($row['rep_all'])?> <a href="/index.php?autocom=reputation&CODE=03&mid=<?echo ($row['id'])?>"> (Детали)</a>
</td>
</tr>	
<? } ?>
</table>



Случайные фото из галереи (IPG 2.2.2) в Unreal Portal

Написано Kvendi, 07 Апрель 2008 · 827 Просмотров

Добавляем новый блок в Unreal portal c случайными фотографиями из галереи.
Добавте новый блок в Unreal Portal с следующим содержанием:

<table width="100%" border="1" cellspacing="0" cellpadding="0" cellpadding="20" cellspacing="20">
<?
$query = "SELECT ibf_gallery_images.id,ibf_gallery_images.caption,ibf_gallery_images.directory,ibf_gallery_images.masked_file_name,ibf_gallery_categories.name FROM ibf_gallery_images inner join ibf_gallery_categories on ibf_gallery_images.category_id=ibf_gallery_categories.id ORDER BY RAND() DESC LIMIT 6";
$result = mysql_query($query);
  ?>
<tr>
<?
while ($row = mysql_fetch_row($result)) {
?>
	<td><center><a href="/index.php?autocom=gallery&req=si&img=<? echo $row[0];?>"><? echo $row[4]; ?></a><br><a href="uploads/<? echo $row[2]; ?>/<? echo $row[3]; ?>"><img src="uploads/<? echo $row[2]; ?>/tn_<? echo $row[3]; ?>"></a></center>
	</td>
<? } ?>
  </tr>
</table>
1. Измените текст LIMIT 6, подставив вместо 6 любо число, оно будет отвечать за кол-во выводимых фотографий.
Особенно удачно это будет смотреться, если использовать скрипт Lytebox и slideshow
Если будет необходимо описать такой блок с Slideshow то отпишите здесь. За ссылкой на пример в личку.


Самые просматриваемые темы в Unreal Portal

Написано Kvendi, 07 Апрель 2008 · 743 Просмотров

В админке, вкладка "Portal"
Нажимаем
"Add Custom Blocks"
В появившейся форме:
Block Name: "top_viewd"
Block Title: "Самы просматриваемые темы" (Или любое название по вашему вкусу)
Block PHP/HTML:

<?
$topview = $this->ipsclass->DB->query("SELECT views,title,tid from ibf_topics order by views desc limit 8");
$result = mysql_query($query);
?>
<table class='ipbtable'>
<th>Название темы</th>
<th>Просмотров</th>
</tr>
<?
while($row=mysql_fetch_array($topview)) {
?>
<tr class="row2">
<td>
<a href="/index.php?showtopic=<? echo( $row['tid'])?>"><? echo ($row['title'])?></a>
</td>
<td>
<?echo ($row['views'])?>
</td>
</tr> 
<? } ?>
</table>
1. ibf_topics Смените "ibf" на ваш префикс
2. limit 8 Вместо 8 можете написать любое число: оно отвечает за кол-во тем, выводящихся в блоке.





Апрель 2018

П В С Ч П С В
      1
2345678
9101112131415
16171819202122
23 242526272829
30