Example #1
0
 function _getActOwner($aArray)
 {
     //		dbg($aArray);
     $class = TheClass($aArray['seg']);
     global ${$class};
     $aOwner = ${$class}->getBaseData($aArray['off']);
     return '<a href="/user/' . $aOwner['id'] . '" class="invitelink">' . $aOwner['family'] . ' ' . $aOwner['name'] . '</a>';
 }
Example #2
0
 function getBaseData($id, $type = 'user')
 {
     global $Db;
     $where = $Db->sqlGetWhere(array('id' => $id, 'type' => $type));
     //		dbg($where);
     $sql = "SELECT * FROM `" . $this->table . "`" . $where;
     //		dbg($sql);
     $aResult = $this->queryRow($sql);
     if (empty($aResult)) {
         return array();
     }
     //		dbg($aResult);
     $Class = TheClass($type);
     global ${$Class};
     $aBookmark = ${$Class}->getBaseData($aResult['link_id']);
     //		dbg($aBookmark);
     //		dbg($aResult);
     $aMerge = array_merge($aBookmark, $aResult);
     //		Console::log($aMerge);
     return $aMerge;
 }
Example #3
0
$seg = 'photo';
include FLGR_LIBS . '/ll.php';
// DopNav - внутренняя навигация на страницах
$aDopNav = array('editalbum' => 'Редактировать альбом', 'addphoto' => 'Добавить фотографии', 'descr' => 'Описание');
// Чтобы вывести первый BreadCrumbsItem необходимо
// получить объект с которым связан текущий обьект (для Фотографии это - Альбом)
// Назовем его Owner
$owner = TheClass($aItem['seg']);
//dbg($owner);
$aOwner = ${$owner}->getBaseData($aItem['off']);
//dbg($aOwner);
// Владельцем фотографии является альбом
// Теперь необходимо получить владельца альбома
// Это может быть пользователь или группа (или встреча)
// Назовем его Subject
$subject = TheClass($aOwner['seg']);
$aSubject = ${$subject}->getBaseData($aOwner['off']);
//dbg($aSubject);
// Добавляем первый BreadCrumbsItem, указывающий на Subject
$sTmp = '';
if (isset($aSubject['family'])) {
    $sTmp .= $aSubject['family'] . ' ';
}
$sTmp .= $aSubject['name'];
$BreadCrumbs->add($aOwner['seg'] . '/' . $aOwner['off'], $sTmp);
// Добавляем второй BreadCrumbsItem, указывающий на владельца
$sTmp = '';
if (isset($aOwner['family'])) {
    $sTmp .= $aOwner['family'] . ' ';
}
$sTmp .= $aOwner['name'];
Example #4
0
    dbg("ASSERT (Fatal): {module {$sModuleName}} [off] incorrect");
    return;
}
// Если после [off] есть еще параметры - значит это ошибка урла и надо
// выдать ASSERT (Warn) и выйти оставив взведенным $bFlag404
if (isset($aRequest[$nLevel + 3])) {
    dbg("ASSERT (Warn): {module {$sModuleName}} url error");
    return;
}
// Теперь получаем [self]
$self = substr($sModuleTpl, 0, strlen($sModuleTpl) - 1);
//dbg($self);
// Теперь, когда у нас есть [self], [seg] и [off] мы можем найти Items
// Если Items найти не удалось - мы должны
// выдать ASSERT (Warn) и выйти оставив взведенным $bFlag404
$class = TheClass($self);
//dbg($class);
$aItems = ${$class}->getItems($seg, $off);
//dbg($aItems);
if (empty($aItems)) {
    //	dbg("ASSERT (Warn): {module $sModuleName} items not found");
}
// Здесь мы могли бы сбросить $bFlag404 но остается вероятность,
// что по url не будет найден управляющий контроллер, поэтому
// оконечный управляющий контроллер сам сбрасывает $bFlag404
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
//dbg($aItems);
// OPEN
if ('' == $sModuleTpl) {
    my_die('Error: Template not found');
}
Example #5
0
    include_once FLGR_MODULES . '/!search.php';
    return;
    //	}
    dbg("ASSERT (Fatal): {module {$sModuleName}} [url] incorrect");
    return;
}
// [seg] идет первым параметром после модулей и должен принадлежать множеству $segs
// если это не так - мы должны выдать ASSERT (Fatal) и и выйти оставив взведенным $bFlag404
if (isset($aRequest[$nLevel + 1]) && isset($segs[$aRequest[$nLevel + 1]])) {
    $seg = $aRequest[$nLevel + 1];
} else {
    dbg("ASSERT (Fatal): {module {$sModuleName}} [seg] incorrect");
    return;
}
// The Class
$class = TheClass($seg);
//dbg($class);
// CONTROLLER
if (isset($_POST['act'])) {
    switch ($_POST['act']) {
        case 'del_item':
            ${$class}->delLink2User($_POST['id'], $Permissions->getLoggedUserId());
            break;
        case 'add_item':
            ${$class}->addLink2User($_POST['id'], $Permissions->getLoggedUserId());
            break;
        default:
            //			dbg($_POST);
            $name = mysql_escape_string($_POST['name']);
            $sql_selector = "(\n\t\t\t\t(`name` LIKE '%{$name}%') OR\n\t\t\t\t(`parentname` LIKE '%{$name}%') OR\n\t\t\t\t(`nickname` LIKE '%{$name}%')\n\t\t\t) ORDER BY `" . mysql_escape_string($_POST['order']) . "`\n\t\t\t";
            //			dbg($sql_selector);
Example #6
0
 /**
  * Получаем связанных пользователей или (если reverse==true)
  * связанные объекты (например, группы)
  *
  * @param id $id
  * @param bool $reverse
  * @return array
  */
 function getLinkedUsers($id, $reverse = false)
 {
     global $Users;
     $aLinks = $this->getLinks2User($id, $reverse);
     //		dbg($aLinks);
     foreach ($aLinks as $k => $v) {
         //			dbg($reverse);
         if ($reverse) {
             unset($v['id']);
             unset($v['user_id']);
             $key = key($v);
             $value = current($v);
             $class = TheClass(substr($key, 0, strlen($key) - 3));
             global ${$class};
             //				dbg($value, $class);
             //				Console::log($key.' => '.$class.' [ '.$value.' ]');
             $aLinks[$k] = ${$class}->getBaseData($value);
         } else {
             $aLinks[$k] = $Users->getBaseData($v['user_id']);
         }
     }
     //		Console::log($aLinks);
     return $aLinks;
 }
Example #7
0
/**
 * Enter description here...
 *
 * @param string $seg
 * @param id $off
 * @param array $tail
 * @return unknown
 */
function aBreadCrumbsPath($seg, $off, $tail = array())
{
    //	dbg($seg, $off);
    $class = TheClass($seg);
    //	dbg($class);
    global ${$class};
    $aItem = ${$class}->getBaseData($off);
    //	dbg($aItem);
    global $BreadCrumbs;
    global $segs;
    // тут хаки :))
    if (!isset($aItem['name'])) {
        $aItem['name'] = $aItem['title'];
    } elseif (isset($aItem['family'])) {
        $aItem['name'] = $aItem['family'] . ' ' . $aItem['name'];
    }
    $tail["%{$seg}/{$off}"] = $aItem['name'];
    if (isset($aItem['seg']) && isset($aItem['off']) && isset($segs[$aItem['seg']]) && $aItem['off'] != 0) {
        return aBreadCrumbsPath($aItem['seg'], $aItem['off'], $tail);
    }
    return $tail;
}
Example #8
0
<?php

/**
 * Конкретный альбом
 */
$seg = 'album';
include FLGR_LIBS . '/ll.php';
// DopNav - внутренняя навигация на страницах
$aDopNav = array('editalbum' => 'Редактировать альбом', 'addphoto' => 'Добавить фотографии', 'descr' => 'Описание', 'delalbum' => 'Удалить альбом');
// Чтобы вывести первый BreadCrumbsItem необходимо
// получить объект с которым связан текущий обьект
//dbg($aItem);
$owner = TheClass($aItem['seg']);
//dbg($owner);
$aOwner = ${$owner}->getBaseData($off);
//dbg($aOwner);
//dbg(aBreadCrumbsPath($seg, $aItem['id']));
foreach (array_reverse(aBreadCrumbsPath($seg, $aItem['id'])) as $k => $v) {
    $BreadCrumbs->add($k, $v);
}
// ---------------------------
if (!$bFlagLastModule) {
    return;
}
// ---------------------------
if (isset($_POST['act'])) {
    switch ($_POST['act']) {
        default:
            break;
    }
}