$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']),
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'])
}
- $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;
}
<?php
+require_once('include/contact_selectors.php');
function viewcontacts_init(&$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'])
return $o;
}
- $tpl = get_markup_template("viewcontact_template.tpl");
+ $contacts = array();
foreach($r as $rr) {
if($rr['self'])
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;
}
-<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>
+
--- /dev/null
+<h1>$header{{ if $total }} ($total){{ endif }}</h1>
+
+{{ if $finding }}<h4>$finding</h4>{{ endif }}
+
+<div id="contacts-search-wrapper">
+<form id="contacts-search-form" action="$cmd" method="get" >
+<span class="contacts-search-desc">$desc</span>
+<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="$search" />
+<input type="submit" name="submit" id="contacts-search-submit" value="$submit" />
+</form>
+</div>
+<div id="contacts-search-end"></div>
+
+$tabs
+
+
+{{ for $contacts as $contact }}
+ {{ inc contact_template.tpl }}{{ endinc }}
+{{ endfor }}
+<div id="contact-edit-end"></div>
+
+$paginate
+
+
+
+
+++ /dev/null
-<h1>$header{{ if $total }} ($total){{ endif }}</h1>
-
-$finding
-
-<div id="contacts-search-wrapper">
-<form id="contacts-search-form" action="$cmd" method="get" >
-<span class="contacts-search-desc">$desc</span>
-<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="$search" />
-<input type="submit" name="submit" id="contacts-search-submit" value="$submit" />
-</form>
-</div>
-<div id="contacts-search-end"></div>
-
-$tabs
-
-
-
-
-<form action="$action" method="post">
+<form id="profile-jot-form" action="$action" method="post">
<div id="jot">
<div id="profile-jot-desc" class="jothidden" > </div>
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
<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>
<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;">
--- /dev/null
+
+<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>
--- /dev/null
+
+<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>
--- /dev/null
+
+<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>
// 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);
@NoticeBackgroundColor: #511919;
@ThreadBackgroundColor: #f6f7f8;
+@ShinyBorderColor: @Yellow1;
@CommentBoxEmptyColor: @Grey3;
@CommentBoxEmptyBorderColor: @Grey3;
@JotPermissionUnlockBackgroundColor: @Grey2;
@JotPermissionLockBackgroundColor: @Grey4;
@JotLoadingBackgroundColor: @Grey1;
-
+@JotPreviewBackgroundColor: @Yellow1;
+++ /dev/null
-
-<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>
-
.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 */
top: -50px;
}
}
+/*
#group-members {
margin-top: 20px;
padding: 10px;
}
.contact-block-div {
float: left;
- width: 52px;
- height: 52px;
-}
+ width: 60px;
+ height: 60px;
+}*/
+
/* widget */
.widget {
margin-bottom: 2em;
}
+.shiny { border-right:10px solid @ShinyBorderColor; }
+#jot-preview-content .tread-wrapper { background-color: @JotPreviewBackgroundColor; }
.wall-item-tags { padding-top: 5px; }
right: 5px;
}
-/* contacts menu */
+
.contact-photo-wrapper { position: relative; }
.contact-photo {
width: 48px; height: 48px;
.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; }
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 {
#contact-block {
overflow: auto;
height: auto;
+ /*.contact-block-div { width:60px; height: 60px; }*/
+
}
#contact-block .contact-block-h4 {
float: left;
}
#contact-block .contact-block-content {
clear: both;
- overflow: auto;
+ overflow: idden;
height: auto;
}
#contact-block .contact-block-link {
}
#contact-block .contact-block-link img {
widht: 48px;
- height: 58px;
+ height: 48px;
}
/* mail view */
.mail-conv-sender, .mail-conv-detail {
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;
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;
}
bottom: 5px;
right: 5px;
}
-/* contacts menu */
.contact-photo-wrapper {
position: relative;
}
}
.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;
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 {
--- /dev/null
+
+<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>
-<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>
-
+<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