Browse Source

quattro post preview, style contacts pages, style for "shiny" class, fix contacts list in profile aside.

remove html from viewcontacts.php and contacts.php
use contact_template.tpl to print contacts also in viewcontacts
pull/46/head
Fabio Comuni 9 years ago
parent
commit
cbc60d525e
15 changed files with 273 additions and 134 deletions
  1. +33
    -29
      mod/contacts.php
  2. +19
    -13
      mod/viewcontacts.php
  3. +17
    -15
      view/contact_template.tpl
  4. +9
    -1
      view/contacts-template.tpl
  5. +4
    -1
      view/jot.tpl
  6. +25
    -0
      view/theme/dispy/contact_template.tpl
  7. +25
    -0
      view/theme/duepuntozero/contact_template.tpl
  8. +25
    -0
      view/theme/loozah/contact_template.tpl
  9. +3
    -1
      view/theme/quattro/colors.less
  10. +0
    -21
      view/theme/quattro/contact_template.tpl
  11. +25
    -10
      view/theme/quattro/quattro.less
  12. +38
    -22
      view/theme/quattro/style.css
  13. +25
    -0
      view/theme/testbubble/contact_template.tpl
  14. +17
    -13
      view/theme/vier/contact_template.tpl
  15. +8
    -8
      view/viewcontact_template.tpl

+ 33
- 29
mod/contacts.php View File

