\documentclass{article}

%\let\oldpageref\pageref
\usepackage[english,german]{babel}
%\let\pageref\oldpageref

\usepackage[
		shortlop,
		under,
	%	side,
	%	top,
	%	center,
	%	bottom,
	]{photo}
\oecaptionsep	2mm

\usepackage{vmargin}
\setmargins{30mm}{15mm}{150mm}{250mm}{10pt}{5mm}{}{10mm}
\columnsep	5mm

\parindent	0em
\parskip	3ex

\fboxsep	0mm
\fboxrule	1pt

\newcommand\captext{
abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc 
}
\newcommand\capt{
abc abc abc abc abc abc abc 
}
\newcommand\ph[1]{%
	%\fbox{\parbox{#1}{\rule[-0mm]{0mm}{0mm}}}%
	\fbox{\parbox{#1}{\leavevmode Mg\vrule width 0mm height 05mm depth 011mm}}%
}


\begin{document}

\rule{\textwidth}{2mm}

\listofphotos

\newpage
\rule{\textwidth}{1mm}

\putphoto[l]{label1}{grapher}{\ph{0.8\textwidth}}{placement left. \captext}

\putphoto[r]{label2}{grapher}{\ph{0.8\textwidth}}{placement right. \captext}

\putphoto[i]{}{photographer}{\ph{0.8\textwidth}}{placement inside. \captext}

\putphoto[o]{}{photographer}{\ph{0.8\textwidth}}{placement outside. \captext}

\putphoto[o]{}{photographer}{\ph{0.8\textwidth}}{placement outside. \capt}

\newpage
\rule{\textwidth}{1mm}

\putphoto[ot]{}{photographer}{\ph{70mm}}{placement outside. t caption. \capt}

\putphoto[oc]{}{photographer}{\ph{70mm}}{placement outside. c caption. \capt}

\putphoto[oc]{}{photographer}{\ph{70mm}}{placement outside. short c caption.}

\putphoto[ob]{}{photographer}{\ph{70mm}}{placement outside. b caption. \capt}

\putphoto[itu]{}{photographer}{\ph{70mm}}{placement inside. t caption. u. \capt}

\putphoto[icu]{}{photographer}{\ph{70mm}}{placement inside. c caption. u. \capt}

\putphoto[icu]{}{photographer}{\ph{70mm}}{inside. short c caption. u.}

\putphoto[ibu]{}{photographer}{\ph{70mm}}{placement inside. b caption. u. \capt}

\newpage
\rule{\textwidth}{1mm}

\putphoto[lst]{}{photographer}{\ph{70mm}}{photo l. t caption. taker s. \capt}

\putphoto[lsc]{}{photographer}{\ph{70mm}}{photo l. c caption. taker s. \capt}

\putphoto[lsc]{}{photographer}{\ph{70mm}}{photo l. c caption. taker s.}

\putphoto[lsb]{}{photographer}{\ph{70mm}}{photo l. b caption. taker s. \capt
\label{ph:photo}}

\putphoto[rst]{}{photographer}{\ph{70mm}}{photo r. t caption. taker s. \capt}

\putphoto[rsc]{}{photographer}{\ph{70mm}}{photo r. c caption. taker s. \capt}

\putphoto[rsc]{}{photographer}{\ph{70mm}}{photo r. c caption. taker s.}

\putphoto[rsb]{}{photographer}{\ph{70mm}}{photo r. b caption. taker s. \capt}

\newpage
\rule{\textwidth}{1mm}

\putphoto{}{photographer}{\ph{70mm}}{defaults.}

\putphoto{}{photographer}{\ph{70mm}}[lop caption]{lop cap, defaults.}

%\clearpage  % will start a new page and put floats there
\defaultphotoplacement{hb}   % will put floats "here"
% everything else will mix up order of floats with fixed placements!!

\begin{Photo}[i]{}{phogr}{Photo environment. i. caption for this.}
\ph{70mm}
\end{Photo}

\begin{Photo}[i]{}{phogr}[Photo env lop cap]{Photo environment. i. caption.}
\ph{70mm}
\end{Photo}

\putphoto{}{photographer}{\ph{70mm}}{defaults again.}

\vspace{10mm}

Testing cross-referencing:
This is lower-case \phref{ph:photo}, and upper-case: \Phref{ph:photo}.

\end{document}
