  We study a general preferential attachment and Polya's urn model. At each
step a new vertex is introduced, which can be connected to at most one existing
vertex. If it is disconnected, it becomes a pioneer vertex. Given that it is
not disconnected, it joins an existing pioneer vertex with probability
proportional to a function of the degree of that vertex. This function is
allowed to be vertex-dependent, and is called the reinforcement function. We
prove that there can be at most three phases in this model, depending on the
behavior of the reinforcement function. Consider the set whose elements are the
vertices with cardinality tending a.s. to infinity. We prove that this set
either is empty, or it has exactly one element, or it contains all the pioneer
vertices. Moreover, we describe the phase transition in the case where the
reinforcement function is the same for all vertices. Our results are general,
and in particular we are not assuming monotonicity of the reinforcement
function. Finally, consider the regime where exactly one vertex has a degree
diverging to infinity. We give a lower bound for the probability that a given
vertex ends up being the leading one, that is, its degree diverges to infinity.
Our proofs rely on a generalization of the Rubin construction given for
edge-reinforced random walks, and on a Brownian motion embedding.
