Categories
DIY

Twitter

Продолжаем социальные эксперименты. В прошлые разы мы, дорогие товарищи, прокатились тяжелым катком по неокрепшему сознанию неойогов. Благодаря этому классному маркетинговому ходу бложик продолжил стремительное пике в направлении дна социальных сетей.

Пользователь Twitter под ником Отец Golem вручную заполнил все 17 179 869 184 ячейки Excel. На это у него ушло два года.

Comment 1: Теперь пусть Word заполнит

Comment 2: Интересно, на что он рассчитывал? Увидеть, как над ним тихо, без шума, одна за другой, будут гаснуть звёзды?

Comment 3: Достиг дна Excel… И тут снизу постучали.

Comment 4: Со следующей вкладки.

https://bash.im/quote/450987

Продолжаем социальные эксперименты. В прошлые разы мы, дорогие товарищи, прокатились тяжелым катком по неокрепшему сознанию неойогов. Благодаря этому классному маркетинговому ходу бложик продолжил стремительное пике в направлении дна социальных сетей.

Ввиду того, что давненько  уже не было ничего технического, сумрачный гений прокуренных закрамов сознания решил выдать следующее: скриптик, который гуляет по фотографиям, а к выбранным фотографиям подставляет описание и набор хештегов.

Полученный результат отправляется прямиком в твиттер.

Picture from PHP To Twitter
Picture from PHP To Twitter

<?php

//this gets a random directory

function get_random_dir($base_dir)

{

$dirs = glob(sprintf('%s/*',$base_dir),GLOB_ONLYDIR);

return empty($dirs) ? null : $dirs[array_rand($dirs)];

}

//set max execution time in case we used all images

ini_set("max_execution_time", "1");

while(empty($img)) {

//get random directory

$randomdir=get_random_dir('/images');

//reformat the directory path using the chosen subfolder

$twittertext=str_replace('/images', '', $randomdir);

//creates structure for folder path

$imagesDir = '/images'.$twittertext.'/';

//gets a random file from that directory and ads to variable

$images = glob($imagesDir . '*.{jpg,jpeg}', GLOB_BRACE);

$file = $images[array_rand($images)]; // See comments

$img=$file;

}

//$config = parse_ini_file('./config.ini');

$photo = basename($img,".jpg");

$title = substr_replace($photo ,"",-3);

function generate_text($title)

{

$tags = '#photo, #khabrakhabr';

$address = 'https://www.khabrakhabr.ru';

$conn = new mysqli($config['servername'],$config['username'],$config['password'],$config['dbname']);

// Check connection

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}

$sql = "SELECT

XXX_tags.alias

FROM XXX_content

INNER JOIN XXX_contentitem_tag_map ON XXX_content.id = XXX_contentitem_tag_map.content_item_id

INNER JOIN XXX_tags ON XXX_tags.id = XXX_contentitem_tag_map.tag_id

where XXX_content.title = '$title'";

$sql2 = "SELECT id,title,catid,

CASE

WHEN catid =15 THEN 'khabrakhabr-story'

WHEN catid = 9 THEN 'khabrakhabr-photo'

WHEN catid = 14 THEN 'khabrakhabr-diy'

ELSE ''

END

FROM `XXX_content`

WHERE XXX_content.title = '$title'";

$result = mysqli_query($conn, $sql);

while($row = mysqli_fetch_array($result))

{

$tag[] = $row[0];

}

$url = mysqli_query($conn, $sql2);

while($row = mysqli_fetch_array($url))

{

$address = 'https://www.khabrakhabr.ru/'.$row[3].'/'.$row[0].'-'.$row[1];

}

$tags = implode(' #',$tag);

print $tags;

print $address;

$text ='#'.$tags.' '.$address;

return $text;

}

$hashtags = generate_text($title);

$txt=$hashtags.' '.$title;

require_once 'twitter.class.php';

$consumerKey='';

$consumerSecret='';

$accessToken='';

$accessTokenSecret='';

$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

try {

$tweet = $twitter->send($txt, $img);

} catch (TwitterException $e) {

echo 'Error: ' . $e->getMessage();

}

?>

Как видит трепетный читатель, скрипт не требует большого ума, вот только авторам этих строк давался он с какой-то непостижимой сложностью. К необработанным проблемам, пока что, стоит отнести то, что требуется настраивать naming convention для того, чтобы на каждую фотографию находилась как минимум одна статья и набор тэгов. Очевидно, что следующими этапами будет покорение других социальных сетей, но в силу того, что нужно иногда прерываться на воспоминания о немодном Интерпрайзе, скоро вас будет ожидать серия совершенно неинтересных, но приносящих хиты статей о SQL запросах, которые смогут помочь страдальцам.

А пока что – картинки

By khabradmin

Зачем это здесь? Почему это здесь? Кто это читает? Автор этого бложека задает себе те же самые вопросы. Ответ прост: потому что. В силу того, что khabradmin причастен к IT, домен пародирует habr.ru. В силу того, что автор много фотографирует, контент совершенно иного свойства. Суть писанины в том, что хочется писать. А вот писать в соц. сетях утомительно и глупо, поэтому комментариев тут нет. Приятного чтения, если получится