Esempio n. 1
0
 function set($sKey, $mixedValue)
 {
     //--- Update Database ---//
     $this->_oDb->query("UPDATE `sys_options` SET `VALUE`= ? WHERE `Name`= ? LIMIT 1", [$mixedValue, $sKey]);
     //--- Update Cache ---//
     $this->cache();
 }
Esempio n. 2
0
function actionPending()
{
    $oDb = new BxDolDb();
    $sFormName = 'categories_aprove_form';
    $aItems = array();
    if (is_array($_POST['pathes']) && !empty($_POST['pathes'])) {
        foreach ($_POST['pathes'] as $sValue) {
            list($sCategory, $sId, $sType) = split('%%', process_db_input($sValue, BX_TAGS_STRIP));
            $oDb->query("UPDATE `sys_categories` SET `Status` = 'active' WHERE\n                `Category` = '{$sCategory}' AND `ID` = {$sId} AND `Type` = '{$sType}'");
        }
    }
    $aCategories = $oDb->getAll("SELECT * FROM `sys_categories` WHERE `Status` = 'passive'");
    if (!empty($aCategories)) {
        foreach ($aCategories as $aCategory) {
            $aItems[] = array('name' => $aCategory['Category'], 'value' => $aCategory['Category'] . '%%' . $aCategory['ID'] . '%%' . $aCategory['Type'], 'title' => $aCategory['Category'] . '(' . $aCategory['Type'] . ')');
        }
        $aButtons = array('action_activate' => _t('_categ_btn_activate'));
        $sControls = BxTemplSearchResult::showAdminActionsPanel($sFormName, $aButtons, 'pathes');
        return $GLOBALS['oAdmTemplate']->parseHtmlByName('categories_list.html', array('form_name' => $sFormName, 'bx_repeat:items' => $aItems, 'controls' => $sControls));
    } else {
        return MsgBox(_t('_Empty'));
    }
}
 function _profileChangeStatus()
 {
     $oDb = new BxDolDb();
     $oDb->query("DELETE FROM `sys_profiles_match`");
 }
Esempio n. 4
0
function getMatchProfiles($iProfileId, $bForce = false, $sSort = 'none')
{
    $aResult = array();
    if (!getParam('enable_match')) {
        return $aResult;
    }
    $oDb = new BxDolDb();
    if (!(int) $iProfileId) {
        return $aResult;
    }
    if (!$bForce) {
        $aMatch = $oDb->getRow("SELECT `profiles_match` FROM `sys_profiles_match` WHERE `profile_id` = {$iProfileId} AND `sort` = '{$sSort}'");
        if (!empty($aMatch)) {
            return unserialize($aMatch['profiles_match']);
        }
    } else {
        $oDb->query("DELETE FROM `sys_profiles_match` WHERE `profile_id` = {$iProfileId}");
    }
    $aProf = getProfileInfo($iProfileId);
    if (empty($aProf)) {
        return $aResult;
    }
    $aMathFields = getMatchFields();
    $iAge = (int) $oDb->getOne("SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), '{$aProf['DateOfBirth']}')), '%Y') + 0 AS age");
    foreach ($aMathFields as $sKey => $aFields) {
        $aMathFields[$sKey]['profiles'] = array();
        if ($aProf[$aFields['Name']]) {
            if ($aMathFields[$aFields['MatchField']]['Name'] == 'DateOfBirth') {
                if ($iAge) {
                    $sCond = "(DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), `DateOfBirth`)), '%Y') + 0) = {$iAge}";
                }
            } else {
                if ($aMathFields[$aFields['MatchField']]['Name']) {
                    $sCond = "`{$aMathFields[$aFields['MatchField']]['Name']}` = '" . process_db_input($aProf[$aFields['Name']], BX_TAGS_NO_ACTION, BX_SLASHES_NO_ACTION) . "'";
                    $aMathFields[$sKey]['profiles'] = $oDb->getAllWithKey("SELECT `ID` FROM `Profiles` WHERE `Status` = 'Active' AND `ID` != {$iProfileId} AND {$sCond}", 'ID');
                }
            }
        }
    }
    $sCondSort = '';
    if ($sSort == 'activity') {
        $sCondSort = 'ORDER BY `DateLastNav` DESC';
    } else {
        if ($sSort == 'date_reg') {
            $sCondSort = 'ORDER BY `DateReg` DESC';
        }
    }
    $iPercentThreshold = getParam('match_percent');
    $aProfiles = $oDb->getColumn("SELECT `ID` FROM `Profiles` WHERE `Status` = 'Active' AND `ID` != {$iProfileId} {$sCondSort}");
    foreach ($aProfiles as $iProfId) {
        $iPercent = 0;
        foreach ($aMathFields as $sKey => $aFields) {
            if (isset($aFields['profiles'][$iProfId])) {
                $iPercent += (int) $aFields['MatchPercent'];
            }
        }
        if ($iPercent >= $iPercentThreshold) {
            $aResult[] = $iProfId;
        }
    }
    $oDb->query("INSERT INTO `sys_profiles_match`(`profile_id`, `sort`, `profiles_match`) VALUES({$iProfileId}, '{$sSort}', '" . serialize($aResult) . "')");
    return $aResult;
}