X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fsuggest.php;h=03d0e77fc7f85225f79f3dde3921e7488b41a003;hb=893f6bd692efa94202dd472ea160eef68a420cf9;hp=b1b6e83dac9476d6aa38cd3954307d5eb567ea40;hpb=0eafea86edd0acd4cc928332e0ef0e7dd18c3e03;p=friendica.git diff --git a/mod/suggest.php b/mod/suggest.php index b1b6e83dac..03d0e77fc7 100644 --- a/mod/suggest.php +++ b/mod/suggest.php @@ -1,117 +1,105 @@ . + * */ + use Friendica\App; -use Friendica\Content\ContactSelector; use Friendica\Content\Widget; -use Friendica\Core\L10n; -use Friendica\Core\System; -use Friendica\Database\DBM; +use Friendica\Core\Renderer; +use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; -use Friendica\Model\GContact; -use Friendica\Model\Profile; +use Friendica\Module\Contact as ModuleContact; -function suggest_init(App $a) { +function suggest_init(App $a) +{ if (! local_user()) { return; } +} - if (x($_GET,'ignore') && intval($_GET['ignore'])) { - // Check if we should do HTML-based delete confirmation - if ($_REQUEST['confirm']) { - //
can't take arguments in its "action" parameter - // so add any arguments as hidden inputs - $query = explode_querystring($a->query_string); - $inputs = []; - foreach ($query['args'] as $arg) { - if (strpos($arg, 'confirm=') === false) { - $arg_parts = explode('=', $arg); - $inputs[] = ['name' => $arg_parts[0], 'value' => $arg_parts[1]]; - } - } - - $a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), [ - '$method' => 'get', - '$message' => L10n::t('Do you really want to delete this suggestion?'), - '$extra_inputs' => $inputs, - '$confirm' => L10n::t('Yes'), - '$confirm_url' => $query['base'], - '$confirm_name' => 'confirmed', - '$cancel' => L10n::t('Cancel'), - ]); - $a->error = 1; // Set $a->error so the other module functions don't execute - return; - } - // Now check how the user responded to the confirmation query - if (!$_REQUEST['canceled']) { - dba::insert('gcign', ['uid' => local_user(), 'gcid' => $_GET['ignore']]); - } +function suggest_post(App $a) +{ + if (!empty($_POST['ignore']) && !empty($_POST['confirm'])) { + DBA::insert('gcign', ['uid' => local_user(), 'gcid' => $_POST['ignore']]); + notice(DI::l10n()->t('Contact suggestion successfully ignored.')); } + DI::baseUrl()->redirect('suggest'); } -function suggest_content(App $a) { - - require_once("mod/proxy.php"); - +function suggest_content(App $a) +{ $o = ''; + if (! local_user()) { - notice(L10n::t('Permission denied.') . EOL); + notice(DI::l10n()->t('Permission denied.')); return; } - $_SESSION['return_url'] = System::baseUrl() . '/' . $a->cmd; + $_SESSION['return_path'] = DI::args()->getCommand(); - $a->page['aside'] .= Widget::findPeople(); - $a->page['aside'] .= Widget::follow(); + DI::page()['aside'] .= Widget::findPeople(); + DI::page()['aside'] .= Widget::follow(); - $r = GContact::suggestionQuery(local_user()); - - if (! DBM::is_result($r)) { - $o .= L10n::t('No suggestions available. If this is a new site, please try again in 24 hours.'); + $contacts = Contact::getSuggestions(local_user()); + if (!DBA::isResult($contacts)) { + $o .= DI::l10n()->t('No suggestions available. If this is a new site, please try again in 24 hours.'); return $o; } - foreach ($r as $rr) { - - $connlnk = System::baseUrl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']); - $ignlnk = System::baseUrl() . '/suggest?ignore=' . $rr['id']; - $photo_menu = [ - 'profile' => [L10n::t("View Profile"), Contact::magicLink($rr["url"])], - 'follow' => [L10n::t("Connect/Follow"), $connlnk], - 'hide' => [L10n::t('Ignore/Hide'), $ignlnk] - ]; - - $contact_details = Contact::getDetailsByURL($rr["url"], local_user(), $rr); - - $entry = [ - 'url' => Contact::magicLink($rr['url']), - 'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']), - 'img_hover' => $rr['url'], - 'name' => $contact_details['name'], - 'thumb' => proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB), - 'details' => $contact_details['location'], - 'tags' => $contact_details['keywords'], - 'about' => $contact_details['about'], - 'account_type' => Contact::getAccountType($contact_details), - 'ignlnk' => $ignlnk, - 'ignid' => $rr['id'], - 'conntxt' => L10n::t('Connect'), - 'connlnk' => $connlnk, - 'photo_menu' => $photo_menu, - 'ignore' => L10n::t('Ignore/Hide'), - 'network' => ContactSelector::networkToName($rr['network'], $rr['url']), - 'id' => ++$id, - ]; - $entries[] = $entry; + + if (!empty($_GET['ignore'])) { + // can't take arguments in its "action" parameter + // so add any arguments as hidden inputs + $query = explode_querystring(DI::args()->getQueryString()); + $inputs = []; + foreach ($query['args'] as $arg) { + if (strpos($arg, 'confirm=') === false) { + $arg_parts = explode('=', $arg); + $inputs[] = ['name' => $arg_parts[0], 'value' => $arg_parts[1]]; + } + } + + return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ + '$method' => 'post', + '$message' => DI::l10n()->t('Do you really want to delete this suggestion?'), + '$extra_inputs' => $inputs, + '$confirm' => DI::l10n()->t('Yes'), + '$confirm_url' => $query['base'], + '$confirm_name' => 'confirm', + '$cancel' => DI::l10n()->t('Cancel'), + ]); + } + + $id = 0; + $entries = []; + + foreach ($contacts as $contact) { + $entries[] = ModuleContact::getContactTemplateVars($contact, ++$id); } - $tpl = get_markup_template('viewcontact_template.tpl'); + $tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl'); - $o .= replace_macros($tpl,[ - '$title' => L10n::t('Friend Suggestions'), + $o .= Renderer::replaceMacros($tpl,[ + '$title' => DI::l10n()->t('Friend Suggestions'), '$contacts' => $entries, ]);