рдПрдХреНрд╕рдПрдордПрд▓-рдЖрд░рдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЗрд╡рдЬрд░реНрдирд▓ рдореЗрдВ рдСрдЯреЛ-рдлрд┐рд▓реНрдЯрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ LiveJournal рдореЗрдВ рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML-RPC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рд╣рдЯрд╛ рднреА рджреВрдВрдЧрд╛ред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрд▓рдЬреЗ рдирд╡рд▓рдиреА рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдереА, рдЬрд╣рд╛рдВ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдмреЙрдЯ рд╣рдЬрд╛рд░реЛрдВ рдореЗрдВ рдПрдХ рд╣реА рд╕рдВрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЙрдирдХреА рдмрд╛рдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ (рдФрд░ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмреЛрд▓рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреА рдЦреЛрдЬ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред

Livejournal рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдбреА ( jitemid ) рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдкрддреНрд░рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдСрдЯреЛ-рдЗрдиреНрдХреНрд░рд┐рдореЗрдВрдЯрд┐рдВрдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реАрдзреЗ рд░рд┐рдХреЙрд░реНрдб URL рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, ditemid рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрди рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ:

ditemid = 256 * jitemid + anum

рдпрд╣рд╛рдБ рдУрдореН 0 рд╕реЗ 255 рддрдХ рдХреА рд░реИрдВрдбрдо рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмрд╛рд░ рдкреЛрд╕реНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред

рд╡рд╣реА рддрдХрдиреАрдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЙрдирдХреА рдЕрдкрдиреА рдЧреБрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯ рд╕реЗ рд▓реА рдЧрдИ рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдкреНрдкрдгреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ jtalkid рдФрд░ dtalkid рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

LJ рдХреЗ рд▓рд┐рдП XML-RPC рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ ред рдЧреЗрдЯрд╡реЗрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рд╣рдо рд▓реЙрдЧ рдореЗрдВ рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореИрдВ рдЕрдВрддрд┐рдо рдПрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд▓реЗрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЪрдпрди = lastn рдФрд░ howmany = n)ред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдЖрдЗрдЯрдорд┐рдб (= рдЬреАрдЯрдорд┐рдб) рдФрд░ рдПрдирдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗред Reply_count рднреА рдкреНрд░реЗрд╖рд┐рдд рд╣реИ - рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд╡реИрд╕реЗ, userjournal рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ , рдЖрдк рдХрд┐рд╕реА рднреА рдкрддреНрд░рд┐рдХрд╛ (рдпрджрд┐ рдЖрдк рдорд┐рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╕рд╣рд┐рдд) рд╕реЗ рдЙрдкрд▓рдмреНрдз рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рд╕реАрдзреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдЪреВрддрдбрд╝ рдЗрдВрддрдЬрд╝рд╛рд░ рдореЗрдВ рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВрдбрд▓рд░ рдХреЛрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ (рдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕реНрд░реЛрдд рдкрдврд╝реЗрдВ)! рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рд╣реИрдВ:

my %HANDLERS = (
login => \&login,
getfriendgroups => \&getfriendgroups,
getfriends => \&getfriends,
friendof => \&friendof,
checkfriends => \&checkfriends,
getdaycounts => \&getdaycounts,
postevent => \&postevent,
editevent => \&editevent,
syncitems => \&syncitems,
getevents => \&getevents,
editfriends => \&editfriends,
editfriendgroups => \&editfriendgroups,
consolecommand => \&consolecommand,
getchallenge => \&getchallenge,
sessiongenerate => \&sessiongenerate,
sessionexpire => \&sessionexpire,
getusertags => \&getusertags,
getfriendspage => \&getfriendspage,
getinbox => \&getinbox,
sendmessage => \&sendmessage,
setmessageread => \&setmessageread,
addcomment => \&addcomment,
checksession => \&checksession,
getrecentcomments => \&getrecentcomments,
getcomments => \&getcomments,
delcomments => \&delcomments,
screencomments => \&screencomments,
unscreencomments => \&unscreencomments,
freezecomments => \&unfreezecomments,
editcomment => \&editcomment,
);

Getcomments рдФрд░ delcomments рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

Getcomments рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрд┐рд╕реА рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрддреЗ рд╣реИрдВ: ditemid (рд╣рдорд╛рд░реЗ рдкреЛрд╕реНрдЯ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛), рдкрддреНрд░рд┐рдХрд╛ (рдпрд╣ рдкреЛрд╕реНрдЯ рдЬрд┐рд╕рдореЗрдВ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреМрд╕реЗрдирд╛), рдкреГрд╖реНрда (рдЯрд┐рдкреНрдкрдгреА рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛)ред рдпрджрд┐ рд╣рдо рдереНрд░реЗрдбреНрд╕ рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ Expand_strategy = mobile_thread рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЧреЗрдЯрд╡реЗ рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдХреЛрдИ рднреА рдЯрд┐рдкреНрдкрдгреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реНрддрд░ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЙрддреНрддрд░ рд╣реИрдВ, рддреЛ рд╡реЗ рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВред

рдлрд┐рд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдкреГрд╖реНрдареЛрдВ рдкрд░ - рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдФрд░ рдЙрдирдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рд╕реНрдЯреЙрдк рд╢рдмреНрдж рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд▓реЗрдЦрдХ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреА рддрд╛рд░реАрдЦ рддрдХ рдХреБрдЫ рднреА рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред рд╣рдо рдЪрдпрдирд┐рдд dtalkid рдХреЛ delcomments рд╡рд┐рдзрд┐ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ (рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдкрдХреЛ рд╕рдВрдкреВрд░реНрдг рдереНрд░реЗрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)ред рджреЗрдЦрд╛! рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдкрддреНрд░рд┐рдХрд╛ рд╣реИ!

PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ GitHub рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдореИрдВ рдЗрд╕ рдФрд░ рдЗрд╕ рдмрд╣реБрдореВрд▓реНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХреЛрдВ рдХрд╛ рдЖрднрд╛рд░реА рд╣реВрдВред

Source: https://habr.com/ru/post/In114385/


All Articles