@ -451,19 +451,7 @@ function contacts_content(&$a) {
$a->set_pager_total($r[0]['total']);
$tpl = get_markup_template("contacts-top.tpl");
$o .= replace_macros($tpl,array(
'$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''),
'$tabs' => $t,
'$total' => $r[0]['total'],
'$search' => $search_hdr,
'$desc' => t('Search your contacts'),
'$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : ""),
'$submit' => t('Find'),
'$cmd' => $a->cmd
));
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ",
intval($_SESSION['uid']),
@ -471,9 +459,9 @@ function contacts_content(&$a) {
intval($a->pager['itemspage'])
);
if(count($r)) {
$contacts = array();
$tpl = get_markup_template("contact_template.tpl");
if(count($r)) {
foreach($r as $rr) {
if($rr['self'])
@ -505,24 +493,40 @@ function contacts_content(&$a) {
}
$o .= replace_macros($tpl, array(
'$img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
'$edit_hover' => t('Edit contact'),
'$contact_photo_menu' => contact_photo_menu($rr),
'$id' => $rr['id'],
'$alt_text' => $alt_text,
'$dir_icon' => $dir_icon,
'$thumb' => $rr['thumb'],
'$name' => $rr['name'],
'$username' => $rr['name'],
'$sparkle' => $sparkle,
'$url' => $url
));
$contacts[] = array(
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
'edit_hover' => t('Edit contact'),
'photo_menu' => contact_photo_menu($rr),
'id' => $rr['id'],
'alt_text' => $alt_text,
'dir_icon' => $dir_icon,
'thumb' => $rr['thumb'],
'name' => $rr['name'],
'username' => $rr['name'],
'sparkle' => $sparkle,
'url' => $url,
'item' => $rr,
);
}
$o .= '<div id="contact-edit-end"></div>';
}
$o .= paginate($a);
$tpl = get_markup_template("contacts-template.tpl");
$o .= replace_macros($tpl,array(
'$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''),
'$tabs' => $t,
'$total' => $r[0]['total'],
'$search' => $search_hdr,
'$desc' => t('Search your contacts'),
'$finding' => (strlen($search) ? t('Finding: ') . "'" . $search . "'" : ""),
'$submit' => t('Find'),
'$cmd' => $a->cmd,
'$contacts' => $contacts,
'$paginate' => paginate($a),
));
return $o;
}

+ 19
- 13
mod/viewcontacts.php View File

@ -1,4 +1,5 @@
<?php
require_once('include/contact_selectors.php');
function viewcontacts_init(&$a) {
@ -22,8 +23,6 @@ function viewcontacts_content(&$a) {
return;
}
$o .= '<h3>' . t('View Contacts') . '</h3>';
$r = q("SELECT COUNT(*) as `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 ",
intval($a->profile['uid'])
@ -41,7 +40,7 @@ function viewcontacts_content(&$a) {
return $o;
}
$tpl = get_markup_template("viewcontact_template.tpl");
$contacts = array();
foreach($r as $rr) {
if($rr['self'])
@ -56,19 +55,26 @@ function viewcontacts_content(&$a) {
if($is_owner && ($rr['network'] === NETWORK_DFRN) && ($rr['rel']))
$url = 'redir/' . $rr['id'];
$o .= replace_macros($tpl, array(
'$id' => $rr['id'],
'$alt_text' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']),
'$thumb' => $rr['thumb'],
'$name' => substr($rr['name'],0,20),
'$username' => $rr['name'],
'$url' => $url
));
$contacts[] = array(
'id' => $rr['id'],
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']),
'thumb' => $rr['thumb'],
'name' => substr($rr['name'],0,20),
'username' => $rr['name'],
'url' => $url,
'sparkle' => '',
'item' => $rr,
);
}
$o .= '<div id="view-contact-end"></div>';
$o .= paginate($a);
$tpl = get_markup_template("viewcontact_template.tpl");
$o .= replace_macros($tpl, array(
'$title' => t('View Contacts'),
'$contacts' => $contacts,
'$paginate' => paginate($a),
));
return $o;
}

+ 17
- 15
view/contact_template.tpl View File

@ -1,23 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('contact-photo-menu-button-$id')" onmouseout="t$id=setTimeout('closeMenu(\'contact-photo-menu-button-$id\'); closeMenu(\'contact-photo-menu-$id\');',200)" >
<div class="contact-wrapper" id="contact-entry-wrapper-$id" >
<div class="contact-photo-wrapper" >
<div class="contact-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$url" title="$img_hover" /><img src="$thumb" $sparkle alt="$name" /></a>
<span onclick="openClose('contact-photo-menu-$id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$id">
<ul>
$contact_photo_menu
</ul>
</div>
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<a href="#" rel="#contact-photo-menu-$contact.id" class="contact-photo-menu-button icon s16 menu" id="contact-photo-menu-button-$contact.id">menu</a>
<ul class="contact-photo-menu menu-popup" id="contact-photo-menu-$contact.id">
$contact.photo_menu
</ul>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$id" >$name</div>
<div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-details" id="contact-entry-url-$contact.id" >$contact.item.url</div>
<div class="contact-details" id="contact-entry-network-$contact.id" >$contact.item.network|network_to_name</div>
<div class="contact-entry-end" ></div>
</div>

view/contacts-top.tpl → view/contacts-template.tpl View File


+ 4
- 1
view/jot.tpl View File

@ -1,4 +1,4 @@
<form action="$action" method="post">
<form id="profile-jot-form" action="$action" method="post">
<div id="jot">
<div id="profile-jot-desc" class="jothidden" >&nbsp;</div>
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
@ -22,6 +22,7 @@
<li><a id="profile-audio" onclick="jotAudioURL();return false;" title="$audio">$shortaudio</a></li>
<li><a id="profile-location" onclick="jotGetLocation();return false;" title="$setloc">$shortsetloc</a></li>
<li><a id="profile-nolocation" onclick="jotClearLocation();return false;" title="$noloc">$shortnoloc</a></li>
<li><a id="jot-preview-link" onclick="preview_post(); return false;" title="$preview">$preview</a></li>
$jotplugins
<li class="perms"><a id="jot-perms-icon" href="#profile-jot-acl-wrapper" class="icon s22 $lockstate $bang" title="$permset" ></a></li>
@ -29,6 +30,8 @@
<li id="profile-rotator" class="loading" style="display: none"><img src="images/rotator.gif" alt="$wait" title="$wait" /></li>
</ul>
</div>
<div id="jot-preview-content" style="display:none;"></div>
<div style="display: none;">
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">


+ 25
- 0
view/theme/dispy/contact_template.tpl View File

@ -0,0 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

+ 25
- 0
view/theme/duepuntozero/contact_template.tpl View File

@ -0,0 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

+ 25
- 0
view/theme/loozah/contact_template.tpl View File

@ -0,0 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

+ 3
- 1
view/theme/quattro/colors.less View File

@ -1,6 +1,7 @@
// Quattro Theme LESS file
// "Echo" palette from Inkscape
@Yellow1 : #fce94f;
@Blue1:rgb(25,174,255);
@Blue2:rgb(0,132,200);
@Blue3:rgb(0,92,148);
@ -71,6 +72,7 @@
@NoticeBackgroundColor: #511919;
@ThreadBackgroundColor: #f6f7f8;
@ShinyBorderColor: @Yellow1;
@CommentBoxEmptyColor: @Grey3;
@CommentBoxEmptyBorderColor: @Grey3;
@ -91,4 +93,4 @@
@JotPermissionUnlockBackgroundColor: @Grey2;
@JotPermissionLockBackgroundColor: @Grey4;
@JotLoadingBackgroundColor: @Grey1;
@JotPreviewBackgroundColor: @Yellow1;

+ 0
- 21
view/theme/quattro/contact_template.tpl View File

@ -1,21 +0,0 @@
<div class="contact-wrapper" id="contact-entry-wrapper-$id" >
<div class="contact-photo-wrapper" >
<div class="contact-photo mframe" id="contact-entry-photo-$id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('contact-photo-menu-button-$id')" onmouseout="t$id=setTimeout('closeMenu(\'contact-photo-menu-button-$id\'); closeMenu(\'contact-photo-menu-$id\');',200)" >
<a href="$url" title="$img_hover" /><img src="$thumb" $sparkle alt="$name" /></a>
<a href="#" rel="#contact-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="contact-photo-menu-button-$id">menu</a>
<ul class="contact-photo-menu menu-popup" id="contact-photo-menu-$id">
$contact_photo_menu
</ul>
</div>
</div>
<div class="contact-name" id="contact-entry-name-$id" >$name</div>
</div>

+ 25
- 10
view/theme/quattro/quattro.less View File

@ -309,12 +309,13 @@ aside {
.allcontact-link { float: right; margin: 5px 0px; }
.contact-block-content {
clear: both;
overflow: auto; height: auto;
overflow: idden; height: auto;
}
/*.contact-block-div { width:60px; height: 60px; }*/
.contact-block-link {
float: left;
margin: 0px 2px 2px 0px;
img { widht: 48px; height: 58px; }
img { widht: 48px; height: 48px; }
}
}
/* mail view */
@ -373,6 +374,7 @@ aside {
top: -50px;
}
}
/*
#group-members {
margin-top: 20px;
padding: 10px;
@ -395,9 +397,10 @@ aside {
}
.contact-block-div {
float: left;
width: 52px;
height: 52px;
}
width: 60px;
height: 60px;
}*/
/* widget */
.widget {
margin-bottom: 2em;
@ -551,6 +554,8 @@ section {
}
.shiny { border-right:10px solid @ShinyBorderColor; }
#jot-preview-content .tread-wrapper { background-color: @JotPreviewBackgroundColor; }
.wall-item-tags { padding-top: 5px; }
@ -589,7 +594,7 @@ section {
right: 5px;
}
/* contacts menu */
.contact-photo-wrapper { position: relative; }
.contact-photo {
width: 48px; height: 48px;
@ -606,9 +611,14 @@ section {
.contact-wrapper {
float: left;
width: 90px;
width: 300px;
height: 90px;
margin-bottom: 15px;
padding-right: 10px;
margin: 0 10px 10px 0px;
.contact-photo-wrapper {
float: left;
margin-right: 10px;
}
.contact-photo {
width: 80px; height: 80px;
img { width: 80px; height: 80px; }
@ -627,8 +637,13 @@ section {
img { width: 175px; height: 175px; }
}
}
.contact-name { text-align: center; font-weight: bold; }
.contact-details { color: @Grey3;}
.contact-name { font-weight: bold; padding-top: 15px; }
.contact-details {
color: @Grey3; white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* editor */
.jothidden { display: none; }
#jot {


+ 38
- 22
view/theme/quattro/style.css View File

@ -602,6 +602,8 @@ aside #profiles-menu {
#contact-block {
overflow: auto;
height: auto;
/*.contact-block-div { width:60px; height: 60px; }*/
}
#contact-block .contact-block-h4 {
float: left;
@ -613,7 +615,7 @@ aside #profiles-menu {
}
#contact-block .contact-block-content {
clear: both;
overflow: auto;
overflow: idden;
height: auto;
}
#contact-block .contact-block-link {
@ -622,7 +624,7 @@ aside #profiles-menu {
}
#contact-block .contact-block-link img {
widht: 48px;
height: 58px;
height: 48px;
}
/* mail view */
.mail-conv-sender, .mail-conv-detail {
@ -675,31 +677,32 @@ aside #profiles-menu {
position: relative;
top: -50px;
}
/*
#group-members {
margin-top: 20px;
padding: 10px;
height: 250px;
overflow: auto;
border: 1px solid #ddd;
margin-top: 20px;
padding: 10px;
height: 250px;
overflow: auto;
border: 1px solid #ddd;
}
#group-members-end {
clear: both;
clear: both;
}
#group-all-contacts {
padding: 10px;
height: 450px;
overflow: auto;
border: 1px solid #ddd;
padding: 10px;
height: 450px;
overflow: auto;
border: 1px solid #ddd;
}
#group-all-contacts-end {
clear: both;
margin-bottom: 10px;
clear: both;
margin-bottom: 10px;
}
.contact-block-div {
float: left;
width: 52px;
height: 52px;
}
float: left;
width: 60px;
height: 60px;
}*/
/* widget */
.widget {
margin-bottom: 2em;
@ -946,6 +949,12 @@ section {
padding: 0;
margin: 10px 0;
}
.shiny {
border-right: 10px solid #fce94f;
}
#jot-preview-content .tread-wrapper {
background-color: #fce94f;
}
.wall-item-tags {
padding-top: 5px;
}
@ -985,7 +994,6 @@ section {
bottom: 5px;
right: 5px;
}
/* contacts menu */
.contact-photo-wrapper {
position: relative;
}
@ -1007,9 +1015,14 @@ section {
}
.contact-wrapper {
float: left;
width: 90px;
width: 300px;
height: 90px;
margin-bottom: 15px;
padding-right: 10px;
margin: 0 10px 10px 0px;
}
.contact-wrapper .contact-photo-wrapper {
float: left;
margin-right: 10px;
}
.contact-wrapper .contact-photo {
width: 80px;
@ -1037,11 +1050,14 @@ section {
height: 175px;
}
.contact-name {
text-align: center;
font-weight: bold;
padding-top: 15px;
}
.contact-details {
color: #999999;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* editor */
.jothidden {


+ 25
- 0
view/theme/testbubble/contact_template.tpl View File

@ -0,0 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

+ 17
- 13
view/theme/vier/contact_template.tpl View File

@ -1,21 +1,25 @@
<div class="contact-wrapper" id="contact-entry-wrapper-$id" >
<div class="contact-photo-wrapper" >
<div class="contact-photo mframe" id="contact-entry-photo-$id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('contact-photo-menu-button-$id')" onmouseout="t$id=setTimeout('closeMenu(\'contact-photo-menu-button-$id\'); closeMenu(\'contact-photo-menu-$id\');',200)" >
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$url" title="$img_hover" /><img src="$thumb" $sparkle alt="$name" /></a>
<a href="#" rel="#contact-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="contact-photo-menu-button-$id">menu</a>
<ul class="contact-photo-menu menu-popup" id="contact-photo-menu-$id">
$contact_photo_menu
</ul>
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-name" id="contact-entry-name-$id" >$name</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

+ 8
- 8
view/viewcontact_template.tpl View File

@ -1,9 +1,9 @@
<h3>$title</h3>
<div class="contact-wrapper" id="view-contact-wrapper-$id" >
<div class="contact-photo-wrapper" >
<div class="mframe contact-photo" id="view-contact-photo-$id" >
<a href="$url" title="$alt_text" /><img src="$thumb" alt="$name" /></a>
</div>
</div>
<div class="contact-name" id="view-contact-name-$id" >$name</div>
</div>
{{ for $contacts as $contact }}
{{ inc contact_template.tpl }}{{ endinc }}
{{ endfor }}
<div id="view-contact-end"></div>
$paginate

Loading…
Cancel
Save