Ejemplo n.º 1
0
 private function _consistencyPage(&$iaView)
 {
     if (!empty($_GET['type'])) {
         if (in_array($_GET['type'], array('optimize', 'repair'))) {
             $tables = $this->getHelper()->getTables();
             $type = $_GET['type'];
             $query = strtoupper($type) . ' TABLE ';
             foreach ($tables as $tableName) {
                 $query .= '`' . $tableName . '`,';
             }
             $query = rtrim($query, ',');
             $this->_iaDb->query($query);
             $iaView->setMessages(iaLanguage::get($type . '_complete'), iaView::SUCCESS);
             iaUtil::reload();
         } else {
             $this->_iaCore->startHook('phpAdminDatabaseConsistencyType', array('type' => $_GET['type']));
         }
     }
 }
 ******************************************************************************/
if (!empty($item) && !empty($listing)) {
    $disabledItems = array('members');
    if (in_array($item, $disabledItems)) {
        return;
    }
    $iaItem = $iaCore->factory('item');
    // check for ownership key
    if (isset($_GET['ownership-key'])) {
        $iaDb->setTable('claim_pending_email_keys');
        $key = $iaDb->row_bind(iaDb::ALL_COLUMNS_SELECTION, '`item` = :item AND `item_id` = :id AND `key` = :key', array('item' => $item, 'id' => $listing, 'key' => $_GET['ownership-key']));
        if ($key) {
            $tableName = $iaItem->getItemTable($item);
            $iaDb->update(array('member_id' => $key['member_id']), iaDb::convertIds($listing), null, $tableName);
            $iaDb->delete(iaDb::convertIds($key['key'], 'key'));
            $iaView->setMessages(iaLanguage::get('ownership_changed'), iaView::SUCCESS);
            iaUtil::reload();
        }
        $iaDb->resetTable();
    }
    $itemTable = $iaItem->getItemTable($item);
    $itemData = $iaDb->row(iaDb::ALL_COLUMNS_SELECTION, iaDb::convertIds($listing), $itemTable);
    // check the current owner of the listing, if possible
    if (iaUsers::hasIdentity() && isset($itemData['member_id']) && iaUsers::getIdentity()->id == $itemData['member_id']) {
        return;
    }
    $actionsForGuest = array('id' => 'claim-listing', 'title' => iaLanguage::get('claim_listing'), 'attributes' => array('class' => 'btn btn-sm btn-default', 'href' => IA_URL . 'claim/' . $item . '/' . $listing . '.json', 'id' => 'js-cmd-claim', 'data-toggle' => 'modal', 'data-target' => '#js-claim-modal'));
    $actionsForMember = array('id' => 'claim-listing', 'title' => iaLanguage::get('claim_listing'), 'attributes' => array('class' => 'btn btn-sm btn-default', 'href' => '#', 'onclick' => 'intelli.notifFloatBox({msg:\'' . iaSanitize::html(iaLanguage::get('sign_in_to_use_this_feature')) . '\',autohide:true}); return false;'));
    $actionClaimListing = iaUsers::hasIdentity() ? $actionsForGuest : $actionsForMember;
    $iaView->assign('actionClaimListing', $actionClaimListing);
}