]> git.mxchange.org Git - friendica.git/commitdiff
direcotry cleanups
authorMike Macgirvin <mike@macgirvin.com>
Fri, 9 Jul 2010 10:10:28 +0000 (03:10 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Fri, 9 Jul 2010 10:10:28 +0000 (03:10 -0700)
mod/directory.php
mod/profiles.php
view/profile-in-directory.tpl
view/style.css
wip/todo

index b105bf78765a3f61447f5ad3a5b49c516b4375b8..6d0e1f426828cbd9c6c2695c5e54a9d344c54fca 100644 (file)
@@ -4,25 +4,37 @@
 function directory_content(&$a) {
 
 
-       $tpl .= file_get_contents('view/directory_header');
+       $tpl .= file_get_contents('view/directory_header.tpl');
 
-       $o .= replace_macros($tpl);
+       $o .= replace_macros($tpl, array(
 
-       $r = q("SELECT * FROM `profile` WHERE `default` = 1 AND `publish` = 1");
+       ));
+
+       $r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `publish` = 1");
        if(count($r)) {
 
                $tpl = file_get_contents('view/directory_item.tpl');
 
                foreach($r as $rr) {
+                       $profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
 
-                       $o .= expand_macros($tpl,array(
 
+                       $o .= replace_macros($tpl,array(
+                               '$id' => $rr['id'],
+                               '$profile-link' => $profile_link,
+                               '$photo' => $rr['photo'],
+                               '$alt-text' => $rr['name'],
+                               '$name' => $rr['name'],
+                               '$details' => $details   // FIXME
 
 
                        ));
 
                }
+               $o .= "<div class=\"directory-end\" ></div>\r\n";
        }
        else
                notice("No entries (some entries may be hidden).");
+
+       return $o;
 }
\ No newline at end of file
index a8b6858d798c125eedb0a1cc543c4275ccbc1395..c6060c8c2f0825a8dfa54786d7471f4ef0582fc0 100644 (file)
@@ -10,8 +10,6 @@ function profiles_post(&$a) {
 
        // todo - delete... ensure that all contacts using the to-be-deleted profile are moved to the default.          
 
-
-
        if(($a->argc > 1) && ($a->argv[1] != "new") && intval($a->argv[1])) {
                $r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($a->argv[1]),
@@ -21,6 +19,7 @@ function profiles_post(&$a) {
                        $_SESSION['sysmsg'] .= "Profile not found." . EOL;
                        return;
                }
+               $is_default = (($r[0]['is-default']) ? 1 : 0);
 
                $profile_name = notags(trim($_POST['profile_name']));
                if(! strlen($profile_name)) {
@@ -38,7 +37,8 @@ function profiles_post(&$a) {
                $marital = notags(trim(implode(', ',$_POST['marital'])));
                $homepage = notags(trim($_POST['homepage']));
                $about = str_replace(array('<','>','&'),array('&lt;','&gt;','&amp;'),trim($_POST['about']));
-
+               if(x($_POST,'profile_in_directory'))
+                       $publish = (($_POST['profile_in_directory'] == 1) ? 1: 0);
                if(! in_array($gender,array('','Male','Female','Other')))
                        $gender = '';
 
@@ -72,6 +72,20 @@ function profiles_post(&$a) {
 
                if($r)
                        $_SESSION['sysmsg'] .= "Profile updated." . EOL;
+
+
+               if($is_default) {
+                       $r = q("UPDATE `profile` 
+                       SET `publish` = %d
+                       WHERE `id` = %d AND `uid` = %d LIMIT 1",
+                       intval($publish),
+                       intval($a->argv[1]),
+                       intval($_SESSION['uid'])
+
+                       );
+               }
+
+
        }
 
 
@@ -134,7 +148,12 @@ function profiles_content(&$a) {
                require_once('view/profile_selectors.php');
 
                $tpl = file_get_contents('view/jot-header.tpl');
-               $profile_in_dir = file_get_contents("view/profile-in-directory.tpl");
+               $opt_tpl = file_get_contents("view/profile-in-directory.tpl");
+               $profile_in_dir = replace_macros($opt_tpl,array(
+                       '$yes_selected' => (($r[0]['publish']) ? " checked=\"checked\" " : ""),
+                       '$no_selected' => (($r[0]['publish'] == 0) ? " checked=\"checked\" " : "")
+               ));
+
 
                $a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl()));
        
index a120a24c18cff7b2a9ed83b58cd4819933e8fe82..6e04505b08c6f8c0f44829e24d2f14186458e37d 100644 (file)
@@ -4,13 +4,13 @@ Publish this profile in site directory?
 
                <div id="profile-in-dir-yes-wrapper">
                <label id="profile-in-dir-yes-label" for="profile-in-dir-yes">Yes</label>
-               <input type="radio" name="profile_in_directory" id="profile-in-dir-yes" checked="checked" value="1" />
+               <input type="radio" name="profile_in_directory" id="profile-in-dir-yes" $yes_selected value="1" />
 
                <div id="profile-in-dir-break" ></div>  
                </div>
                <div id="profile-in-dir-no-wrapper">
                <label id="profile-in-dir-no-label" for="profile-in-dir-no">No</label>
-               <input type="radio" name="profile_in_directory" id="profile-in-dir-no" value="0"  />
+               <input type="radio" name="profile_in_directory" id="profile-in-dir-no" $no_selected value="0"  />
 
                <div id="profile-in-dir-end"></div>
                </div>
index 7114f439448268b251d09fff35dddd0ad6777aa8..806d62affc60aa68774c5aaf79cd8acf11aa9c4d 100644 (file)
@@ -463,4 +463,15 @@ input#dfrn-url {
        color: #3172BD;
        font-weight: bold;
        margin-bottom: 20px;
-}
\ No newline at end of file
+}
+
+
+.directory-end {
+       clear: both;
+}
+
+.directory-item {
+       float: left;
+       width: 225px;
+}
+
index 035f72a8df88b2ea3a5b1a4bacb428e955a114f6..0e3f88fecc77cba26e4e494b5f365c8e593861f8 100644 (file)
--- a/wip/todo
+++ b/wip/todo
@@ -15,13 +15,13 @@ contact editor
        remove
        reputation
 
-publish to directory
 
-directory page
+directory page search, pager, details
 
 publish to external directory
 
 anonymous nav links
+       directory
 
 groups